Directory Opus 13.10
 Download manually, or use Help > Check for Program Updates.
The following is a summary of new features and other significant changes from 13.9.
See the New Releases forum for detailed release notes for the various beta versions from 13.9.1 onwards.
New Preferences options:
- 
Toolbar and menu buttons that switch into Power Mode are now hidden by default, as the mode is esoteric and has confused a lot of people.
If you use Power Mode, please turn on Preferences / File Display Modes / Power Mode / Display Power mode toolbar buttons to restore the buttons.
 - 
Added Preferences / File Operations / Copying Files / Metadata / Strip zone information (Mark of The Web) option. Allows the mark-of-the-web to be removed when copying downloaded files, even if other NTFS ADS data is preserved.
 - 
Added Preferences / Viewer / Standalone Viewer / Slideshow / Cross-fade transition, to turn slideshow cross-fades on or off by default.
 - 
Colors used to display viewer plugin error messages can now be configured (Directory Opus Colors / Viewer / Plugin - Errors).
 - 
Added an option for new tabs to duplicate the current tab completely (including file selections and expanded folders) in Preferences / Folder Tabs / Folder Tab Bar.
 
Other new features:
- 
Added Signed by column for code-signed executables: Verifies the signature and, if it's valid, shows the signer name (usually publisher).
 - 
Added Streams column: Shows the number of alternate data streams (NTFS ADS) a file or folder has, if any.
 - 
Default toolbars: A command to re-open the last closed lister has been added to the File menu, and to the tab-bar right-click menu. (To update an existing File menu: Settings > Customize > Default Toolbars, then drag the appropriate item to your toolbar. To update the tab-bar right-click menu: Settings > Customize > Context Menus, then right-click Folder Tabs and choose Edit Alongside Default and drag the menu item over.)
 
Changes to commands:
- 
Set FOCUS=UtilityPaneis now supported as a synonym forSet UTILITY=Focus. You can also use it to test if the panel already has focus. - 
Copy WHENEXISTS=mergenow works when the target is an archive specified via theCREATEFOLDERargument. - 
Go TABLOCKhas a newtargetparameter which makes it act on the command's source tab rather than the lister's active tab. (Useful for scripting.) - 
Added
Copy STRIPMOTWargument. Allows the mark-of-the-web to be removed when copying downloaded files, even if other NTFS ADS data is preserved. - 
Copy QUEUEnow has bothquietandnoisyparameters, to override the Preferences setting both ways. E.g.Copy QUEUE=MyQueue,noisywill always show a confirmation when adding to the queue. - 
Added
Go NEWTAB=dupekeyword. Duplicates the current tab completely when opening a new tab. - 
Added additional keywords for the
Go TABDUPLICATEcommand. full - duplicate the full tab, including file selection and expanded folders. nolock - don't duplicate lock state. nocolor - don't duplicate tab colors. active - make the duplicated tab active. - 
When a tab is fully duplicated (
Go TABDUPLICATE=fullkeyword, or the "Duplicate" option for a new tab), the back/forward history list is now copied to the new tab. - 
Added
Go REFRESHexpanded and noexpanded keywords. Allows the expanded folder state to be saved or discarded explicitly, overriding the Preferences flag. - 
The
Go DRIVEBUTTONS,Go FOLDERCONTENT,Go FTPSITELIST,FavoritesandRecentcommands, when generating dynamic path lists, now support KEYARGS mmb:... to specify additional arguments for when the generated buttons are clicked with the middle mouse button. For example, this will show a list of drives and open them in a new window on middle click (instead of the default new tab):Go DRIVEBUTTONS KEYARGS mmb:NEW - 
Added
Select PATHargument, allows selections to be restricted to files or folders whose location matches the specified path. Paths can be specified as absolute or relative (to the current folder). UsePATH .to specify items in the current folder (i.e. contents of expanded folders will be ignored). Supports wildcards. - 
Added
Go TABGROUPDESCargument, used to set a description when saving a tab group programmatically viaGo TABGROUPSAVE. - 
The dialog used by
Copy CREATEFOLDERnow has the same "read new folder" options as the normal Create Folder dialog (read, read into new tab, etc). AddedREADAUTO/Kargument forCopycommand. - 
Added
Prefs POSargument. Use when opening the Preferences, Customize and Scripts dialogs to control the position of the new window. Options are "lister" (open over the active Lister), "mouse" (open under the mouse pointer) or a specified position (e.g.POS=10,10). - 
Clipboard COPYCOLUMNScan now copy entire columns of data without the cells having to be highlighted first (e.g.Clipboard COPYCOLUMNS=index:0/1/4,allwould copy the full contents of columns 0, 1 and 4). Specifying column indices without theallkeyword will copy data only from items that have at least one cell highlighted. - 
Added
NOTCOPYINGflag forSelectcommand. Will only select files that aren't involved in a copy job (either active or queued). E.g.SELECT ALLFILES NOTCOPYING. - 
Added
CLI QUICKFINDCLEARcommand; clears FAYT match highlights from the file display (same effect as pressing Escape by default). - 
Changes related to
Go OPENCONTAINER:- The 
Gocommand'sOPENCONTAINERandEXISTINGLISTERarguments now work better together. Go OPENCONTAINER=target,noselectnow works as documented.
 - The 
 - 
