This is a beta release. It may be unstable. Some text may not be translated yet. Use at your own risk!
Download manually, or use Help > Check for Program Updates (if beta versions are enabled in Preferences / Internet / Updates).
Preferences
-
You can now configure separate actions for FAYT Folders Mode for Enter + shift/ctrl/alt.
-
When running in a non-English language, the Preferences search now includes the original English-language names of the various Preferences pages in the search index (so you can, for example, search for "language" when running in another language and find the Language page).
-
With custom window frames (toolbar moved into titlebar), default light and dark themes now apply a color accent to active windows rather than inactive ones. (Can be changed via the Window Title colors under Preferences / Colors and Fonts / Directory Opus Colors / Toolbars.)
-
You can now configure what the right mouse button does in the standalone image viewer (Preferences / Viewer / Standalone Viewer / Mouse Buttons). If set to anything other than Context Menu, you can still display the context menu by holding the shift key when you right-click.
-
When the GPU-accelerated viewer is enabled you can now configure the scaling mode exactly (rather than a single "high quality" option). Different modes can be selected for when the viewer is zoomed in (>100%) and zoomed out (<100%).
-
The Toolbars / Icons page in Preferences now has a button to disable individual icon sets.
-
Added an option to Preferences / File Display Modes / Details / Appearance (and a separate one for Power Mode) that lets the vertical padding of file display group header items be configured.
-
Added Preferences / File Operations / Copying Files / Include duplicate count of 1 option (and a similar option for the shortcut template). If turned on a duplicate count of 1 (i.e. the first duplicate) will generate something like "xxx - Copy (1)" rather than "xxx - Copy".
Commands
-
You can now use
{cp}with theCLI QUICKSEARCHcommand to specify where the cursor is positioned in the inserted string. For example,CLI QUICKSEARCHENGINE=everythingglobal QUICKSEARCH comment:"{cp}"would put the cursor between the two quotation marks. -
Added
Show VIEWERCMD=selectregioncommand to the standalone viewer. Automatically selects a default region (respecting aspect ratio if one is set) which can then be modified. If a region is already selected it clears the existing selection. -
Command state tests like
@ifset,IsChecked()etc can now use the Toolbar command to test if a toolbar is visible in a specific position rather than just on/off (e.g.@toggle:if Toolbar "MENU" STATE=top). -
Added
CLIcommandCLOSETIMEOUTandAUTOSEARCHTIMEarguments, which allow the configured FAYT timeouts to be overridden when initiating the FAYT via theCLI QUICKSEARCHcommand.
Evaluator
-
Added try/catch/throw to the evaluator. Lets you catch errors from functions and continue processing rather than have the evaluation aborted.
-
The evaluator now supports suffixes to specify the types of numeric variables.
u - unsigned int
u64 - unsigned int 64
i64 - int 64
f - doubleFor example,
1024u64is the equivalent of1024 as uint64. -
You can now add/subtract milliseconds from evaluator date variables with the 'i' prefix (e.g.
date += 100i;to add 100ms) -
The evaluator
DatePart()function can now useiiandiiifor milliseconds (iiiis zero-padded to three places).
Scripting
-
StringTools Encode/Decode methods now recognize the "WebCharset" keywords from the MIME types list in the registry (e.g. "shift_jis" is the web charset name for "iso-2022-jp").
-
Script columns can now have their type set to "bool". The data provided to a bool column should be either false (0) or true (anything other than 0 - usually 1 or -1). The column value will be displayed as Yes/No in the current language, and will sort with Yes before No by default.
-
The Viewer script object now has an
idproperty which returns a unique ID number for that viewer instance. -
The Viewer script object now has a
varsproperty which provides aVarsobject local to the viewer. Each standalone viewer has its own set of variables. Viewer variables are not persisted to disk and only last until the viewer is closed. -
A script can now pass an Image object as the value of the
Set BACKGROUNDIMAGEcommand to directly set an image as a background image. This implies "local" mode (e.g.BACKGROUNDIMAGEOPTS=localis implicit, even if not specified). -
Listviews in script dialogs have a new Sort Notify property. If turned on, clicking a column in the listview's sort header will generate a "sort" event rather than automatically sorting the list alphabetically by the chosen column. The 1-based column index will be provided in the
Msg.indexproperty. Clicking the current sort column generates a negative index (use this as a cue to sort in reverse order). You can use theControl.SortItemsmethod to sort the list. -
The
Control.SortItemsmethod now takes an optional second argument.- When used with a custom sort callback, the second argument lets you specify the current sort column. The arrow indicator in the sort header will be updated to reflect the new column.
- When given a column to sort by, the second argument is a flags value. Currently the only flag defined is "n", which performs a numeric string sort rather than a standard lexicographical sort.
-
You can now change a script dialog palette control's options from code using the
styleproperty. Valid style flags are:a - Palette type: alpha
t - Palette type: transparent
d - Palette type: default
n - No arrow
c - Can disable
m - Decimal -
The FolderEnum script object now supports wildcard and attribute filtering for the folder enumeration.
- Use the
wildcardproperty to set a wildcard pattern (prefix with "regex:" for regular expression). For example,folderEnum.wildcard="a*";would only return filenames beginning with 'a'. - Set an attribute filter with
attrincludeandattrexclude. For example,folderEnum.attrinclude="hs";would only return items with both the hidden+system attributes set.
- Use the
Other changes
-
Added a command to the Rename preset management dropdown menu to save the current dialog settings as the defaults for the Rename dialog. The defaults will be used when the Rename dialog first opens (unless overridden by command line arguments).
-
Added "Clear History" command to the context menu for the edit field in the Set Description dialog.
-
You can now delete individual strings from the dropdown history list in the Set Description dialog by pressing Shift+Del.
-
Shortcuts created by Opus now set the Initial Directory field to the parent for files, and leave it blank for folders, similar to what File Explorer does.
-
If a search launched from the FAYT is bumped to a new tab because the current tab is locked, the FAYT is now opened in the new tab with the same search string so that the search can be easily modified.
-
For viewer plugins, increased the buffer size for the
lpszHandleExtsfield. -
File display toolbars now use the spacing configured under Preferences / Toolbars / Appearance if it is smaller than their standard 1x1 spacing.
-
Automatic Formats list in Preferences now preserves selection and scroll position when reacting to changes (both new folders being added, and old folders being removed).
-
Added a context menu for the evaluator groups Preferences page.
-
Script and evaluator columns can now appear in more than one column category. For scripts columns, the "category" property can specify multiple comma-separated category keywords. For evaluator columns, the UI allows multiple columns to be chosen.
-
Time format strings can now use
iiandiiifor milliseconds (iiiis zero-padded to three places). -
Junctions made with Opus now set the 'PrintName' field in the filesystem (previously this was left empty). Should not have any effect on how they work.
Fixes
-
Fixed unintentional folder tab repositioning with locked (allow changes) tab when quickly clicking/moving mouse/releasing to reset tab to its locked folder.
-
Fixed Opus Find not matching document/author field in PNG images.
-
Fixed matching brace highlighting in the script editor not working if the opening brace was at the end of the line.
-
Fixed
Viewer.titlenot returning the correct string afterViewers.Update()had been called. -
Fixed erroneous error from
FileDate()evaluator called when used in inline button code. -
Fixed standalone viewer not reacting to toolbar background image changes until re-opened.
-
Fixed unpainted gap between Preferences/Customize buttons on maximized titlebar if both were open and toolbars moved into titlbars.
-
Creating shortcuts to the Libraries root (lib://) now works.
-
Fixed the OnTabClick script event not getting proper qualifiers when Alt key was pressed.
-
FAYT search did not work in a "locked (reuse unlocked tab)" tab.
-
Fixed evaluator parsing error with multiple chained negative multiplications
-
Fixed evaluator signed/unsigned mathematics operations converting the result to unsigned (now converts to signed).
-
Fixed issue when grouping by evaluator columns that rely on metadata columns.
-
Commands like
Select FILTER <presetname>worked in Opus 12 but did not work in Opus 13 (because FILTER had changed from /S to /O). Now they should work again. -
When an image's rotation is changed via metadata its thumbnail is now flushed from the cache; otherwise Opus could display a stale (non-rotated) thumbnail if the file's size and timestamp hadn't changed.
-
The edit field in the
SetAttr DESCRIPTIONdialog no longer loses its cursor position when the dialog loses and then regains activation. -
Fixed script dialog palette control not reporting alpha value properly.
-
Fix for tab drag & drop triggering Windows' "do not disturb" mode when "Turn on do not disturb automatically > When using an app in full-screen mode" is enabled.
-
Fixed "Enter" property of script dialog edit controls affecting multiline edit fields (you would have to have set the property on first before changing the type to multiline, but it should not affect those controls at all).
-
Fixed interaction between
@keydown:ctrland theSet DUALcommand. -
Errors in inline evaluator codes in functions now (e.g.
Select {=banana()=}) are now reported normally rather than being suppressed. -
File copies now set the Modified timestamp at the end of the copy again, not at the start, to avoid confusing software that expects it to only change when the copy finishes.
-
Fixed
@ifsel:type=*.pngand similar patterns behaving as if the condition was true when nothing at all was selected.