17 September 2018

Directory Opus 12.9.4 (Beta)

Directory Opus 12.9.4 (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.


Additional change:

We have re-uploaded 12.9.4 beta with an additional change, to get it out faster:
  • Fix for problem introduced in 12.9.3 beta where Explorer Replacement opened File Explorer instead of Directory Opus if Opus was not already running.

    For the fix to take effect, after installing the update you need to do something which saves the main configuration file (e.g. open Preferences, change an option, then click OK and wait a few seconds).


  • The background and glyph colors of the breadcrumbs path field, search field, filter field and filter bar controls can now be configured under Preferences / Display / Colors and Fonts / Toolbar and menu defaults.
  • If you hide the media duration parts of the status bar using a variable, the duration will no longer be calculated (unless something else still triggers it). If you then toggle the variable to make the duration parts show again, the duration will be calculated immediately (if it hasn't been already).
  • Status bar {var:...} codes can now negate the variable using {var:!...}.
  • The distance the mouse has to move before a drag & drop begins is now DPI scaled. (The base value still comes from the registry, via the GetSystemMetrics API, and can be changed under HKCU\Control Panel\Desktop\DragWidth and DragHeight. Note that most other software does not DPI-scale it, but we believe this is incorrect as the default has remained at 4 pixels since long before Windows supported high DPI.) Similarly, the bounding box the mouse must stay in between clicks to register a double-click is scaled as well.

If you downloaded the previous beta right after its initial release, these changes are also new:
  • Fixed crash when loading raw photo previews.
  • Infotip {foldercontents} has new parameters: SingleLine makes it show files and folders on a single line (each) instead of one line per item. MaxItems limits the number of items within each category (up to a hard maximum of 20). MaxItemLength limits the length of each item (up to a hard maximum of 260). Indent lets you change the indentation before each item in multi-line mode (defaults to four spaces), or the separator between each item in single-line mode (defaults to ", "). To get single-line infotips like they were prior to Opus 12.9.3, use: {foldercontents:singleline:maxitems=4,maxitemlength=20}

10 September 2018

Directory Opus 12.9.3 (Beta)

Directory Opus 12.9.3 (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.


Additional Changes:

We have re-uploaded this version with a couple of additional changes. If you downloaded the beta soon after release, please re-download it to get these additional changes:
  • Fixed crash when loading raw photo previews.
  • Infotip {foldercontents} has new parameters: SingleLine makes it show files and folders on a single line (each) instead of one line per item. MaxItems limits the number of items within each category (up to a hard maximum of 20). MaxItemLength limits the length of each item (up to a hard maximum of 260). Indent lets you change the indentation before each item in multi-line mode (defaults to four spaces), or the separator between each item in single-line mode (defaults to ", "). To get single-line infotips like they were prior to Opus 12.9.3, use: {foldercontents:singleline:maxitems=4,maxitemlength=20}


  • Improved support for virtual desktops in Windows 10.
    • A new virtual_desktop_isolation setting, on by default, makes changes like these:
      • The "Save All Listers" command only saves windows from the current desktop.
      • Layouts set to close existing Listers when they open will only close Listers on the active virtual desktop.
      • Explorer Replacement (and things like the Go EXISTINGLISTER command), if set to reuse existing windows or open new tabs in them, will tend to open a new window if it can't find an existing one on the current desktop. (There are some exceptions, where Windows itself decides which Lister to activate for a folder.)
      • "Reuse existing viewer window" only considers viewer windows on the current desktop.
      • "Close All Viewers" from the viewer's system menu only closes viewers on the current desktop.
      • Set LISTERCMD=showall, minimizeall, and toggleminimizeall only act on the current desktop's windows.

    • Close ALLVIEWERS, ALLLISTERS and ALLOTHERLISTERS commands now work with a new CURRENTDESKTOP argument to restrict them to acting on the current desktop's windows.

    • Set LISTERCMD=tileh, tilev, and cascade always only act on the current desktop's windows, regardless of Preferences.

    • Fixed being able to dock a Lister into one that is on another virtual desktop and not currently visible.

  • For Windows 10 only: Preferences / Launching Opus / From the Win + E hotkey now exists for you to change what happens when the Win-E hotkey is pushed. (While configured independently, this is tied to the Explorer Replacement mechanism. It thus requires Opus Pro and will only work with portable versions if they have been configured to enable Explorer Replacement.) WHEN UPDATING OPUS, THIS NEW FUNCTIONALITY WILL NOT WORK CORRECTLY UNTIL YOU HAVE REBOOTED.
  • Local F1 help (as opposed to the help on the GPSoftware website) is now shown in your web browser by default. A new option, Preferences / Miscellaneous / Advanced [Behavior]: help_interface, lets you set it back to CHM (HTML Help) if you prefer this interface. You can also use that setting to specify a custom port for the local http help server if needed. When help is shown in your web browser, script add-ins and plugins are now able to add their own help pages.
  • The codes available to display information on the status bar have been expanded:
    • You can now use variables on the status bar. e.g. {var:tab:MyVariable} will display the contents of the file display variable MyVariable. You can also hide and show sections depending on whether or not a variable exists, and then control which information is shown on the status bar from buttons and scripts. e.g. {h!{var:glob:ShowExtraInfo}} ... {h!}

    • Status bar data can now be conditional on the current path or tests for whether paths exist. For example, {ifpath:"C:\*"} will return 1 if you are in a path below C:\ and nothing otherwise. {ifexists:".\*.dll"} will return 1 if there are any DLLs below the current folder. These can be used with the {h!} code to show or hide things. Further examples and details can be found in the manual. (Not in the 12.9.3 manual yet, but will be for 12.10.)

    • Status bar data can now be conditional on the same @if and @ifset tests you can use in buttons and scripts. For example, if you want the status bar to show the selected file's size and date, but only when not in Details mode: {h!{if:!Set VIEW=Details}} {sel:size} {sel:write} {h!}

    • Added new Preferences / Miscellaneous / Advanced setting, status_metadata_trigger, which lets you choose when/if things such as duration codes on the status bar should cause file metadata to be calculated.

    • The @toggle:update command directive can now be used after modifying variables to force status bars to update.
  • Added some new Find command arguments to control things the Simple Find dialog has check-boxes for, when automating the command: NOWILD, ANYWORD, CONTWILD, CONTCASE.
  • The Rename command now lets you specify the Rename dialog's default sequential numbering parameters without having to turn sequential numbering on. This is done by adding ! to the NUMBER parameter. For example, if you want the Rename dialog to open with numbering off but padding set to two digits when/if you turn it on: Rename ADVANCED NUMBER=!01

  • Commands for setting show/hide attribute filters now support the I (non-indexed) and P (pinned) attributes. Also, previously undocumented: You can specify two sets of attributes to alternate between the two each time the command is run. e.g. Set HideFilterAttr=HS,R would toggle between hiding files with the Hidden or System attributes and hiding files with the Read-Only attribute. When only one set is specified, the command acts as a toggle.

  • File display variables can now be prefixed with left:, right: and tab: to designate the left, right and active file displays, in addition to the older src: and dst: prefixes. (tab: and src: will usually point to the same thing, but can be different, e.g. when dealing with status bar codes for a particular side of the Lister.)
  • You can now configure the font used in code editors such as the advanced button editor, rename scripts, and status bar Preferences.
  • Scripting changes:
    • The QuickFilter object has a new showeverything propertiy which indicates if Show Everything mode is on for the folder tab. When Show Everything mode is on, it also now implicitly makes the QuickFilter object report disabled=true, showallfiles=true, and similar.
    • ScriptColumn.type can now be set to numericsort or wordsort to force numeric or word sorting, for the opposite of the nonumericsort and nowordsort options added in the previous beta.
    • A new script event, OnGetHelpContent, lets script add-ins add their own help content to the F1 help (only when help is shown in the user's web browser). The new Script.LoadImageFile and Script.LoadHelpImage methods let you easily load your script's help content when bundled as a script package.
    • Added Script.HttpHelpEnabled and Script.ShowHelp to let scripts trigger their own help pages. There are also matching functions for viewer/VFS plugins.

  • When Opus is installed it now registers a URL scheme, opushelp://, which allows for clickable links to local help in your browser. dopusrt.exe has a new /help argument that this scheme uses to trigger display of local http help. The HTTP help server will be enabled and started automatically if it was turned off in Preferences.
  • The API for non-Unicode viewer and VFS DLLs has been disabled. We believe there are only two 64-bit plugins affected by this, both of which have alternatives and appear not to have been downloaded recently. If this is wrong, or there are non-Unicode plugins we are unaware of (e.g. privately developed for corporate environments), please let us know. If needed, we can reinstate the legacy API, but our current plans are to remove the code behind it if there are no complaints.
  • On the FTP Logs panel, clearing the [All Activity] log now does the same as the Clear All Logs option, removing site-specific logs at the same time.
  • Opening virtual folders via Explorer Replacement now opens them in your normal default Lister, instead of forcing the dual file display, tree, viewer and other panels to be off.
  • Commands like Go LASTACTIVELISTER are now better at finding the Lister which was most recently active. Previously, they were a bit too literal: If the last active Lister had since been closed, without another becoming active, then they did not find anything.
  • If a file copy fails mid-way with ERROR_NOT_READY (which can happen if a USB drive is pulled out) Opus will restart the copy when you click Retry rather than just attempting the last write again.
  • Opus now tries to stop its DLLs being injected into chrome.exe to avoid Chrome incorrectly labeling (libeling!) us as an incompatible application. Unfortunately this will stop the "Open Downloads Folder" command in Chrome from opening in Opus when Explorer Replacement is enabled.
  • More support for characters outside the BMP range (UTF-16 surrogate pairs and 4-byte UTF-8 sequences):
    • Script add-in code (i.e. within .vbs and .js text files) can now contain them.
    • Containing Text searches in the Find Panel and filters now work with them.
  • The Rename dialog's Clipboard menu/button is now always enabled, even if the macro builder is turned on. Using one of the paste options will turn off the macro builder automatically.
  • Label filters in the folder tree are now re-calculated when you push F5 (or run similar refresh commands which affect the tree).
  • When editing JScript, the script editor now does syntax highlighting of /.../ style regular expressions, which previously confused the highlighting. Also tweaked the highlighting for the script and button editors in general.
  • Status bar configuration can now include comments by starting lines with //.
  • Folder tooltips using {foldercontents}, and the status bar hidden-count tooltip, now show each file/folder on a separate line, and allow names to be longer before truncation, and more names to be displayed in total.
  • Pasting images and text from the clipboard now automatically bumps the filename again if it already exists (you'll still be prompted when pasting from sources like Remote Desktop). This was broken in the previous beta.
  • If the Add File Collections list to the Send To menu option was turned on, then later turned off, the collections in the Send To menu at the time would be left there (except on Windows XP). They are now cleaned up.
  • With newer versions of WinRAR installed, the Archives plugin always created RAR 4 archives even if configured to make RAR 5 ones. This now works again.
  • Fixed Preferences / Launching Opus / Default Lister / In a fixed position relative to the monitor the mouse is on behaving like Always over the mouse pointer.
  • Fixed incorrect behavior of the viewer pane's context menu items for spanned wallpaper and resetting the viewer plugin override.
  • Fixed dialog editor crash if you pushed the Del key on an item with multi-line contents to reset the contents to empty.
  • Fixed problem with FTP SSH not returning directory listings if the list output omitted file permissions.
  • The Replace Explorer for all file system folders option now includes the Quick Access folder on Windows 10. Also improved this option so it excludes more control panels (e.g. the "classic" desktop wallpaper control panel opened by running "shell:::{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921} -Microsoft.Personalization\pageWallpaper"). If updating Opus, this change will only take effect after you reboot.
  • Fixed crash if the filter bar was in use and set to clear when changing folders, and you then changed folders while inline-renaming a file.
  • Double-clicking shortcuts to FTP sites added under This PC will now add the FTP site under the folder tree's FTP branch, not under the This PC branch (which had some issues with "... on SiteAddress" being added to the end of folder names).
  • Fixed bug in 12.9.2 beta which meant Preferences / Folder Tree / Selection Events would not save correctly, with all the events being empty when loading a configuration saved by that version. This new version will reset those settings when loading configurations crated by 12.9.2, to restore the defaults. Configurations from other versions will be preserved.
  • Fixed a quirk of the Filter Bar which meant that, with filtering disabled, you could activate the disabled edit control via the keyboard and type one character into it.
  • Fixed crash if the Filter Bar was open at the time you toggled the Preferences setting to make it use regular expressions.
  • Fixed status bar code parsing so using {{ to get a single literal { works even when it is before something that looks like a valid status bar code.
  • Fixed crash if you pushed Alt to put the Lister toolbars into keyboard mode, then used the Left cursor key to move past the leftmost menu item.
  • Rename FROM now works correctly in conjunction with the PRESET argument.
  • The context menu item for TreeSizeFree is now shown in Opus.
  • Fixed problem where the New Folder button would be incorrectly disabled in the Copy TO=ask$ dialog if the last destination was a network drive.

23 August 2018

Bogus warnings from Chrome about Opus and other software

Some users have started seeing messages from Google Chrome saying Directory Opus (and a lot of other software) may cause problems and should be updated or removed.

These messages are a false positive from Chrome. Chrome is merely detecting anything which has caused a DLL to be loaded into one of its processes. DLLs are loaded into other processes on Windows for various reasons which do not generally cause problems: System-wide hotkeys, shell extensions (icons, overlays, columns in things like the File Open dialogs, as well as the Explorer Replacement mechanism in Opus), anti-virus, and various other functionality.

Third party DLLs certainly can cause problems (bad shell extensions installed by other software are probably the main cause of crashes in Opus!) but what Google/Chrome is doing is not the way to deal with the situation, and makes people worried about software which is not causing problems.

Chrome is not detecting a specific problem or specific software that it knows to cause problems. Chrome is simply detecting software which uses certain Windows APIs and mechanisms. Chrome even includes the anti-virus software it is partnered with — announced as a press release — in the list of potential problems, which is rather ridiculous. There is no need to update or remove any of the software that Chrome lists, at least in general.

There is more detail and discussion in this thread on our forum: Chrome reports: Directory Opus -> This application could prevent Chrome from working properly.

Please complain to Google if the message from Chrome is causing you problems or if you want their explanation for it. From our point of view (and other developers'), the message Chrome displays is completely bogus and should be ignored.

As Chrome users ourselves, we find it a shame that Google did not respond to pages and pages of criticism of this new "feature" when it was in beta, from their users and from other developers alike, and that they went ahead with it in release versions, but we have no control over what Google do.

16 August 2018

Directory Opus 12.9.2 (Beta)

Directory Opus 12.9.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.



  • 3D objects (3mf, fbx, glb, glbt, obj, ply, stl) can now be displayed in the preview pane on Windows 10 (Creators Update and above). (3mf seems limited to files created by Microsoft's own tools and won't load most 3mf files from the web.) See 3D Object preview for an example and additional details.
  • Added Publisher column.
  • The CreateFolder command now has a MULTI argument to force multi-line mode on and off, and now lets you pass multiple default folder names to the multi-line dialog.
  • The Rename command's FROM argument now understands aliases mixed with wildcards, e.g. Rename FROM /downloads\*.zip to rename all zip files in the system downloads folder.
  • Select FILTER now works in conjunction with the TYPE argument to limit the filter to either files or directories.
  • Added Select NEXT=row and Select PREV=row arguments, to allow commands that move the selection up or down a row in icon modes.
  • The Rename command now has a WHENEXISTS argument, letting you specify the action to take when the new filename already exists.
  • The Simple Find function (and the Find NAME parameter when automating a find from the command line) now supports regex: at the start of the pattern to specify a regular expression.
  • Added Find NOPARTIAL argument to prevent "partial matching" when automating Find from the command line.
  • The Go command (and other commands that support things like /aliases) now supports file:// URIs (so e.g. you can now do Go file:///C:).
  • Opus now recognises command codes like {allfile|sep=|} where you want a pipe character as the separator between files.
  • @if:set focus now allows more flexible testing of which window currently has input focus (e.g. @if:set focus=filedisplay to test if any file display has focus).
  • The action for normal left-click on items in the tree is now configurable through Preferences / Folder Tree / Selection Events. The default action is Go; to get the same result as the old Switch to existing tab if already open option, change it to Go TABFINDEXISTING. You can also change it to e.g. Go NEWTAB=findexisting to make left-clicks on the tree open new tabs by default.
  • The new setting clipboard_change_delay, under Preferences / Miscellaneous / Advanced [Troubleshooting], allows you to tell Opus to delay before checking the clipboard for changes. This may help avoid problems using the clipboard in certain software (e.g. Microsoft Office, although a *lot* of other software triggers the same problem in Office, including parts of Windows itself, so YMMV). The default delay is 100ms; it was effectively 0 in the past.
  • You can now override the default icons used by new File Collections via Preferences / Miscellaneous / Advanced [Cosmetic]: collection_icon_default, collection_icon_find, collection_icon_flickr, and collection_icon_marked. Also fixed custom collection icons not being used in certain places, and some cosmetic issues with the File Collection properties dialog.
  • Thumbnail Threads (Preferences / File Display Modes / Thumbnails) maximum limit increased from 8 to 32. (When Opus launches it also limits the value to the number of CPU threads.)
  • Added Preferences / Miscellaneous / Advanced [Behavior]: slow_dblclk_rename option, which allows you to disable inline rename via slow double-click (F2 not affected). (Does not apply to Power mode, which has its own mouse button settings.)
  • The HEIC/HEIF viewer plugin now supports the CopyTrans HEIC decoder (works with Windows 7 and up) in addition to the Microsoft one (works with Windows 10).
  • The Combine groups with only one member into the 'Other' group option is now ignored when grouping by duplicates.
  • Improved support for creating a toolbar button to go to a web page by dragging from a web browser to the toolbar in Customize mode. (Tested with Chrome and IE. Should work with Firefox. Does not work with Microsoft Edge, since you can't drag from Edge to *anything*, even to create a .URL file in File Explorer).
  • Added support for dropping .URL files (including Steam game shortcuts) on a toolbar in Customize mode to create buttons.
  • When Opus receives a "media removed" notification from the OS it now reads the Computer folder automatically in any tabs that were showing folders on the removed media.
  • When test-running commands in the button editor, the command will now always run against the Lister that launched the editor. (Previously, the command would look for a source window and potentially run against a different Lister, or even fail to find a source if you had two or more dual-display windows and no single-display ones).
  • Copying files out of a zip file in flat view now gives more consistent results (both in "recreate" and "flatten" mode).
  • It's now possible to prevent Opus from saving FTP passwords, by setting the PreventSaveFTPCredentials value under HKEY_LOCAL_MACHINE\Software\GPSoftware\Directory Opus to DWORD:1.
  • Pasting a file from a virtual data source (e.g. Remote Desktop) now behaves the same as pasting a real file when the destination already exists - you'll be prompted to overwrite/rename etc, rather than the new file just being renamed automatically.
  • Default config for OpenStreetMap (Image LOCATE=osm) now adds a marker to show the exact location on the map.
  • Workaround for issue with SumatraPDF Open With menu item.
  • Fixed Open With menu showing just an icon and no name for Notepad.
  • Fixed SetAttr META coverart only allowing numeric specification of the type of cover-art when adding, not removing.
  • Fixed metadata editor's Add cover-art button not working correctly when in the Desktop folder.
  • Fixed labels applied via folder formats not doing anything if the global labels-in-NTFS option was off and the global list of assigned labels was completely empty.
  • Added missing music cover-art image types "other file icon" and "colorful fish" to the Metadata editor, SetAttr command and AudioCoverArt script object. (The fish thing is, unfortunately, part of the ID3 specification. It is hidden in the UI except when editing a file which already uses it, because it is ridiculous and some tagging software won't recognise it.)
  • Prefs LAYOUTLIST SHOWICONS now assigns folder icons to branches of the layout list, instead of only assigning icons to the layouts themselves.
  • Fixed the default "Lister Styles" menu heading being mistranslated to "Rotate" (in the target language) if you changed language after installation.
  • Fixed crash if you started a Find Files operation from a folder with a localised name. (You would normally have had to type the localised name into the Find In field manually to make this happen).
  • Fixed issue where clicking "skip" to the error shown when attempting to copy a file > 4GB in size to a FAT32 drive would abort the rest of the function rather than just skipping the file.
  • The Print FOLDER command no longer flashes a progress dialog on screen if delayed progress dialogs are turned on in Preferences and it is outputting to a file or the clipboard without showing the Print Folder dialog.
  • Fixed a Favorite which pointed to an Alias called /user not doing anything when clicked.
  • Fixed Properties dialogs showing zero size when opened for multiple items in different folders (e.g. via Flat View or collections like Find Results).
  • Fixed right-click > Properties on an FTP Site in the folder tree opening the FTP Address Book but not selecting the site.
  • Fixed right-click > Create Shortcut on the File Collections root in the folder tree crashing when used.
  • Possible fix for folder tabs sometimes getting stuck "Reading Folder" with TortoiseSVN installed. (The problem stopped happening for us by itself so it is difficult to verify the fix does what it is supposed to. Please let us know if you still encounter the problem with this or later versions.)
  • Made change to solve problem of Opus not allowing files > 4GB to be copied to Google Team Drive (which misrepresents itself as a FAT32 filesystem).
  • Fixed problem that meant when an FTP folder was added to favorites and selected from the Favorites branch in the tree the folder would open in a new Lister (or even an external program, depending on your settings).
  • The Browse dialog shown for the Preferences / Miscellaneous / Advanced [Image Formats]: use_color_management setting now has a filter set to *.icc;*.icm to make it clear what type of file is required.
  • Fixed alignment of Opus-generated folder thumbnail when shown in a tooltip.
  • Config files now support characters outside the BMP range (UTF-16 surrogate pairs and 4-byte UTF-8 sequences). Previously, such characters — e.g. in button labels — were dropped when saving and turned into '?' when loading.
  • Fixed crash in the button editor which could happen after using Shift+Tab to de-indent lines (usually while editing scripts).
  • Addressed Explorer Replacement not working in some cases where applications initialized COM in a non-standard way for calling shell APIs (e.g. Google Chrome).
  • Scripting changes:
    • Fixed item.name_stem_m and item.ext_m ignoring multi-part extensions when obtained via tab.selected_files.

    • Script columns now respect the Folder Options Numeric order filename sorting setting instead of always applying it. You can also now specify nonumeric and/or noword for a script column's type to disable the numeric and word sorting modes, even when they are turned on via Folder Options.

    • Scripts can now use the Progress dialog's Skip button via the new Progress.EnableSkip method.

    • The Progress.GetAbortState method can now handle pausing automatically, can be told to only check for certain states, and will now only indicate the most important state by default.

    • The new StringTools.IsASCII method can be used to test if a string uses only 7-bit ASCII characters, or if it would be better written in a Unicode format when saving it to a file.

    • The FolderEnum.Next method can now return more than one directory entry at once, in a Vector. Specify the number of items you want returned at once, or -1 to return the whole directory in a single call. You can pass a Vector object to use as the second argument if desired, or one will be created for you. If no arguments are specified then only a single Item object is returned as before.

    • Added OnTabClick script event, which lets scripts intercept mouse clicks (with a qualifier key) on tabs and override the default behaviour.

    • The StringTools.Encode method understands a new format string utf-8 bom to encode into UTF-8 with a byte-order-mark on the front.

    • The Progress.SetFromTo methods now clears the "To:" line entirely if the argument for it is omitted. (It's still best to use Progress.SetStatus if you only want one line all of the time.)

    • The new Item.InGroup method lets you test if a file belongs to a particular file type group without having to loop through all the groups it belongs to.

    • The StringTools.Encode method no longer adds a null at the end of the binary data.

    • Fixed Blob.Compare method incorrectly returning 0 when two different sized blobs were compared, without the comparison size being specified, if one was a prefix of the other.

    • In script dialogs, the readonly property of edit controls can now be modified by the script rather than being fixed at design time.

6 August 2018

Coming soon: 3D Object preview (fbx, glb, glbt, obj, ply, stl)

Directory Opus 12.10 will add support for a new type of viewer that comes with newer versions of Windows 10, enabling you to use the Mixed Reality Viewer in the preview pane for various types of 3D object files:

  • .fbx
  • .glb
  • .glbt
  • .obj
  • .ply
  • .stl

The objects can be rotated by dragging with the mouse, and zoom in and out using the mouse wheel.

Demo video on YouTube:

This update will be free to existing Opus 12 users. You'll need a recent version of Windows 10, else you won't have the Mixed Reality Viewer needed to display this type of file (unless you have an alternative compatible viewer installed).

The viewer should work automatically for these file types, provided you're using Opus 12.10 and a recent version of Windows 10. (I think the Windows 10 Creators Update should be enough, but have only tested with the later April 2018 "1803" update.)

Note that the viewer's capabilities are down to what the Mixed Reality Viewer component in Windows provides in the form of its viewer. What we're adding to Opus is the ability to work with this new type of viewer.

8 June 2018

Directory Opus 12.9.1 (Beta)

Directory Opus 12.9.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.



  • HEIC/HEIF images are now supported, as long as the relevant WIC codecs are installed. (If you have the Windows Photos app working with HEIC files, they'll work in Opus as well.)
  • Added Individual groups option to the Folder Options / Columns dialog. If this is turned on and the file display is grouped, one group will be created for each distinct value rather than a range of values falling into a single group (e.g. instead of A-H you would have A, B, C, D, E, F, G, H). This is only really useful for text fields like "User description". Also added the Set GROUPINDIVIDUAL command to toggle the setting on and off programmatically.
  • The Select HIDESEL, HIDEUNSEL and SHOWHIDDEN arguments can now be made to operate only on files or only on directories (or both, by default).
  • The services supported by the Image LOCATE command are now configurable via Preferences / Miscellaneous / Advanced: image_locate_services. Also added Open Street Map as a default service (Image LOCATE=osm).
  • Added Preferences / File Operations / Copy Attributes / Copy sparse files as sparse option. This option preserves regions in copied files that are marked as sparse (as long as sparse files are supported on the destination drive). (Note this option was originally included in 12.8.1 but was removed in 12.9)
  • Added Preferences / Miscellaneous / Advanced: grid_lines_first_last. For solid grid lines, you can now make the alternating pattern start on the first line instead of the second. For thin grid lines, you can now have a line before the very first file or after the very last file. (Caveats in the manual.)
  • The colors for relative size and date graphs can now be configured separately for files and folders.
  • For users who wish to use dark themes:
    • Under Preferences / Display / Colors and Fonts / File group header, you can now configure the color of the expand/collapse glyph.
    • Under Preferences / Display / Colors and Fonts / Folder Tree, and Folder Tree (Destination), you can now configure the color of the expand/collapse glyph.
    • If the status bar is set to use a dark background color, it no longer draws its frames using visual styles.
    • Relative size and date graphs now let you configure their frame and background colors.
    • Colors used in free space graphs in This PC (My Computer) can now be configured.
    • The free space graph in the status bar now uses the colors you define in Preferences rather than system colors, when applicable.
    • Fixed the Filter Bar's checkbox labels not being readable if you used a dark panel background.
    • The marker when dragging toolbar buttons around is now easier to see.
    • Fixed some glyphs within toolbars and menus which were difficult to see when using light-on-dark colors.
    • The system menu visual style is no longer used for menus which do not use dark text colors.
    • The frames around pop-up menus now use configurable colors, and menus will be drawn using your toolbar colors by default, if they have been customized. (Does not affect all menus in the program, at least not yet, but will affect most toolbar and context menus.)
    • Default menu background color can now be configured separately.
    • Toolbars and menus now have configurable "toggled" and "selected" colors for buttons and menu items (e.g. when pushed in or as the mouse moves over them).
  • Scripting changes:
    • Added Tab.hidden, hidden_files and hidden_dirs properties, which provide information about files and folders hidden from the current view in a tab.
    • Added Format.group_individual property to query the state of the new Individual groups option.
    • The Blob.CopyFrom method now lets you initialise a Blob from a string. By default the Blob will be set to the Unicode form of the string; if you pass "utf8" as the second parameter it will initialise the Blob with the utf8-encoded form of the string.
    • The FSUtil.Hash method can now hash the contents of a Blob as well as a disk file.
  • Added workaround for FTP connections to Pure-FTPd server when using TLS, where the directory listing would not complete or require a timeout before completing.
  • It is now possible to remove items from collections which were imported without any paths (just names) from a file list using dopusrt.exe.
  • When importing file lists to collections via dopusrt.exe, lines which are not fully qualified paths are now assumed to be relative to the same folder the list file is in. You can override this using /relative:<path> or suppress it using /relative:none. If using /relative:none, you cannot also use /nocheck.
  • Fixed cosmetic issue where, if a column was less than 4 pixels wide, background colors applied by file labels would have a tiny gap where the narrow column was.
  • Previously, if the Automatically select next file after deleting option was on and you removed the drive you were on, with the folder tree open, Opus would navigate you to the next drive. It will now always take you to the This PC (My Computer) level instead.
  • The Pin to Start Menu context menu item now works in Opus.
  • The Go TABGROUPFORCE argument can now be used with Go TABGROUPLIST.
  • Fixed the filter bar's file extensions drop-down not indicating which extension has keyboard focus on systems with visual styles disabled.
  • Fixed crash which could occur after changing the "when image is shared" mode for an image under Preferences / Display / Images.
  • Preferences / Display / Images now accepts new images via drag & drop. Drop on the list to add a new image, or select an image and drop on the thumbnail to change it to a new image.
  • Fixed Opus Light incorrectly allowing you disable hotkeys which come from the default toolbars, since changes to the default toolbars are never saved to disk in Opus Light. Standalone hotkeys can still be edited and are saved to disk.
  • Drag & Drop with the right mouse button now works correctly within the same tab when manual sort is enabled.
  • Auto-extract now works with 7z, RAR, Tar and other plugin archive types.
  • Fix for double-clicking programs inside non-zip archives causing further double-clicks in the file display to be buffered until the launched program exited.
  • When merging two folders via a move, any sub-folders in the source that had labels assigned to them would lose their labels when they were moved across.
  • When manual sort mode is on, and "Sort newly created and copied files" is turned off, copying a file by dragging and dropping to a specific place now maintains the insertion position.
  • When the viewer is set to use an automatic background color, it now ignores any transparent pixels when selecting a color to use.
  • The Secure Delete function now moves files to a temporary folder (with random name) before deleting them, to try to stop their original location being visible in recovery tools.
  • A button that runs Set BLURFILENAMES=Toggle now correctly highlights when filenames are blurred.
  • When renaming a folder in the folder tree you can now use the down/up cursor keys to accept the edit and move to the next/previous sibling folder.
  • Added .mkv and .flac extensions to the Windows Media Player preview handler (if no other preview handler is assigned to them), since the Windows 10 version can handle both formats but doesn't designate itself as handling them in the registry. Note that the handler is still disabled by default, so this only affects it if you turn it on via the ActiveX + Preview + Office + Web plugin. (Also note that Microsoft have fixed the preview handler so it works again in Windows 10 build 1803, after it was broken for about a year.)
  • Added .flac extension to the Generic ActiveX list, since the Windows 10 WMP ActiveX control can play FLAC files in the viewer.
  • The {smp3} and {tmp3} status bar codes now work with WAV files.
  • Fix for drag & drop from Adobe Bridge not working.
  • Archives plugin (7z, RAR, etc.) and internal zip code now has better handling for (somewhat dubious) archives that use the same paths for multiple files. Each item will now have a unique name generated for it. In the case of RAR archives, such archives will also be made read-only.
  • Fixed problem with zip files which contained sub-folders with spaces at the end of their names.
  • Detection of WSL only worked in 12.9 if you were still on the Windows 10 Creators Update. It now works with the newer 1803 build again.
  • Changing Preferences / Folders / Folder Behaviour / Sort shortcuts to folders like folders now triggers a refresh of all open folders, so the setting's effect is seen immediately.
  • Secure screenshot wasn't blurring some paths in the breadcrumbs field.
  • Secure screenshot now blurs filenames in Explorer-provided folders (e.g. Quick Access).
  • Fixed problem with navigation lock where navigating out of a zip file on one side would not cause the other side to follow along.
  • Dragging a tab from file display to another now makes the new tab active.
  • When an external icon set is cached (for performance) it now preserves the display names of icons within the set.
  • Fixed problem with Duplicate Finder's Select button - if the duplicate search was initially run with Delete mode turned off, and then you put the folder into Checkbox Mode manually and clicked the Select button, weird things would happen.
  • Fixed the file display font-size pop-up going off the side of the monitor if it opened too near the edge.
  • Preferences / Miscellaneous / Advanced is now grouped into categories. The list is also now filtered when using the search function in Preferences, rather than drawing matching items in red.

7 June 2018

Directory Opus 12.9

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


Changes since 12.8:

Directory Opus 12.9 is a stable release containing the changes from the 12.8.1 beta release, plus some additional minor changes.

Please note that the Copy sparse files as sparse Preferences option introduced in the 12.8.1 beta is not included in 12.9. This option will return in 12.9.1.

  • Added COPYSPARSE argument for the Copy command. This option preserves regions in copied files that are marked as sparse (as long as sparse files are supported on the destination drive).
  • The Regular expression + Find and Replace rename now allows you to anchor the search pattern at the start or end using ^ and $ like in regular regex mode.
  • When multiple file copy jobs are queued and one job triggers a UAC prompt, the UAC permission is now passed through automatically to subsequent jobs in the queue.
  • @hidenosel and similar modifiers now work in the viewer pane's right-click > File menu, and in context menus you get when right-clicking file lists generated by Go FOLDERCONTENT.
  • @disableifpath and @hideifpath now work with aliases, environment variables, {apppath}, and so on.
  • Workaround for Windows bug where a case-only rename was treated as if the file was removed and a new version created. The difference was usually subtle but could be seen easily if the Sort newly created and copied files option was turned off, and could affect whether files remained selected after renaming.
  • Fix for viewer crashing if you ran a custom command to jump forward or back multiple files when the target file had been deleted. (Normal single-step jumps were not affected.)
  • Fixed a crash introduced in 12.7.1 when processing some file change notifications involving short path names.
  • Commands like Show VIEWERCMD=goto,-10 now move to the first file if there are fewer than 10 before the current file. (Previously, nothing happened.)
  • Fixed issue where if you had chosen the Filter Bar as the default FAYT mode in 12.7, it would have changed to WSL Command or blank in 12.8. (As a side-effect of fixing this, if you chose WSL Command as the default in 12.8, you'll need to choose it again, as a one-off after installing this update.)
  • Fix for the "tray icon" menu sometimes not closing if you click elsewhere, until you click on it first, if you had left-clicked the icon and then clicked somewhere else before the menu was triggered (after the system double-click time).
  • Re-worked the way Opus prevents system sleep while copying files (etc.), and sleep and display power-down while playing slideshows (viewer) and videos (Movie plugin), as the old method was not working in Windows 10.
  • Archive auto-extract now only prompts or happens when there's more than one file inside the archive.
  • Updated 7z.dll to 18.5 which contains a security fix for RAR handling.
  • Updated unrar(64).dll to 5.60.3 which contains a security fix for RAR handling.
Directory Opus 12.9 also contains the additional fixes which were not part of 12.8.1:
  • Fixed problem with Dropbox support when the Dropbox folder path contained Unicode characters.
  • The latest Windows 10 update added a non-functional "Open in new tab" item to folder context menus. We now filter it out. (The similar "Open in new Folder Tab" item which Opus itself adds to the same menu is still there and still works).
  • Fixed "Launch" in the Visual Studio 2017 installer opening the folder VS was installed in rather than launching the program, if Explorer Replacement was turned on.