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.)