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=UtilityPane
is now supported as a synonym forSet UTILITY=Focus
. You can also use it to test if the panel already has focus. -
Copy WHENEXISTS=merge
now works when the target is an archive specified via theCREATEFOLDER
argument. -
Go TABLOCK
has a newtarget
parameter which makes it act on the command's source tab rather than the lister's active tab. (Useful for scripting.) -
Added
Copy STRIPMOTW
argument. Allows the mark-of-the-web to be removed when copying downloaded files, even if other NTFS ADS data is preserved. -
Copy QUEUE
now has bothquiet
andnoisy
parameters, to override the Preferences setting both ways. E.g.Copy QUEUE=MyQueue,noisy
will always show a confirmation when adding to the queue. -
Added
Go NEWTAB=dupe
keyword. Duplicates the current tab completely when opening a new tab. -
Added additional keywords for the
Go TABDUPLICATE
command. 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=full
keyword, or the "Duplicate" option for a new tab), the back/forward history list is now copied to the new tab. -
Added
Go REFRESH
expanded 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
,Favorites
andRecent
commands, 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 PATH
argument, 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 TABGROUPDESC
argument, used to set a description when saving a tab group programmatically viaGo TABGROUPSAVE
. -
The dialog used by
Copy CREATEFOLDER
now has the same "read new folder" options as the normal Create Folder dialog (read, read into new tab, etc). AddedREADAUTO/K
argument forCopy
command. -
Added
Prefs POS
argument. 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 COPYCOLUMNS
can now copy entire columns of data without the cells having to be highlighted first (e.g.Clipboard COPYCOLUMNS=index:0/1/4,all
would copy the full contents of columns 0, 1 and 4). Specifying column indices without theall
keyword will copy data only from items that have at least one cell highlighted. -
Added
NOTCOPYING
flag forSelect
command. Will only select files that aren't involved in a copy job (either active or queued). E.g.SELECT ALLFILES NOTCOPYING
. -
Added
CLI QUICKFINDCLEAR
command; clears FAYT match highlights from the file display (same effect as pressing Escape by default). -
Changes related to
Go OPENCONTAINER
:- The
Go
command'sOPENCONTAINER
andEXISTINGLISTER
arguments now work better together. Go OPENCONTAINER=target,noselect
now works as documented.
- The
-
Show VIEWERCMD=goto
can 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
Rnd
function. -
Added
IsDir
andIsFile
functions. -
Evaluator clauses in functions and button labels (etc.) are now passed
selbytes
andtotalbytes
values, 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
#q
to the variable name (e.g.allfilepath#q
). -
Evaluator code inside a
@perfile
block can now check thepreparse_dummy
bool 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
CRLF
as a predefined value, expands to a string containing a carriage return + linefeed.
Scripting
-
Added
OnConfigBackup
andOnConfigRestore
events. -
Added
DOpus.FlushConfig
method: Forces any pending, unsaved Opus configuration data to be written to disk immediately. -
Added
Dialog.singleton
property: 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.Create
orDialog.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.state
property: Returns "min", "max", "visible" or "hidden" to indicate the dialog's state. -
Added
Dialog.WindowCmd
method: Changes how a dialog is displayed. Takes a single string: "min", "max", "restore", "show", "showna", "hide", or "front". -
Added
OrderedMap
object: Has the same interface asMap
, but remembers the order items were added rather than sorting by their keys. Create viaDOpus.Create.OrderedMap
method. -
All script methods/properties that accept a
Map
now 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.GetSignature
script method. Retrieves information about (and optionally validates) file signatures. -
FSUtil.OpenFile
can now be told to exclude other readers (lowercasex
in mode string) or writers (uppercaseX
in mode string) from accessing the file, if supported by the filesystem. -
FSUtil.Resolve
has newc
flag: Returns "canonical path", including expanding short 8.3 paths to their long equivalents. -
Added
Control.AddText
,ModifyText
andRemoveText
methods. Lets overlay text be added to an image-mode static control in a script dialog. -
Added
Command.DivertClipboard
method. Lets you divert text that would normally go to the clipboard (e.g. by running theClipboard COPYCOLUMNS
command) into a Opus variable. -
Added the
OnQuickFilterChange
script event. Is notified whenever the quick filter changes (e.g. from the filter bar) in a tab. -
Added script
OnPeriodicTimer
event. Allows scripts to have Opus call them periodically at a controllable rate. Use theDOpus.SetTimer
method to create a timer, andDOpus.KillTimer
method to cancel one (or all) timers. -
In script dialogs,
Control.RemoveItem
,MoveItem
,AddItem
andInsertItemAt
now 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 useRemoveItem
to remove one or more pages and add them back later if needed. -
Control.GetItemByName
andControl.GetItemAt
also 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_order
property. 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_raw
script property. Provides the "true" key qualifiers that were held down when the script was launched (as opposed to thequalifiers
property, which has any qualifiers used to launch the function filtered out). -
Added
DialogListColumn.align
property. Set to either "left", "right" or "center" to control column alignment. -
Added the script
OnPowerEvent
event. 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_level
script 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.