25 July 2014

Directory Opus 11.5.3 (Beta)

Directory Opus 11.5.3 (beta) is now available for all Opus 11 users.

This is a preliminary, beta release. Translations may not be fully up-to-date and some English text may appear in non-English versions.

32-bit version:    Universal    Deutsch
64-bit version:    Universal    Deutsch


  • Scripting changes:
    • Script columns can now add "star" columns (like the built-in Rating column) by setting ScriptColumn.type = "stars". The value provided for each file should be "x" or "x/y". The maxstars property can also be used to set the maximum number of stars.
    • When not using auto-grouping with a script column, the group_type field now lets the provided groups be formatted the same way as column values.
    • Script columns can now set themselves to reverse sort by default with the defsort property. Date and size fields get this by default.
    • The FolderEnum script object now has a Close method that lets you free the underlying handle without waiting for garbage collection to clean it up.
  • The date created/date modified fields in the metadata pane (and via the SetAttr META command) can now copy their value from other date fields, like the EXIF date fields already could.
  • Added Delete before copy option to the Synchronize tool.
  • Inline rename now supports Ctrl-' and Ctrl-; to copy the name from the previous/next file in the list. Hold Shift to also copy the extension.
  • Added the Use temporary folder when copying to Zip files on removable drives option to Zip files Preferences.
  • The Create Multiple Folders field now lets you select multiple folders in a file display (including the Windows desktop, Explorer, etc.) and Ctrl-C them into the clipboard, then paste into the dialog to get their names, one per line. The field also now trims quotes and spaces from paths pasted into it, including multi-line text.
  • Improved the recovery on retry for errors resulting from a drive or network becoming temporarily unavailable during file copy (e.g. if you're copying to or from a USB drive, and remove and then reinsert the drive, Opus should now be able to either resume (when copying from) or restart (when copying to) the operation).
  • A Copy HERE command launched via a filetype action would ignore the HERE argument if there was a destination folder.
  • Possible performance improvement for MTP support.
  • The Clipboard PASTE command will now succeed if a full path is specified with the AS argument even if the current folder doesn't support pasting (e.g. a file collection).
  • If a button launched two or more copy commands asynchronously (via dopusrt) that were both set to use the same named queue, Opus would create one queue for each job and run them immediately instead of queuing the second and subsequent ones.
  • If "descript.ion" comments are enabled, Opus will now show those comments for structured-storage files (e.g. MSI files) in preference to comments from the file itself.
  • Made some improvements to try to make the Image Convert function not lose the focus from files it modifies.
  • Fixed error that could prevent the Author/Copyright/Software tags being saved properly in a PNG file (would happen if the PNG file already had those tags provided in a tEXt chunk).
  • A three-button button that relies on files being selected could incorrectly appear enabled without files selected if the second or subsequent functions used @keydown conditions that weren't currently met.
  • When dragging an MP3 file onto another one in the metadata pane, some fields weren't correctly copied over. Also dragging a file from a library onto another file in the metadata pane now works correctly.
  • Fixed a couple of cosmetic issues with transition animations and DPI virtualisation under Windows 8.1.
  • Fix for not showing context menu items added to the registry under a file extension instead of a file class, when there is no file class. (If there is a file class, menu items registered in this way are still ignored, which is what Explorer also does.).
  • When the Resize Lister to display the jobs bar (if possible) option is on and jobs bar closes the Lister was not resized back to its original size if the Lister had been minimized after opening the jobs bar.
  • If the Show command was run in an empty folder the busy cursor would be left visible indefinitely.
  • The Folder Options dialog would use the wrong string for script columns in some cases.
  • Fixed crash triggered by selecting a shortcut to a non-file object (e.g. a control panel) with the viewer pane open and the Show shell icons option enabled.

18 July 2014

Directory Opus 11.5.2 (Beta)

Directory Opus 11.5.2 (beta) is now available for all Opus 11 users.

This is a preliminary, beta release. Translations may not be fully up-to-date and some English text may appear in non-English versions.

32-bit version:    Universal    Deutsch
64-bit version:    Universal    Deutsch


  • Scripting changes:
    • Added the ScriptColumn.grouporder property to allow scripts to control a column's group order.
    • Script column handlers can now return the data for multiple columns simultaneously if desired, by setting the ScriptColumn.multicol property.
    • Script columns can now specify a different string for the column header to the label shown in column lists (via ScriptColumn.header).
    • Script columns can now set the ScriptColumn.namerefresh flag if they want to be refreshed when the name of a file changes (as opposed to its contents, which is what autorefresh does).
    • Script date/time columns are now properly justified like other date/time columns are, and now group like other date fields.
    • Script date/time columns no longer display a default date if the column is left empty.
    • Script columns would occasionally show a very quick flash of 0 before they were populated.
    • The Dialog object would always include a string field even if the user had not requested it.
    • Script columns can now be added to the Computer view.
    • Added a new Date object that provides an alternate way to handle dates and times. It converts automatically to VT_DATE and so should act as a drop-in replacement. The Item object now returns Date objects for its various date fields rather than VT_DATE. The DOpus.NewDate method can be used to create a new Date object.
    • The FileSize object has new Add, Sub, Compare and Clone methods.
  • Added the Set HIDEEXT and Set AUTOSIZE commands to allow control of the Hide file extensions and Autosize Columns options.
  • Drop-down menus that show lists of columns now divide script columns into sub-menus based on the script they came from (for scripts that add more than one column).
  • The Set SORTBY command now lets you sort on multiple columns where one or more come from a script.
  • Set COLUMNSTOGGLE and similar commands did not support setting the position/width of a script column when adding it to the file display.
  • Fixed crash in brainchild (Advanced Function/Script editor) if you did two sequential "search & replace within selection" operations.

11 July 2014

Directory Opus 11.5.1 (Beta)

Directory Opus 11.5.1 (beta) is now available for all Opus 11 users.

This is a preliminary, beta release. Translations may not be fully up-to-date and some English text may appear in non-English versions.

32-bit version:    Universal    Deutsch
64-bit version:    Universal    Deutsch


  • Scripting changes:
    • Script add-ins can now implement custom columns that can be displayed in Details/Power mode, Tiles mode, and Info Tips, and also searched on with the Advanced Find function.
    • Added a new Map object. Maps are similar to a vector or array except they use arbitrary keys (integers, strings, dates, etc) to lookup elements rather than sequential indices.
    • The CLI now saves the script each time you run it. Previously it was only saved when the CLI was closed which meant lost changes if a scripting object caused a crash.
    • The CLI now has a Clear checkbox. If turned on, the output log will be automatically cleared when the script is run.
  • The Viewer Pane and Utility Pane header glyphs now have 1.5x and 2x size versions for people using high DPI displays or large fonts.
  • When a path field on a file display toolbar is against the left or right edge of the file display, the margin is now smaller and consistent with that of the top edge, for improved aesthetics.
  • TIFF images which use Zip or JPEG compression can now be displayed.
  • The viewer pane will now display icons and thumbnails from the shell if nothing else can view them. This overrides the old behaviour of the showing the hex viewer for file types no viewer understands. You can still use the button on the viewer pane's control bar to switch to hex view at will.
    • Added Preferences options for the new viewer pane features: Show shell thumbnails and Show shell icons. Turn both off if you want to revert to the old behaviour.
    • Added Set VIEWPANESHELLICONS and VIEWPANESHELLTHUMBS commands to control the viewer pane's new Show shell thumbnails and Show shell icons settings. (Handy if you want to do some hex viewing for a while, then go back to normal.)
  • Fixed crash that could occur if you switched to dual display by choosing the Duplicate tab on right tab context menu command, and very quickly afterwards, closed the dual display (e.g. by selecting Split to new Lister)
  • When downloading a 64-bit update via the Update Checker, the progress bar would reset to zero and start counting up again near the end of the file. (The download was not affected and the issue was purely cosmetic.)
  • Fixed problem with Advanced Rename that could leave the busy spinner in the New Name column running indefinitely when the dialog first opens.
  • The Computer native view didn't respect the system NoDrives policy.
  • The advanced function editor and script editor controls had incorrect hotkeys listed for their Change Case options.

7 July 2014

Symantec / Norton Scareware Warning

Symantec / Norton Scareware Warning 

It has come to our attention that Symantec and Norton "security" products have begun flagging new releases of Directory Opus as unsafe, simply because they are newly released and haven't yet been downloaded much.

These warnings take the form of a threat labelled as WS.Reputation.1 and are entirely bogus. All Directory Opus installers are digitally signed and guaranteed safe by GP Software.

If you encounter these bogus warnings we strongly recommend you complain to Symantec about their unconscionable behavior in attempting to scare their customers.

Click here for more information / discussion on this issue.

Important: Did you purchase or upgrade Opus between 29/6 and 3/7?

This note is for any Opus users who purchased or upgraded Opus between June 29th and July 3rd, 2014.

On July 2nd the web host we use for our online ordering system suffered a hardware failure, and despite their promise of "backups every three hours" some of the data from this period appear to have been corrupted.

We have a list of receipt numbers and the amounts paid but the database that keeps track of registrations has been reverted to its prior state as on June 29th. This means that if you purchased Opus, upgraded it or added optional features between these dates, we may not have a record of your transaction.

If you believe you may be affected by this, please contact sales@gpsoft.com.au with details of your purchase.

We apologise for any inconvenience this may cause!

4 July 2014

Directory Opus 11.5

Directory Opus 11.5 is now available as a free update for all Directory Opus 11 users.

This is a stable release containing the changes from the 11.4.x beta versions.


32-bit version:    Universal    Deutsch    简化字
64-bit version:    Universal    Deutsch    简化字

General Changes:

  • Added Select SHOWFOCUS command, to make the focus item visible without modifying the selection
  • The "Set LISTERTITLE" command normally acts as a toggle, if the title which is already set is specified again. You can now prefix the title with "notoggle:" to prevent this, as will be useful in event-driven scripts.
  • The slide show speed can now be set to 0 which means "as fast as possible".
  • Filters can now be used to stop operations proceeding through junctions and soft links to folders. When filtering, the Subfolder clause can now contain a Type clause, which can be used to match "[Junctions/Links/Shortcuts]". The Type clause was always able to match those things, you just could not use it inside of Subfolder until now.
  • Fixed Opus archives context menu's "cascade" option sometimes causing the menu (or sometimes other items) to not appear in Explorer.
  • Added .m4a to the default Music filetype group.
  • You can now close multiple tabs quickly by clicking them with the middle mouse button. Previously, if you clicked fast enough to register as a double-click then every second click was ignored.
  • Copying using Non-buffered I/O is now disabled by default due to compatibility issues with certain devices. This will affect system cache memory usage while copying and may also affect copy speed (although it can be both better or worse, depending on your system, and probably won't make a huge difference to speed either way). If you wish to go back to how things were in the previous release, simply go to Preferences / Miscellaneous / Advanced and set copy_nonbufferio_threshold to 1 MB.
  • Possible fix for crash during startup if network shares were being created simultaneously.
  • Fix for RAR support not working on some machines unless the new RAR 5 (UnRar.dll) support was disabled.
  • Fixed crash which could occur when opening or flicking through several folder tabs pointing to junctions if the timing was just right.
  • Fixed folder tree mouse events (other than normal left-click) on folders below Libraries. For example, the default middle-click event to open a new tab would open the parent folder in a new tab, not the folder you clicked on.
  • The Text viewer plugin now blocks going into full-screen mode, since it isn't very useful for that plugin and it isn't obvious how to exit from it.
  • Fixed movie plugin (and possibly others) not re-loading the current file if it came from a Library and the viewer pane's "Full Screen" button was clicked.
  • Fixed automatic copy queue functionality when copying to drives mounted only as folders on other drives, without drive letters.
  • Fixed file displays not updating automatically in recent versions when below drives which were only mounted via folders on other drives and were not assigned drive letters.
  • Fixed Find panel not correctly displaying filter names when they contained ampersand characters.
  • Fixed right-clicking and then choosing Rename on a partially-visible item at the top of the file display causing inline rename to begin with the wrong file in focus.
  • Fix for progress dialogs not hiding correctly in response to the using Win + Down Arrow hotkey in some situations.
  • Things like @ifset:common (and similar with @ifpath and @ifexists) now work if you put a space after the ":" or before the end of the line.
  • Fixed "SetAttr META gpslatitude:50.123" and similar not working with coordinates which did not explicitly specify a hemisphere (e.g. 50.123N worked but 50.123 on its own did not).
  • Fixed folder tree not updating for changes below drives which mounted as folders on other drives without drive letters of their own.
  • File Display Toolbar/Border glyphs now have 1.5x and 2x size versions for people using high DPI displays or large fonts.
  • Toolbar button rows with labels above or below icons, and varying icon sizes, now center icons in the available height and ensure the labels line up.
  • The location bar now handles pasted path strings that contain unwanted newline characters.
  • The file display will now preserve the focus item (if possible) and scroll to make it visible when toggling flat view on or off (or through the various modes).
  • In the Advanced Rename dialog, text editor hotkeys now get priority when the text editor has the focus. (For example, Ctrl+L now works to toggle line numbers when the text editor has focus, and prompts if you wish to delete the current rename preset as before when it doesn't.)
  • Possible fix for submitted crash dump.
  • Copying without a destination window now updates the recent folder list with the destination folder you choose when prompted, even if the Favorites and Recent / Recent List / Ignore filesystem folders that are only transited Preferences option is off.
  • Improved placement of breadcrumbs pop-up menus when there isn't room for them in their usual bottom-right position.

Command & Script Editor Changes:

  • Now support Shift-Del / Ctrl-Ins / Shift-Ins as aliases for Ctrl-X / Ctrl-C / Ctrl-V.
  • Removed (undocumented) alt-hotkeys, since they clashed with accelerators in dialogs.
  • When converting selected text to upper/lower/inverted case, it now remains selected.
  • If you double-clicked a word to select it, then used shift-left/right, the start of the selection jumped to where you have previously double-clicked instead of where it actually was at the start of the word. This has been fixed.

Scripting Changes:

  • Added the Lister.custom_title property to get the custom title string (if any) as set by the Set LISTERTITLE command - this is distinct from the actual window title.
  • A few FSUtil scripting methods would go wrong if passed the path to a zip file (e.g. Exists("c:\blah.zip") would return False even if the file existed).
  • The ActivateTabData object now has oldtab and newtab properties as well as old and new (because new is a reserved keyword in JScript).
  • The OnBeforeFolderChange and OnAfterFolderChange scripting events weren't triggered if the new path was a virtual folder with no regular path string (e.g. Computer).
  • Fixed problem with collection enumeration in Python.
  • VBScript syntax highlighting now considers ElseIf a keyword.
  • Added missing Dim statement for auto-generated vbscripts that add commands.
  • JScript scripts can now use JScript 5.8 functionality. In particular, this includes built-in support for JSON parsing.
  • Fixed problem with the Vars.Exists method not working in Python scripts.
  • Fixed various layout issues with the script dialog object.
  • When editing JScript and VBScript, the tab width is set to 4 spaces instead of the old 8.
  • Fixed script API not returning metadata for files recognised as archives.
  • Fixed script CLI editor truncating the last character when loading scripts. (Usually went unnoticed unless the last line did not have a return when the script was saved.)
  • Generated script templates were missing the function argument for script commands.
  • Fixed several script parsing issues:
    • External command codes like {allfilepath} were being interpreted within script buttons, with unexpected effects on script behaviour. This may be a breaking change for script buttons which inadvertently depended on the old behaviour, but it's unlikely as the old behaviour was not what anyone would have expected.
    • When parsing script buttons, everything after the @script line (if any) is now assumed to be part of the script. This means if you have other @ directives below the @script line, you need to move them above it. For VBScript buttons, where the @script line is optional, it is now slightly safer to include the line so that the start of the script is explicitly designated.
    • @ifset, @keydown, @ifexists, and similar directives are no longer interpreted within script buttons and the script portions of Standard Function buttons with inline rename scripts. The directives were never intended to be used in script code, and you can and should use scripting logic to do those things within scripts. (This does not affect the Command.IsSet method, which is the proper way to do @ifset tests in scripts, and still works the same as before.)