13 March 2024

Directory Opus 13.4

Directory Opus 13.4 is now available.

Download (or use Help > Check for Program Updates in the program):


We've also written some Tips for Upgrading from Directory Opus 12 to 13 which you may find useful, in addition to the existing Directory Opus 13 Highlights.


New in 13.4:

  • The new Create Folder auto-numbering now works if a folder count is used by itself. For example, <10> will create ten folders named 1 through 10.

  • Fix for crash 212 ("switched from network, to documents, to network, to documents").

Changes from 13.3.1 beta:

  • File labels can now be set to strikethrough as well as bold/italic/underline.

  • Added option to Folder Options / Columns tab to Reverse the Index column. This makes the Index column count down to 1 instead of counting up from 1. Clicking the column header will also toggle this option.

  • Added two new options relating to folder formats:

    • Preferences / File Displays / Options / Preserve folder format edits between folders: If turned off, disables the normal behaviour where if you make a change to the folder format in a tab, this is preserved when going into other folders in that tab.

    • Preferences / Folders / Folder Formats / Automatic Formats / Use as the default format for all sub-folders: If turned on, an automatically remembered format for a folder will be used as the default format for any children of that folder as well (unless they have their own format, automatic or otherwise)

  • Added options to Preferences / File Displays / Folder Expansion:

    • Clear selections within collapsed folders: When an expanded folder is collapsed, any items within it that were selected have their selection status cleared (so that when you expand the item again they will be unselected).

    • Collapse sub-folders within collapsed folders: When an expanded folder is collapsed, any expanded sub-folders within it are also collapsed (so that when you expand the item again they will be unexpanded).

  • Under Preferences / Folders / Virtual Folders / This PC, added option to hide Media Servers from the This PC folder.

  • Added Preferences / Filtering and Sorting / Find-As-You-Type / Auto search option, configures the time delay after typing in the FAYT search modes (Everything, etc) before the search automatically starts.

  • Added Preferences / Miscellaneous / Advanced: [Behavior] searchfield_autostart which does the same thing for the search field (top-right of the Lister). If this is set to 0 the setting for the FAYT is used by default.

  • Added Preferences / File Displays / Folder Expansion / Expansion delay setting, to configure how long it takes a folder in the file display to expand when dragging over it.

  • Added Preferences / Folder Tree / Expand/Collapse / Expansion delay setting, to configure how long it takes a folder in the folder tree to expand when dragging over it.

  • Added Preferences / Toolbars / Appearance / Global Scaling, allows a global scaling factor to be applied to toolbar button icons

  • Added Preferences / Miscellaneous / Advanced: [Behavior] config_backup_name which lets you configure the default config backup filename template. It supports date/time strings and environment variables.

  • When making a config backup, you can now exclude the currently open windows and tabs (without excluding all other state data). New checkbox in the UI, and BACKUP=notabs value for the command.

  • Added case argument for Go EXPANDBRANCH command to make regex/wildcard path matches case sensitive

  • Added ScriptCommand.noprogress property. Set to true when adding the command to disable automatic progress dialogs for your command.

  • Added scripting Control.case property to set/get edit control upper/lower case state.

  • Script FAYT extensions are now by default called for empty strings (i.e. before the user has typed anything). The new ScriptFAYTCommand.wantempty property can be set to false to disable this behaviour.

  • Added scripting Viewer object imagesize and selection properties; returns the size of the current image and the current selection (if any).

  • Dropping files onto script buttons now works again.

  • The {gfl} status bar code once again shows the padlock or info icon in grayscale.

  • Entries in the Paired Folders list in Preferences can now be individually disabled.

  • Fixed errant / label showing up in progress dialog when copying files out of a zip file with the queue tab visible.

  • Fixed scripts list scroll position resetting when a script is enabled or disabled.

  • Evaluation columns which rely on the value of script columns now work properly.

  • Everything local search now works if regular expression mode is enabled.

  • Fixed the filename "highlight" effect when using Ctrl+Shift+Up or Down in inline rename not restoring the background color properly if the background was set to use a non-existent image and no unselected background color was specified.

  • Expanding folders on MTP devices no longer shows the cryptic internal filenames of the subfolder contents.

  • Fixed two-way synchronize between MTP and local not recognising that files already existed on the MTP device and wanting to delete them from the local folder.

  • Improved Synchronize exclusion list logic.

  • Changing the synchronise exclusion list after doing a comparison now triggers the "new comparison needed" message.

  • Fixed Win+<key> hotkeys rendering with the + as part of the second key instead of between the two.

  • The order of Image Conversion presets can now be set arbitrarily (though sorting alphabetically is still the default). If presets have been assigned to groups or favorited, the Image Conversion context menu now respects this.

  • Rename AUTONUMBER now works correctly across devices.

  • In Tiles mode, fixed infotip with {thumbnail} code for a folder with a custom icon incorrectly resetting the icon back to the default folder image.

  • Fixed file notification not working in OneDrive folders with the folder tree closed.

  • Fixed problem with indexed search in FAYT auto-closing the FAYT after editing the search term.

  • Right-clicking on the button for a zip file in the breadcrumbs path field now shows the context menu for the zip file itself rather than the limited menu for zip file contents.

  • Toolbars now behave the same to Alt+<key> as they do to Alt, <key> (i.e. Alt+H, or press/release Alt, then press H, will both show the Help menu).

  • The Customize / User Commands tab now has a search field at the bottom.

  • Made a change to try to prevent Lister minimising/other window coming to front if a modal script dialog is closed.

  • The Item.id property is now valid for script columns.

  • Fix for crash 192.

  • Fixed Set FORMAT incorrectly turning off the "group" column if it was added automatically (due to the Preferences option) and the new format is still grouped.

  • The menu generated by Go TABLOCK=menu (on the default folder tab context menu) now supports Shift/Ctrl/Shift+Ctrl on the various lock commands to lock all/all to the right/all to the left (as documented and as in Opus 12).

  • The suggestion popup list now works in the FAYT on the first key press if command mode is the default.

  • If user/script commands have a description this is now shown in the FAYT suggestion popup list in command mode.

  • Fixed persistent tab-scoped variables not being remembered in some cases (Listers with only one tab per file-display opened in a particular way).

  • Fixed {thumbnail} code in tooltip definitions truncating any text that came after it on the same line.

  • Fixed List mode sort header not redrawing if the Find-As-You-Type field appeared over it and was then hidden.

  • Improved startup check for being launched while the installer is still running.

  • Print Folder column list no longer uses the Printer font specified above.

  • If the Preferences option Save descriptions to internal file metadata if possible was turned off, this was being ignored if a file already had a description set.

  • Performance improvement for file/folder context menus (when UWP context menu components are updated and old versions are left installed for some reason).

  • Duplicate Finder > Select dialog now expands the whole folder tree, instead of only up to the level of the first duplicates. Make it easier to see if child levels are being included or not.

  • Wav file durations are now rounded up to the nearest second. In particular, wavs less than a second long will be reported as 1 second instead of "N/A".

