Directory Opus 13.19
Download manually, or use Help > Check for Program Updates.
The following is a summary of new features and other significant changes from 13.18.
See the New Releases forum for detailed release notes for the various beta versions from 13.18.1 onwards.
External Image Formats
You can now integrate support for alternate image formats into Opus using external command line tools (e.g. ImageMagick).
The Preferences / Miscellaneous / External Tools page has a new Image formats section which allows these "external image formats" to be configured. For each image format, you can specify separate command lines for viewing files within Opus and for writing images (converting to that format with the Image Conversion tool). You can also optionally specify a separate command line for extracting thumbnails.
The command line invokes an external command to convert an image between formats Opus understands natively and the "external format". Command lines must include tokens to provide the input and output filenames to the selected conversion tool.
Note:
- Command lines can use
%alias:...%
to insert the value of a folder alias into the generated command line. - External formats can be defined for multiple file extensions at once (separate extensions by semicolon or spaces). They can also use
grp:xxx
to define a format for all extensions in a filetype group.
• Viewing
For viewing (and thumbnails), the tokens are:
%in%
- input filename (this will be a file with the file extension specified for the format)%out_png%
- output filename with a .png suffix%out_jpg%
- output filename with a .jpg suffix%out_gif%
- output filename with a .gif suffix%out_bmp%
- output filename with a .bmp suffix, etc.
The output filename will be a file in the %TEMP%
folder. The conversion tool must be able to convert the input file to a format that Opus is able to load. You can use any format Opus understands for this - the output tokens shown above are just a guide. For example, %out_psd%
could be used if your conversion tool produces Photoshop files.
You should pick an output format that preserves the essential elements of the input image as much as possible. For example, if the format supports alpha transparency, converting to PNG would be more sensible than JPG.
When viewing images it's important the conversion is done as quickly as possible and compression isn't really important (unless you have limited disk space), so you should use any settings supported by your conversion tool to speed up the process as much as possible. For example, when using ImageMagick to convert a file to PNG format you might want to use the -quality 01
flag on the command line to reduce compression to a minimum.
• Writing
For writing images with the Image Conversion tool, the tokens are:
%in_png%
- input filename in PNG format%in_jpg%
- input filename in JPG format%in_gif%
- input filename in GIF format%in_bmp%
- input filename in BMP format%out%
- output filename (this will be a file with the file extension specified for the format)%quality%
- quality setting from 1-100
The input filename will be a file in the %TEMP%
folder in the specified format. You can only use formats that Opus is able to write, so unlike for viewing the above input tokens are the only ones that are supported.
If your command string includes the %quality%
token then the quality field will be available in the Image Conversion tool. This will pass a value from 1 - 100 into your command line.
Preferences
-
Added File Operations / Options / Create Folder automatic suggestion popups option.
-
Added Filtering and Sorting / Filter Bar / Select first matching item option.
-
Added File Operations / Deleting Files / Skip confirmation if Shift key is held down option. If this option is off, the
Delete
command'sSHIFT
argument is ignored when not deleting to the recycle bin (and so holding the Shift key down does nothing). -
Added a "Per-level fade" option to Colors and Fonts / Directory Opus Colors / [File and Folder Colors] File display background; lets you control how much the configured color for Inline Sub-folders is faded for each level of nested folders.
-
Added File Displays / Folder Expansion / Use inline sub-folder color for parent folders options. Controls whether or not expanded sub-folders are shown with the same background color as their inline contents.
-
Moved the auto-shutdown option from File Operations / Options to a new page (Launching Opus / Shutdown)
-
Content Type Formats can now have a minimum and maximum number of matching files specified, as well as a percentage threshold. For example, you could specify there must be at least 5 files belonging to the filetype group for the format to trigger, even if the percentage threshold is met.
-
In places where background images are configured (Colors and Fonts / Images, Folders / Folder Images, Customize / Toolbars), the options for image scaling etc have been split into separate "stretch" and "position" dropdowns. So for example, the Aspect Fit mode (which always used to center the image) can now be set to top/left or bottom/right as well. There are several new modes in the Stretch dropdown - Original size (does not scale the image at all), and 75%/50%/25% options which all scale the image to that percentage of either the window size or its original size.
-
The Paired Folders and Thumbnail Styles Preferences pages now have Share / Paste buttons.
-
Added Colours and Fonts / Windows Colours / Sort arrows above/below labels option. Displays the sort arrows at the top or bottom of the column header so that they don't take up horizontal space.
-
Added File Display Modes / Details / Appearance / Column padding option (and a similar one for Power mode). Allows the extra padding Opus adds to each column in the file display to be reduced or turned off completely.
-
Added Toolbars / Options / Allow default toolbars to be edited Preferences option. If turned off it prevents the default toolbar set from being edited (and always shows the defaults), meaning you never need to update your toolbars to see changes to the defaults.
-
Added the following viewer options to include all files in the next/previous list rather than just recognised pictures:
- Viewer / Standalone Viewer / Add all files to the list (instead of only pictures)
- Viewer / Standalone Viewer / QuickShow / Add all files to next/previous list (instead of only pictures)
-
Drive free/used space pie charts now have their own colors that can be configured separately from those for bar charts.
-
The View Mode Toolbars and Folder Toolbars pages now let you select additional positions for toolbars turned on automatically.
-
Added Filtering and Sorting / Find-As-You-Type / Wrap-around selection in popup list option.
-
A maximum size for thumbnail file type icons can now be set under File Display Modes / Thumbnails / Overlays.
-
Evaluator columns can now be set to display the relative size or date graph behind the column contents, just like for the built-in size/date columns.
-
Added "Reverse group order" option to evaluation column configuration.
-
Added Miscellaneous / Advanced: [Behavior] autoselect_suggestions option. If enabled the first suggestion in the popup list is automatically selected in some editors (currently just the function editor), meaning you can insert it immediately with having to push Down first.
-
Added Miscellaneous / Advanced: [Behaviour] illegal_namechar_replace setting. Lets you specify characters to replace illegal filename chars when editing filenames (e.g. inline rename). For example, you could set
<
to be replaced by(
instead of simply blocking the keypress. -
Added Miscellaneous / Advanced: [Information Display] file_size_decimals option. Lets you specify a fixed number of decimal places for file sizes.
-
Added Miscellaneous / Advanced: [Troubleshooting] long_operation_notify_type option. Lets you choose what sort of notification is shown for certain operations on the UI thread that take longer than expected. You can choose to show a dialog (the default), log to the diagnostic log, both or neither.
Commands
-
The
Select
command now supportsSelect FIRST=visible
andSelect LAST=visible
to select the first and last currently visible items. -
Select MAKEVISIBLE
can now be used with theNOPATTERN
argument to make the first currently selected file visible. -
You can now launch Preferences and automatically edit an evaluation group or column from a command. For example:
Prefs PAGE=evalgroups:first_letter
would edit a group called "first_letter"Prefs PAGE=evalcolumns:test
would edit a column called "test".
-
The
FileType SUMMARY
command now accepts thedirs
keyword to include folders in the summary. -
If
FileType SUMMARY=contents,recurse
is run on a large folder, the summary window now updates the graph in real time as the folder contents are read rather than hiding it until the scan is complete. -
Show AUTOFILELIST
command now accepts theall
keyword, to add all files to next/previous list (instead of only pictures). -
The
Go TREECOLLAPSE
command has a newfull
parameter that removes all folders from the tree that aren't directly related to the current path (i.e. returning it to its default state). Only effective if the folder tree is set to not populate contents automatically. -
The
Clipboard COPYCOLUMNS
command now accepts thenocsv
keyword to prevent strings containing commas and quotes from being enclosed in quotes (i.e. converted to CSV-safe strings). -
The
Favorites
command now supports theFOLDERCONTENT
argument, which lets generated favorites buttons act as folder content menus. For example, addFOLDERCONTENT=button
to the default command on the Favorites toolbar to make the favorite folders expand to show their contents.
Scripting
-
As well as the name of an external file, the values accepted by the
DialogListItem.icon
property now include:- An Image object (retrieved from
DOpus.LoadImage
orScript.LoadImage
) - An image markup code to use an image from the internal icon set. For example,
item.icon = "<%ddbi:111>";
.
- An Image object (retrieved from
-
Scripts can now add images that can be shown using markup in dialog markup text controls. The new
DOpus.AddMarkupImage()
method lets you associate a name with an Image object (e.g.DOpus.AddMarkupImage("test", image)
), and that name can be used with the<%cust:..>
tag to render the image in marked up text (e.g.<%cust:test>
). -
Date.Set()
now returns true/false to indicate whether the provided string could be parsed to a valid date. -
Added
Listers.Exists()
method, lets you check if a Lister object or index is still valid. -
Script dialogs have a new
want_move
property which makes them notify the script when the dialog is moved, similar to the existingwant_resize
property for resizing. -
Added
Tab.ClearFAYT()
method. If the FAYT is open it clears any current text leaving only the quick key behind at the start. -
Edit controls in script dialogs can now be set as "double" as well as "number". Allows entering of decimal values.
-
Defining script configuration properties is now a bit easier; instead of using separate Map objects for description, group, type, etc, these can now be assigned to sub-properties of each configuration property itself.
E.g. instead of:
initData.config_desc = DOpus.Create().Map(); initData.config_groups = DOpus.Create().Map(); initData.config.coll_name = "Results"; initData.config_desc.coll_name = "The output collection name"; initData.config_groups.coll_name = "Options";
You can now use:
initData.config.coll_name = "Results"; initData.config.coll_name.desc = "The output collection name"; initData.config.coll_name.group = "Options";
(the old style still works too)
The sub-properties available for each option are
type
,desc
,group
andgroup_order
(the equivalent of the old individual maps), plus the following new properties:sort_order
: specify a custom sort position for this property in the editorlabel
: specify a display or "friendly" name for this property to be shown in the editormin
/max
: specify a minimum and maximum value for numeric properties. The editor will display up/down buttons.limit
: specify a maximum length for text properties.
-
Added
Script.UpdateConfig()
method. A running script can use this to update its copy of its configuration to reflect external changes. -
Added
EverythingInterface.AutoRunCmd
property to retrieve the configured Everything autorun command. -
Added script
OnFAYTClose()
method. Scripts that implement this method will be called when the FAYT closes (assuming it has been used with a script FAYT command). The FAYTCloseData object it is passed has a single property,tab
, which identifies the tab the FAYT closed in. -
The
Script.UpdateFAYTSuggestions()
method now takes an optional second argument (true / false). If set to false the suggestion list you provide will not be sorted alphabetically. -
Dlg.WatchDir
can now monitor a single file for deletion. -
FSUtil.WatchChanges
can now monitor a single file for deletion.
Evaluator
-
The
group
column now works in evaluation filters when used by theSelect
command. In that and other contexts, the column now returns the true name of the column, without the member count appended to it. -
The new
groupcount
value is now available which returns the total member count of the group a file is in. E.g.Select FILTERDEF =groupcount==1
would select all files in groups by themselves. -
In the evaluator's infotips context, variables
source
anddest
are now available to provide the current source and destination folders. -
In the evaluator's find/filter context, variables
source
anddest
are now available to provide the current source and destination folders.
Miscellaneous
-
Added "Preserve original timestamp" option to the Image Conversion dialog.
-
When rename presets are shown in the Replace dialog, there are now separate entries to apply the chosen preset to all clashing files rather than just the current error.
-
Descriptions can now be read from and written to .url shortcut files (same as for .lnk files).
-
Filtered deletes to the recycle bin are now a bit smarter. If all files in a folder pass the filter, the folder as a whole is now deleted rather than the individual files within it. This also means empty folders (or folders left empty after the delete) are deleted as well (the same as for a non-recycle bin delete), rather than being left behind.
-
Improved image viewer support for very large images (those where total bitmap size exceeds 2 GB).
-
On ARM64 systems, context menus from things like OneDrive and Dropbox should now work in Opus.
-
The "match any word" mode in the filter bar and other places now lets you prefix a string with : to match it literally. This is useful if you want to search for a string beginning with a + or - or other special character. E.g.
+foo :+bar
would match "foo" and "foo +bar" but not "foo bar". -
The advanced Rename tool now supports folder aliases in the New Name field.
-
Added a command to the default Column Header context menu to edit evaluation columns in Preferences.
-
The file type summary dialog now shows total file/folder/size count at the bottom.
-
The "Initial Key" metadata field is now supported for Ogg/FLAC files.
-
Added an option for the Everything "Match Path" mode to the search field's dropdown menu.
-
The filetype editor now shows a separate entry for any file classes that are registered but no longer used because they've been overridden by reassigning the default program for a particular file type. This lets you access and edit any context menus that may have been set up for the old file class before it was overridden. The list of file extensions highlights any extensions that are overridden.
-
There is now a separate diagnostic log - general diagnostic messages are no longer displayed in the script log.
-
InfoTip thumbnails can now be positioned to the left, top and bottom of the text as well as to the right. Add the letter "l", "t" or "b" to the
{thumbnail}
code in the infotip definition to select the position (e.g.{thumbnailt}
to put the thumbnail at the top). -
The advanced filter control Type clause can now specifically match junctions and links individually, as well as matching junctions/links/shortcuts as a group.
-
If Open With is used to change the default handler for an image file, and the option to override double-clicks on images is turned on in Opus, a notification message is now shown to explain that double-clicks may be overridden.
-
Text markup can now render an icon for a system filetype, e.g.
<%sysi:txt>
will show the icon for .txt files.