Show VIEWERCMD=gotocan now jump to an image by name. You can provide the full pathname of the image, just the name, or a wildcard pattern. 
Evaluator
- 
Added
Rndfunction. - 
Added
IsDirandIsFilefunctions. - 
Evaluator clauses in functions and button labels (etc.) are now passed
selbytesandtotalbytesvalues, providing selected and total byte sizes. Note: Doesn't trigger folder size calculation, but will report folder sizes which have already been calculated. - 
Evaluator clauses in functions can now enable quotes on multiple-filename variables by appending
#qto the variable name (e.g.allfilepath#q). - 
Evaluator code inside a
@perfileblock can now check thepreparse_dummybool value to see if it's being called for pre-parsing (instead of checking for the dummy filename). - 
Evaluator control keys can now call the
ShowTips()function to display the control key tooltip. This lets you create a control key using your own choice of keys to display the helper (rather than use the built-in "hold control key down" functionality). - 
Evaluation columns can now use the function
HasLabel()to see if the file has a specific label applied to it (e.g.HasLabel("green")). - 
The Evaluator now has
CRLFas a predefined value, expands to a string containing a carriage return + linefeed. 
Scripting
- 
Added
OnConfigBackupandOnConfigRestoreevents. - 
Added
DOpus.FlushConfigmethod: Forces any pending, unsaved Opus configuration data to be written to disk immediately. - 
Added
Dialog.singletonproperty: Designed to make it easy to restrict a script dialog to one instance at a time. To use, assign your own (unique) name to the property before callingDialog.CreateorDialog.Show. If the function returns false, it means the singleton dialog already existed, and your script should exit. The existing dialog will be brought to the front automatically. - 
Added
Dialog.stateproperty: Returns "min", "max", "visible" or "hidden" to indicate the dialog's state. - 
Added
Dialog.WindowCmdmethod: Changes how a dialog is displayed. Takes a single string: "min", "max", "restore", "show", "showna", "hide", or "front". - 
Added
OrderedMapobject: Has the same interface asMap, but remembers the order items were added rather than sorting by their keys. Create viaDOpus.Create.OrderedMapmethod. - 
All script methods/properties that accept a
Mapnow also accept anOrderedMap. - 
Script configuration items can now be specified using an
OrderedMap, allowing them to be displayed in a custom order within the script's configuration dialog. - 
Added
FSUtil.GetSignaturescript method. Retrieves information about (and optionally validates) file signatures. - 
FSUtil.OpenFilecan now be told to exclude other readers (lowercasexin mode string) or writers (uppercaseXin mode string) from accessing the file, if supported by the filesystem. - 
FSUtil.Resolvehas newcflag: Returns "canonical path", including expanding short 8.3 paths to their long equivalents. - 
Added
Control.AddText,ModifyTextandRemoveTextmethods. Lets overlay text be added to an image-mode static control in a script dialog. - 
Added
Command.DivertClipboardmethod. Lets you divert text that would normally go to the clipboard (e.g. by running theClipboard COPYCOLUMNScommand) into a Opus variable. - 
Added the
OnQuickFilterChangescript event. Is notified whenever the quick filter changes (e.g. from the filter bar) in a tab. - 
Added script
OnPeriodicTimerevent. Allows scripts to have Opus call them periodically at a controllable rate. Use theDOpus.SetTimermethod to create a timer, andDOpus.KillTimermethod to cancel one (or all) timers. - 
In script dialogs,
Control.RemoveItem,MoveItem,AddItemandInsertItemAtnow work on tab controls to let you remove, move and add back tab pages dynamically. All pages of the tab must still be added in the dialog editor, as before, but once the dialog is created you can useRemoveItemto remove one or more pages and add them back later if needed. - 
Control.GetItemByNameandControl.GetItemAtalso work with tab controls now, to find the index of a tab by the name of its dialog (or vice versa). - 
Markup text controls in script dialogs now have a Scrollbar property. If set to true, and the assigned text doesn't fit within the control, a scrollbar will be shown allowing the text to be scrolled.
 - 
Added
ScriptInitData.config_group_orderproperty. This lets you control the order of configuration item groups for your script. To use this, set the property to a Vector object (created by the DOpus.NewVector) method, and push the group names onto the vector in the desired order. - 
Added
Func.qualifiers_rawscript property. Provides the "true" key qualifiers that were held down when the script was launched (as opposed to thequalifiersproperty, which has any qualifiers used to launch the function filtered out). - 
Added
DialogListColumn.alignproperty. Set to either "left", "right" or "center" to control column alignment. - 
Added the script
OnPowerEventevent. Lets a script receive notifications of system power events (e.g. when the monitor switches off, or when the computer changes from AC to battery power). - 
Added
PairedFolder.parent_levelscript object property. Returns the parent level number of the paired folder if it was necessary to go up in the tree to find a match. Returns 0 if an exact match was found. 
Other changes:
- 
Folders added to the Preferences / Folders / Special Folders / Other cloud folders list now appear in the tree's Cloud Storage branch.
 - 
Libraries and File Collections now support shell columns (i.e. those added via Preferences / File Display Columns / Shell Properties).
 - 
Improved handling of portable devices (MTP) that put path separator characters in the device name (e.g. Samsung phones in some cases).
 - 
The advanced filter control can now match on the value of Evaluator columns.