GP SoftwareTwitter
Opus FAQsManualCommandsObjects

Directory Opus 12.11


Directory Opus 12.11 is now available as a free update for all Directory Opus 12 users.

New versions are made available several days before they will be detected by the update checker. You can download Opus using the links below if you don't want to wait.


Changes since 12.10:

  • The new option Preferences / Display / Options / Visual styles override file selection colors, when turned off, lets you keep the look & feel of visual styles in the file display (the way icons are selected, overlapping borders, item spacing, and the "hot" item under the mouse pointer being highlighted) while retaining the ability to specify selection colors. Useful for dark themes, where the Windows 10 visual style's selection rectangle is barely visible, but also of interest if you want custom colors in general.

  • Added Preferences / File Operations / Inline Rename / Rename all selected files at once option. When enabled you can rename multiple files at once using inline rename in the same way as in Explorer.
  • The Clipboard PASTE=ask command now allows the default name in the dialog to be configured (e.g. Clipboard PASTE USESEL AS=ask:{date|yyyy_MM}_).
  • The Clipboard AS argument now supports path aliases (e.g. Clipboard PASTE AS /dropbox/blah.txt).
  • When pasting text from the clipboard to a file with the Clipboard PASTE command, the text encoding type can now be specified using the enc: parameter. e.g. Clipboard PASTE enc:utf8 to paste in utf-8. The default behaviour is to paste as UTF-16 if the clipboard text is Unicode, otherwise as ANSI.
    • The Clipboard ASK dialog for text now includes a drop-down allowing the encoding type to be chosen.
    • The Preferences / Miscellaneous / Advanced / clipboard_text_encoding option lets the default encoding type be specified.

  • The Rename AUTORENAME (and WHENEXISTS=rename) arguments now work correctly when used in conjunction with RECURSE. Additionally, renames that use these options can now be undone properly.
  • Select ALL and Select NONE now respect the TYPE argument (e.g. Select NONE TYPE=files to deselect all files).
  • Select SOURCETODEST and DESTTOSOURCE now respect the DESELECTOTHERTYPE argument.
  • Lists of Favorites and SmartFavorites on toolbars and menus can now be filtered using a path wildcard, e.g. to include or exclude all paths below a certain drive, using the new FILTER argument for the Favorites command.
  • The Advanced Find / Filter control can now search Movie fields.
  • When creating a new folder tab group via Preferences, the auto-generated group name is now selected when the dialog opens, so you can type over it more easily.
  • When editing a tab group in Preferences, you can now add multiple folders/tabs at once, and it is now possible to select archives.
  • More dialogs for choosing default paths, folder tab group paths, and so on, now let you select archives and Recycle Bin in addition to normal folders. Similarly, dialogs for adding aliases, favorites and jumplist items now let you pick archives.
  • The Preferences dialog for editing a Folder Tab Group now allows you to drag & drop folders into the list to add new tabs for them.
  • When pasting clipboard images as files using Clipboard PASTE AS, the image file extension no longer replaces the last part of the filename if it the supplied name includes a dot.
  • The toolbar Selected and Toggled colors are now always used if they are defined. Previously, they would only be used if visual styles were disabled (e.g. by specifying a light Text color).
  • When a new Lister is created with the Go NEW command and a view mode is specified using the VIEW argument, any toolbars for that view are now turned on.
  • In a WSL function the paths passed on the command line using {allfilepath} are now converted to WSL-format paths.
  • Fixed layouts saved with the Format Lock turned on applying the active folder tab's format to every other tab.
  • The Archives plugin now works with paths longer than 260 characters. (Zip already worked, as it is not handled by the plugin.)
  • Fixed a bug which prevented viewer plugins from handling files with very long paths when short filenames were disabled in the filesystem.
  • The preview at the bottom of Preferences / Folder Tabs / Tab Groups is now rendered better in high DPI.
  • The preview at the bottom of Preferences / Folder Tabs / Tab Groups no longer allows the label and icon of the last (visible) tab on the left to draw into the area for tabs on the right. (Easiest to see if you had a dual-side tab group which didn't define any tabs on the right, but could also happen if the last tab name was long on the left and the right only had one tab with a short name.)
  • Fixed Preferences / Jump List bug where if you added and then removed a custom folder path without closing the window, it wasn't actually removed.
  • Fixed Preferences / Jump List inconsistency with how paths were displayed between adding a path (filenames only and incorrectly doubled ampersands) and re-opening the dialog (full paths).
  • Fixed problem which could cause F1 help to open two browser tabs in some cases.
  • Opus now tries to detect when the http help server is blocked (by e.g. a browser extension or local firewall) and displays a message, offering to switch back to the CHM help.
  • Fixed problem with status icon on Preferences / Favorites and Recent / Labels not redrawing on resize.
  • If you drag a file in one of the icon modes and cancel the drag by pressing the right button the context menu is no longer displayed.
  • Fixed changing the Display Filter Bar setting only turning the bar on or off in folder tabs which were active at the time.
  • Fixed problem with view-mode specific toolbars not working correctly in a Lister that was saved with several tabs in different view modes.
  • Fixed problem with tabs that could occur if clicking a tab resulted in a view mode change which then triggered toolbars to be hidden or shown. The tab could think it was being dragged around and "randomly" change position.
  • Fixed a couple of rendering issues in Details+Thumbnails mode when FlatView-Grouped turned on.
  • Inline rename now works on items in subfolders on the desktop when the desktop is put into FlatView mode.
  • The standalone viewer wasn't saving the widths of the metadata and mark panes with DPI information (so their sizes would appear changed if the DPI changed).
  • When dragging a tab out to create a new Lister, the preview image would appear on the wrong monitor if the desktop didn't start at 0,0.
  • Fixed minor rendering issue in details mode with "full width of the name column" selection and a totally hidden collapse column following the name column.
  • Image Convert in a zip file now works properly when the "Use temporary file when copying to Zip files" option is turned on.
  • When dragging a file from a zip file over Microsoft Edge, Opus no longer displays a progress dialog that never goes away.
  • If a file collection has a label applied to it the colors are now shown in the folder tree.
  • Fixed problem with rename scripts that could cause custom rename fields to disappear as the preview list is scrolled.

  • If the OneDrive "Files on Demand" feature is turned off Opus no longer displays sync status icons in the Status column (since these aren't meaningful when that feature is disabled).
  • Label filters that use file metadata (e.g. image dimensions) no longer trigger offline files (e.g. in OneDrive) to be downloaded.
  • Fixed a problem with Rename Regular Expression + Find and Replace mode when replacing with an empty string (if the Find pattern was found at the beginning of the name, a tilde would be incorrectly inserted).
  • Fixed the Rename dialog's Clipboard button not repositioning correctly after loading a preset which added custom fields to the dialog.
  • Fixed the option to make the Lister close button only close the active tab not working if the Lister was maximized and you clicked the very top edge of the button.
  • .CBR comic book archives compressed with RAR5 now work if you have disabled unrar.dll and are using 7z.dll to handle RAR archives. (They already worked in the default configuration which uses unrar.dll.)
  • Comic Book archive thumbnails now work for archives which have all the images in (sub-)sub-folders and have extra non-image files or "__MACOSX" folders at the top-level.
  • Fixed label filters which use script columns not working after a restart.
  • Fixed buttons using codes like @disableifpath not updating properly if on toolbars which did not contain buttons that ran certain other types of commands.
  • Added an error message during launch if Opus detects it is unable to update its configuration files.
  • At various times Opus checks to see if windows it is about to open fit on the screen (and if not it adjusts their position so they do). When doing this it now takes into account the dimensions of the "shadow border" that the DWM places around windows. For example, a layout saved with a window at coordinates 0,0 would have a real left edge of -11 due to this shadow border. This is now taken into consideration when deciding whether a window needs to be moved or not.

  • Fixed cosmetic issue if toolbar borders were turned on, but both highlight and shadow set to transparent.
  • Toggling the Use visual styles to draw items option would only update active tabs, and now updates inactive ones as well.
  • When a file in a OneDrive folder is changed from offline only to always keep on this device (or vice versa) it no longer triggers a reload of the file's metadata.
  • Fixed the > command history pop-up getting confused if you deleted an item with Shift+Del.
  • Command codes like {filepath} now correctly resolve multiple levels of non-real files if needed. For example, a file in a zip archive inside a library will now be extracted from the archive before being passed to the external program. Previously, the library path would have been resolved but the archive path would then have been given to the external program which almost always wouldn't work.
  • Favorite folders that are configured to use a folder alias now display the correct icon in the folder tree.
  • Creating multiple level folders didn't work properly on an OSX SAMBA share.
  • The Folder Aliases page in Preferences no longer allows aliases to be created with a slash in their name.


  • In scripting, improved the ability of FSUtils.ReadDir to deal with links and junctions:
    • The old boolean arguments for ReadDir relating to recursion and shell have been deprecated and replaced with a string consisting of optional flags. Flags are:

      • r - recurse
      • s - use shell
      • l - skip links/junctions when recursing

    • For example, ReadDir("c:\", "rl") will recursively read C:\ but will not recurse into any softlinks / junctions encountered.
    • The Item object has new is_reparse, is_junction and is_symlink properties.
    • The Item.size property should now be correctly filled in for symlinks in all cases.
  • Added property allowing a script dialog to be made a top-level window.
  • Added TabGroups, TabGroup, TabGroupTabList and TabGroupTabEntry script objects to query and manipulate tab groups.
  • Added OnFileOperationComplete script event, which lets scripts register to be notified whenever particular file operations are complete. Currently only the Rename command supports this event.
  • Scripts can now see if an Item from a Tab has the focus by testing the Item.focus property.
  • Scripts can now call Tab.GetFocusItem to get the Item which currently has focus in a folder tab.
  • Added DOpus.LoadImage and Script.LoadImage methods which allow external image files and icons to be loaded by a script. Script.LoadImage can also load an image from a script package when it's placed inside a sub-directory called images. These methods both return an Image object, which can be displayed by a static control in a script dialog by assigning it to the label property of the Control object. An Image object loaded from a .ico file can also be used as the icon for a script dialog by assigning it to the icon property of the Dialog object.
  • Fixed a crash when enumerating the contents of a library from a script using FSUtil.ReadDir.
  • Added Path.Split method which returns a Vector of the components (or a specified range thereof) in the path.
  • Path.Add and Path.Set now accept a Vector of strings as their argument.
  • Added Path.ReplaceStart method which allows the beginning of a path to be replaced.
  • The property can now be modified to change a path's drive letter while leaving the rest of the path intact.
  • Fixed a problem with the script Command object incorrectly deselecting files in some situations.
  • The StringSet.assign method was documented as accepting a Vector parameter but this did not work; it now does.
  • The Control.MoveItem method did not work correctly when moving items up from their existing positions.

Can't download DOpus 12.11 update