Directory Opus 13.24
Download manually, or use Help > Check for Program Updates.
The following is a summary of new features and other significant changes from 13.23.
See the New Releases forum for detailed release notes for the various beta versions from 13.23.1 onwards.
Native SVG support
Opus now supports native rendering of SVG files.
-
When shown in the viewer, images are dynamically resized when zoomed.
-
Toolbar buttons can now use SVG code for their icon imagery, embedded within the button itself (i.e. not reliant on external files).
-
You can also include inline SVG code in marked up text. The image will be automatically scaled to shell icon size (16x16 at 100% dpi). Use
<%svg>to introduce the SVG code. E.g.blue <%svg viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="blue" /></svg> dot. -
Things that accept marked-up text (e.g. markup text control in script dialogs) now also accept SVG code directly (rather than as an inline code) - in this case the image will be resized to fill the available space.
-
The
DOpus.LoadImage()script method can now create an image object from SVG code. In this mode, the "alpha" parameter is no longer valid, instead the last parameter is "remove_padding". -
You can use stylesheets with SVG images to support colour remapping in dark/light modes. Add
<style id="dark">...</style>and<style id="light">...</style>elements to the SVG definition. Opus will automatically recolor the image for the currently selected mode.
SVG Icons
Opus now supports SVG icon sets. Unlike traditional icon sets that use one or more bitmaps with a grid of icons, SVG icon sets store the SVG code directly in their XML definition file, making them completely self-contained. SVG icons will scale automatically, and if rendered using "currentColor" in the SVG will use the toolbar's default text color automatically.
- To make an SVG icon set, the
<set>element'ssizeattribute should be set to "svg". - Optionally, set
remove_padding="yes"to have any padding automatically removed from the SVG image. - You can include common styles that will be shared by all icons in the set. The
<style>elements should be at the same level as the<icon>elements. - SVG icon sets can have default small and large sizes defined. These control how large the icons are scaled by default when the button or toolbar is set to small or large size. Add
small="x"andlarge="x"attributes to the<set>element. - SVG icons that use "currentColor" are now shown in the appropriate color from the toolbar/button in the button editor and icon browser.
From Customize/Toolbars you can now set custom image sizes on a per-toolbar basis, to control the size of SVG icons and icon sets.
Viewer
-
Improved viewer magnifier cursor key "nudge" behaviour when zoomed into the image.
-
You can now click the viewer selection area grab handles, hold the Shift key down, and release the mouse button - the mouse will still move the selection handle around until you release the Shift key. This lets you use cursor key nudging while editing the existing selection.
-
The selection in the viewer can now be adjusted with the cursor keys:
-
Ctrl + β/β/β/β- expand selection
-
Ctrl+Shift + β/β/β/β - shrink selection
-
β/β/β/β - move selection
-
-
The option to display a checkerboard as the full viewer background has been moved from Colors & Fonts to the viewer Preferences pages (separate options for standalone viewer and viewer pane). Added a checkerboard option for QuickShow.
Preferences
-
Added Preferences / Folder Tabs / Options / Display tab index option.
-
Added Preferences / Viewer / Standalone Viewer / Options / Show checkerboard behind transparent images option (and a similar one for the Viewer Pane).
This is different to the "Checkerboard if possible" option for the viewer background colour, because it only renders the checkerboard effect behind the image itself - any area surrounding the image will be rendered in the normal viewer background colour. Note that unlike the "Checkerboard if possible" background option, this option works even if accelerated rendering is turned off.
-
Added Preferences / File Displays / Mouse / Allow file selection when clicking to give focus option. If turned off, clicking a file display that doesn't have input focus won't select/deselect files - instead, it will only gain the focus, and you'll need to click again to change file selections.
-
The Filters page in Preferences now has Share/Paste functions to make it easy to share filters with others.
-
Added Preferences options to control the size and initial zoom level of the viewer's magnifier (and also to disable it). Separate options for the standalone viewer and viewer pane.
-
Moved the Title Bar-related options from Preferences / Viewer / Standalone Viewer / Options to a new page.
-
Added Preferences / File Display Columns / Icons / Treat WSL paths as network paths option. Lets you enable generic icons for network paths without it applying to WSL paths.
-
Added Preferences / Miscellaneous / Advanced: [Behaviour] iconbrowser_default_combined option.
Presets improvements
-
Preset names can now be up to 64 characters long (increased from 50).
-
Descriptions can now be added to presets (e.g. Filters, Synchronize, Find Panel, etc) via the preset management dropdown. Descriptions are shown in a tooltip when hovering over the preset name in the dropdown, as well as in a separate column if the dropdown is wide enough.
-
The preset management dropdown now remembers the collapse state of groups.
Other changes
-
Added "GPS Timestamp" column.
-
Added "Long Description" field for MP3/MP4 audio files
-
In the metadata panel, you can now copy timestamps from/to the "Release Date" field.
-
You can now undo restoring items from the recycle bin (i.e. if you delete a file to the recycle bin, then undo it, you can now redo the delete).
-
Preferences / Miscellaneous / Advanced / ο»Ώconfig_backup_name can now include the Opus version number, using
%OpusVer%(2 numbers for stable releases, 3 for beta) or%OpusVerBeta%(always all 3 numbers). -
Added support for reading native eXIf chunks in PNG files (rather than EXIF encoded as a text chunk).
-
You can now add descriptions to rename presets (shown in a tooltip).
-
The Create Folder dialog now displays the base location that new folders will be created in.
Commands
-
Added
Set CLEARAUTOFORMATScommand, used to clear the list of automatically remembered folder formats. -
Added "sortnumeric" option for
Go FOLDERCONTENTandFavorites FOLDERCONTENTcommands. -
Added
@skipallerrorscommand modifier. Automatically skips over any errors without showing an error dialog. -
Added
SetAttr RESETOPTIONSargument. Prevents the SetAttr dialog from opening with the selected options from the last time it was used. UseRESETOPTIONS=fromfileto also reset the file times to the timestamp of the selected file. -
Added
gpstimekeyword support toSetAttr MODIFIED/CREATED. -
Go FOLDERCONTENT=nomenuselnow propagates arguments likeNEWTABto the commands run when folders are clicked to open them. -
Added
Help CLOUDDIAGNOSTICcommand, prints diagnostic info for cloud storage to the Diagnostic log. -
For cloud files, the "Always available on this device" context menu command (
SetAttr PIN) now pins all selected files if any are currently unpinned, and only unpins them if all are currently pinned. This is instead of toggling the state of each file individually - you can useSetAttr PIN=toggleexplicitly if you still desire that behaviour.
Scripting
-
Numeric edit controls in script dialogs have two new properties:
- Preserve padding: makes them preserve any zero-padding in front of their value.
- Auto-size: controls will be auto-sized to fit their maximum value (note: the up/down control must also be enabled).
-
Added
ScriptCommand.supportembeddedproperty. Set to true when adding a dynamic command that you want to be able to support embedded functions. -
Added
Control.SortItemsmethod. Sorts the items in a control (currently only works in listviews). You can use this in two ways:- Call with a 1-based column index to sort by that column. Use a negative number for a reverse sort.
- Call with a callback function to implement custom sort order. Your callback will be called with two DialogListItem objects, and should return the result of the comparison between the two (<0 if item1 < item2, 0 if item1 == item2, >0 if item1 > item2)
-
Added
Control.SortGroupsmethod. Sorts the groups in a listview control. You can use this in two ways:- Call with a 1 or -1 to sort alphabetically (1 = forward, -1 = reverse).
- Call with a callback function to implement custom sort order. Your callback will be called with two DialogListGroup objects, and should return the result of the comparison between the two (<0 if item1 < item2, 0 if item1 == item2, >0 if item1 > item2)
-
In script dialogs the markup text control has a new "Right-clicks" property. When set, right clicking on links will generate a "rclick" event.
-
Added
Command.TestCommandState()script method. Similar toIsSetbut with a less confusing interface. First argument is the full command line to test. Second optional argument is flags; only one defined currently is "e" which tests if the command is enabled rather than checked (the default).
Changes since 13.23.10
- Fix for crash ID 763.
- Possible fix for crash ID 764.