Directory Opus 13.24.3 (Beta)

:warning: This is a beta release. It may be unstable. Some text may not be translated yet. Use at your own risk!

:inbox_tray: Download manually, or use Help > Check for Program Updates (if beta versions are enabled in Preferences / Internet / Updates).


Note: This release of Opus is signed with a brand new certificate. Please don't be alarmed by any Microsoft SmartScreen warnings you may encounter.

Preferences

  • Added Preferences / File Display Columns / Options / Show abbreviation for "bytes" in file sizes option.

  • Added a new default evaluator column, Image Size. Displays the size of an image in megapixels.

Commands

  • The CreateFolder MULTI argument can now be used in non-interactive mode, to indicate that the "create multiple folders" logic should still be used. This lets you have a command that creates multiple numbered folders, e.g. CreateFolder NAME="New Folder <5>" MULTI).

  • @if and similar command testing for Show VIEWERCMD=backcol now recognises the allowcheckerboard keyword.

Scripting

  • The FSUtil.Run() method can now wait asynchronously for the launched program to complete and then send a message to a script dialog with the results. To use this, pass the dialog object as the sixth argument to the method (or as the dialog property if using map arguments). The return value from the Run() method in that case will be an ID number which identifies the task. Your message loop will receive a "run" message with this ID as the data property. The state property indicates whether the program was launched successfully or not, and the object property contains the RunResults object.

  • In script dialog listview controls, you can now add multiple items/subitem values using a Map to specify the column names directly. The AddItem and InsertItemAt methods accept a Vector of Map objects. Each Map should contain key/value pairs for the column data to insert. By default the column titles are used as the keys but you can specify different (language-neutral, for example) keys with the new SetColumnPropertyNames method (this new method takes a Vector of strings; each string corresponds to a column in the listview.)

  • In jscript scripts, jscript plain dictionary objects are now accepted as an argument documented as taking a Map. So for example you can pass {key:value, key:value, ...} to a method that accepts an Opus Map object.

  • Scripts that generate toolbar buttons can now pass an Image object for the ButtonData.image and ButtonData.image2 properties.

  • The Command.IsSet() method now handles it again when it's incorrectly given the "Set" command at the start of the command line (accidentally changed in 13.24.1).

Evaluator

  • Evaluator columns can now return group information (when operator == "group") as a map, the same as for evaluator groups. This lets the group order, collapse state and optional markup for label headings be controlled.

  • Added some numeric limits as predefined values in the evaluator: maxint, minint, maxuint, maxint64, minint64, maxuint64, maxdouble, mindouble.

  • Added evaluator LanguageStr() canonical strings for "megapixels" and "mp".

Other changes

  • Date columns from the shell (e.g. System.ItemDate) are now handled as dates rather than as text, which means they're formatted better and sort properly.

  • Improvement for the fix in 13.24.1 "Fixed interaction between @keydown:ctrl and the Set DUAL command."

  • The function editor now notifies you in real time if you specify a hotkey that's already in use, rather than waiting until you click OK to close the dialog.

  • Improved the positioning of the tooltip thumbnail when displayed to the right of the text.

Fixes

  • Fixed pinned file labels not working reliably on folder read if autosize all columns was turned off.

  • Fixed Docs plugin's error message not always rendering when it opens in a standalone viewer.

  • Fixed viewer scrollbar arrows being drawn over when resizing the viewer window.

  • Fixed distortion when resizing window with zoomed image in GPU-accelerated viewer.

  • When the viewer pane is horizontal, its context menu can now be accessed from the header (previously the whole of the header could be used to resize the panel, now just the top portion of it can be).

14 Likes