12 July 2021

Directory Opus 12.24.2 (Beta)

Directory Opus 12.24.2 (beta) is now available for all Opus 12 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.


Changes since 12.24.1:

  • Copying NTFS ADS out of Collections should work now. Also fixed the same issue when copying out of Libraries.
  • Scripting Vector.assign and append methods now work with JScript arrays as documented.
  • Added the FileType FILECONTEXT argument, which lets you create a toolbar button for a file where left-clicking opens/runs the file and right-clicking shows the file's context menu.
  • Go FOLDERCONTENT=copytosource and similar can use the new COPYARGS argument to specify additional arguments which are passed to each of the generated copy/move buttons.
  • Fix for issue introduce in previous beta where a Copy command which specified a file path (rather than working on the selected items as normal) would remove the file extension from the destination file if extensions were hidden in File Explorer.

9 July 2021

Directory Opus 12.24.1 (Beta)

Directory Opus 12.24.1 (beta) is now available for all Opus 12 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.


Changes since 12.24:

  • Added help messages to the viewer pane when a PDF or Microsoft Office document fails to load due to missing or broken third-party viewers.
  • Added workarounds to help find a PDF preview handler when one is installed but the file type has been broken by different software fighting over it.
  • For .DOC files which don't start with the MS Word header (e.g. plain-text README.DOC files common on other platforms), the viewer pane will now avoid trying to load them via MS Word (which works if Word is installed, but will now result in an error message if Word isn't installed). The simple text plugin can handle them instead.
  • The Go FOLDERCONTENT command, which generates buttons or menus for items below a specified folder, has new modes which copy the clicked files into the current (copytosource), destination (copytodest), left (copytoleft) or right (copytoleft) file displays.

    This might be useful if you have a folder of template files or folders you need to copy to different places as you move around. To update the list of items, you would just need to add or remove things (or softlinks to them) to the folder.
  • Added some new filename passing codes that deal with drive letters and labels:
    • "notermdrive" is like "noterm", but also suppresses the backslash at the end of a drive root.
    • "driveletter" returns just the single-character letter of the drive at the start of the path.
    • "drivelabel" returns the label for the drive at the start of the path.

  • You can now use Ctrl+Insert and Shift+Insert as alternative hotkeys for Ctrl+C and Ctrl+V in the file display, without causing problems when trying to use them in places like the Find Files panel.

    New configs include the alternative hotkeys by default for the lister and standalone viewer. Existing configs are unaffected, but you can modify the Edit > Copy and Paste menu items or reset the Menu toolbar to factory defaults to add the alternative hotkeys to old configs. Ctrl+C and Ctrl+V continue to work as before, of course.
  • Ctrl+Backspace and Ctrl+Delete now work in more places (e.g. the "Clipboard PASTE AS=ask" dialog's filename field).
  • Since Go OPENCONTAINER NEWTAB implicitly acts as if NEWTAB=findexisting was requested, there is now a NEWTAB=nofindexisting to make it always open a new tab, even if one already exists for the folder.
  • Added support for tools which write EXIF GPS data in an unusual way, where the Minutes and Seconds are both zero and all the information is packed into the Degrees part.
  • The Folder Tree's Favorites branch now ignores label filters, since they could cause problems with FTP sites. (Explicit labels and wildcard labels still work.)
  • Opus now prevents unintentional drag & drop when toolbars turn on or off in response to activating the left or right file display with the mouse.

    (For example, toolbars configured to appear in certain modes or folders can cause the window to rearrange when clicking the inactive side of a dual file display. This can change the mouse position relative to the file display, which looked like a drag & drop if the mouse button was down.)
  • When invoking third-party context menu handlers, the optional menu/mouse position data is now passed through in most contexts.
  • Fixed {md5sum} in renames inserting nothing for files larger than max_md5_file_size. There is no size limited again when calculating hashes for renaming.
  • Fixed an issue which sometimes caused a window frame to flash on the screen when opening other windows in the program. Unlikely to have been seen unless window animations were turned off in the OS.
  • Fixed an issue which meant change notifications which arrived with short paths were sometimes mis-processed.
  • Fixed problem which stopped NTFS ADS being copied when copying out of a Collection.
  • Fixed thumbnail mode resetting the scroll position if you filtered the display, cleared the filter, scrolled down with the mouse wheel (without giving the display focus), and then clicked a file.
  • If lister resize grips are on and the Jobs Bar is at the bottom of the window, the grip is now hidden when the lister is maximized.


  • Item.display_name is now set to the same value as Item.name when the file or folder has no distinct display name. Previously, display_name would be blank in that situation and scripts required extra logic to make use of it.
  • Fixed Item.display_name not populating when script column handlers were called (and possibly in some other situations).
  • FSUtil.GetTempFile now returns a File object which works for both reading and writing. (Previously, the object was write-only and you'd have to open the file again if you needed to read back what you wrote. Opening the file twice may still be preferable if you need independent read and write positions.)
  • FSUtil.OpenFile now supports reading and writing the same on-disk file from a single object if "rw" mode is specified.
  • FSUtil.OpenFile and FSUtil.GetTempFile both have a new "p" flag which permits deletion of the file by other things while it is open. This also enables files to be opened when they are already flagged for deletion by something else, such as another File object in delete-on-close mode.

  • When File.Read fails, it now returns zero and ensures the Blob object is zero length. Previously, you had to check the File.Error value to know if the call failed.
  • Documented the fact File.Read and File.Write can process at most 1GB at a time, and must be called more than once to read or write larger amounts.
  • Improved documentation of FSUtil.
  • DOpus.Create.Date(...) now parses milliseconds if they are included. For example, '20010203 12:34:56.789'.
  • Fixed script resources not being found in files with Unix-style line endings.