Changes from 13.3.2 beta:

  • Added Including network drives option underneath Preferences / Folder Tree / Appearance / Use configured file display colors for tree items. Lets labels be enabled generally in the tree but disabled for network locations.

  • Added stay argument to Close SYSTEM command. Commands like Close SYSTEM=sleep,stay can make Windows sleep or hibernate without shutting down Opus at the same time.

  • Added Go EXPANDBRANCH=script argument. Lets the Go EXPANDBRANCH command be run from a script Command object and operate on the folders in the object rather than the current selection.

  • Added @sendkey command modifier and DOpus.SendKey script method, both can inject a keypress into the system. E.g. @sendkey:win+v

  • The recently-added Control.case property has been renamed to charcase to avoid confusing the jscript parser.

  • Added *Preferences / Miscellaneous / Advanced: [Limits] suggestion_popup_lines*, lets you control how many lines high suggestion popups are.

  • Fixed "Reverse index column" option starting the count at 0 if the .. to go up entry was turned off.

  • Fixed range selection with reverse index column.

  • Fixed About dialog layout above 200% scaling.

  • The config_backup_name option in *Preferences / Miscellaneous / Advanced* now requires that date and time codes are enclosed in {} brackets to disambiguate them from any text which might come after them. So e.g. the default is now %USERNAME% - %HEADER% - {D#yyyy-MM-dd} {T#HH-mm}.

  • Fixed FAYT command suggestion popup not showing descriptions for script commands.

  • If you assigned a key to a FAYT quick key and then set it as the default mode, Opus would still treat it as having the original key assigned in some cases.

  • The menu items Opus adds to the Lister's window menu now have their accelerators chosen so as not to conflict with the standard system commands.

  • Fixed "Found a bug in FAYT command" (FAYT Command as default mode, then push up or down for history.)

  • Duplicating a tab that is grouped now respects the "Automatically add group column" option and adds the group column in the new tab. (More generally, duplicating a tab now duplicates the original tab's format).

  • Fixed variables that are supplied to evaluator code from confusing the ternary operator in some cases.

  • Dynamically-generated buttons (e.g. drive buttons) are now hidden inside @hideblock.

  • Fixed Preferences search control not working properly with IMEs (e.g. Chinese, Japanese).

  • If the lister titlebar Preferences OK/Cancel buttons are used while the Prefs dialog has a modal child open, the child dialog is now brought to the front instead of closing the parent (which resulted in Preferences being inaccessible until Opus was restarted). Similar also for Customize.

  • Dragging a folder on to its own folder tab now does nothing. In particular, if "treat tab label as folder when dragged" is on, you'll no longer create a shortcut to the folder inside itself if you accidentally move the mouse while clicking a tab (which would drag the tab on to itself).

  • Compatibility fix for PeaZip context menu creating archives with the wrong name, and inside the selected folder instead of its parent.

  • Made a change to pattern matching to try to improve compatibility with Opus 12. With standard wildcards, ~ at the beginning of a pattern (when it's not followed by a bracket) now means "negate the whole pattern". E.g. ~2022 will match anything other than "2022".

  • Also improved the "any word" mode in conjunction with wildcards - it no longer always behaves as if partial matching was turned on, but instead respects the state of the "partial match" flag.

  • Improved "any word" pattern matching logic when mixing words with +/- and words without.

Changes from 13.3.3 beta:

  • Hotfix for previous beta.

Changes from 13.3.4 beta:

  • Improved config_backup_name advanced option added in earlier betas.

  • The config_backup_name advanced option can now be told to use UTC dates and times by prefixing the time format with "UTC#". Example: %USERNAME% - %HEADER% - {UTC#D#yyyy-MM-dd} {UTC#T#HH-mm}

  • Added options to prevent the Status and Availability columns being added to the Cloud Storage folder format if you define a new default format. These can be found under Preferences / Miscellaneous / Advanced / Information Display.

  • Evaluator groups can now control whether they're expanded or collapsed by default, by returning a value map with the collapse value set to either true or false.

  • The Filter Bar now has an Evaluator mode. This can be used in two ways:

    • a direct evaluation clause can be entered (e.g. size > 2gb)

    • a pre-defined filter can be referenced using ? (e.g. ?bigfiles would use as pre-defined filter called "bigfiles")

      All filters work, not just evaluation filters, but if a filter IS an evaluation filter, the filter bar can pass arguments to it. For example, ?bigfiles:5 would pass the value 5 through to the evaluation clause defined in the filter.

      Evaluation clauses called directly have the same column variables as other similar evaluation contexts (e.g. column handlers). They also have opt_regex, opt_ignore, opt_anyword and opt_partial variables which provide the state of the various other Filter Bar options.

      Pre-defined evaluation filters have the value quick_filter set to true or false. If it's set to true it means the filter is being invoked via the filter bar, in which case the above variables are also available. Arguments passed through are available in the filter_args variable.

      Note that when editing the filter in the filter bar, realtime filtering is disabled for evaluation filters, so you need to press enter to see the results of the filter. The one exception to this is when a pre-defined filter is being used and you're editing the arguments that are to be passed through to its evaluation clause.

  • The FAYT Filter mode now has the same mode settings as the Filter Bar does. This is mainly for the new Evaluator support, so you could e.g. set it up so that the FAYT's filter mode uses the evaluator while keeping the Filter Bar for normal wildcard filtering.

    Note that there's only one "quick filter" which both methods edit, so editing the filter via the FAYT will update the filter shown in the Filter Bar if it's displayed. But the one you're editing at the time determines which mode is used.

  • Added evaluator Age() function. Age(date) is the equivalent of DateDiff("d", date, Now()).

  • Added a warning message shown when using Everything search if the required information isn't indexed.

  • The Collapse sub-folders within collapsed folders option now collapses (unexpands) empty folders.

  • Fixed Find / Simple's File Type drop-down resetting if the dropdowns under it were used.

  • The quick filter (e.g. filter bar) now ignores a pattern of ~ by itself rather than filtering out everything.

  • Fix for crash 199, 200.

Changes from 13.3.5 beta:

  • Added protection against startup hangs that seem to be caused by some cloud folders.

  • If a non-beta version is installed, and the update checker has downloaded a new beta, the download will now be discarded if you turn off beta updates.

  • Fixed icon overlays on toolbar buttons drawing the wrong icon.

  • Improved interaction between FAYT filter mode and the filter bar.

  • The 7zip plugin can now be used for normal .zip files instead of the Opus internal zip library, if desired. To enable this:

    • Disable Opus Zip integration by turning off Preferences / Zip & Other Archives / Zip Files / Enable internal Opus Zip support.

    • Enable the Zip extension for the 7zip plugin under Preferences / Zip & Other Archives / Archive and VFS Plugins.

    • If desired, turn on the Zip options under Preferences / Zip & Other Archives / Context Menu.

Changes from 13.3.6 beta:

  • The Create Folder dialog (in "create multiple folders" mode) can now automatically create numbered folders using an insert code.

    • The full format is <a-b+c>, which will insert numbers from a through to b, incrementing by c each time.

    • a can include zero padding - e.g. <001-100> would create folders 001, 002, 003, ..., 100.

    • The -b and +c are optional.

    • If -b is not given, the first number is taken as the top of the range and the bottom defaults to one - so to quickly create 10 numbered folders, simply use <10>.

    • If +c is not given the default increment value is 1.

  • When saving PNG images the level of compression can now be configured.

    • 6 different quality settings are available (ranging from "no compression" through to "best"). Note that unlike JPG, PNG is always lossless so the setting doesn't affect the final quality of the resulting image - instead it affects how long the compression process takes and how large the output file is.

    • In the Image Conversion dialog, when PNG is selected as the output format, a dropdown replaces the quality input field.

    • In the Clipboard Paste AS dialog, a dropdown also replaces the quality input field when PNG is selected

    • A new Preferences / Miscellaneous / Advanced / clipboard_image_paste_quality setting lets the default quality for clipboard pastes to be configured. This applies to both JPEGs and PNGs, but note that the range of valid values is different. JPG supports 1-100 and PNG supports 1-6. If this is set to 0 the default quality is used.

    • The quality for PNG can be given on the command line as for JPEG; e.g. Clipboard PASTE=png:5

    • Note that the default PNG quality setting is now 4 - previously Opus used settings equivalent to 6 (Best), but 4 seems to produce only marginally larger files and is much quicker to compress.

  • Added an option to Preferences / Miscellaneous / Windows Integration to hide the Open in Directory Opus context menu item from within Opus itself, even if it's required to be on in Explorer.

  • Added support for IFF SHAM (Sliced HAM) images

  • Improved evaluation quick filters - should now update when files are added to the file display

  • If the Archives plugin was used for zip instead of the internal handler, right-clicking a file and choosing "Add to [name].zip" would create an archive with ".zip.zip" extension. It is now just ".zip".

  • Fixed archive type drop-down in Create Archive dialogs when the internal zip handler is disabled.

  • Folder tree now respects mouse wheel "one screen at a time" setting.

  • Fixed folder tree not making the bottom/selected item fully visible after scrolling down.

  • Fixed Everything folder size calculation incorrectly showing "empty" for a folder that's excluded from Everything's index.

  • Made some changes to Everything folder size calculation to hopefully make it perform better when calculating a large number of folders.

  • Fix for startup hang with certain cloud folders.

  • Added a limit to how large the font installation confirmation dialog can be.

  • Stopped FAYT scripts being called unnecessarily when the FAYT is closing.

  • Themes under Preferences / Colors and Fonts / Themes are now included in config backups. WARNING: This also means that restoring an older config backup and choosing "replace existing configuration" will remove all Themes.

  • Warning banners at the top of the file display (e.g. for errors reading directories, or when Navigation Lock can't stay in sync) now always use the Details mode font, and react to font changes that happen when they're already open.

  • Added protection against invalid User Command config files without names.

  • Fixed add-to-zip checkbox overlapping frame of edit control above it, if in standard DPI.

  • Indexed Search history now works in the Find and Duplicate Files panels.

  • Fixed Duplicate Files panel not disabling while a search is happening, where running a second search in parallel before the first one finished could cause problems.

  • Fixes for crash IDs 203-207 and label/filtering crash.

Changes from 13.3.7 beta:

  • Hotfix for previous beta.