2 December 2021

Directory Opus 12.26

Directory Opus 12.26 is now available as a free update for all Directory Opus 12 users.

New versions are often made available several days before they will be detected by the update checker. You can download Opus using the links below if you don't want to wait.

Download:


The following changes were part of the 12.25.1 - 12.25.4 beta updates:

  • Added support for the new Windows 11 context menu system. This makes context menus for things like OneDrive and WinRAR show up again on Windows 11.
     
  • Added SetAttr PIN and DEHYDRATE arguments; for cloud files, this implements the same logic as the "Always keep on this device" and "Free up space" context menu commands.
     
  • Lister windows now take on the current folder's icon by default. (In a dual-display or multi-tab window, the source active folder tab's icon will be used.) A new option under Preferences / Display / Options lets you switch back to the color-coded Opus logo if you wish.
     
  • Added metadata panel support for Composer, Conductor and Encoded By fields on FLAC, OGG and APE audio files. Also tidied up where the Encoded By data comes from for FLAC files.
     
  • CreateFolder READAUTO now has left and right parameters which are like the old dual but always read the folder into a particular side.
     
  • Added Properties SETLABELREMOVE argument; similar to SETLABELTOGGLE, except it only turns the specified labels off, it won't turn them on.
     
  • Properties ADDLABEL, SETLABELTOGGLE (and SETLABELREMOVE) now accept shift/alt/ctrl arguments to allow any of the three qualifier keys to be chosen.
     
  • Fix/workaround for Windows 11's bug which caused the Desktop Double-Click feature to open Listers from just a single-click if desktop icons were turned off. If you still see an issue after installing the update, please try rebooting, although it isn't normally needed.
     
  • Added support for quotes around parameters given to @ifexists, @ifrunning, and @script. (Quotes are not required for any of them, but now you don't have to remember that.)
     
  • File display scrolling via the mouse wheel is now capped so it won't scroll more than a page, even if the mouse wheel is configured to scroll more lines than are visible. (Mainly helps with Details+Thumbnails mode and large thumbs combined with a wheel configured to scroll a lot more lines than usual.)
     
  • Fixed incorrect display of multi-value ID3v2 tags written by Media Monkey.
     
  • Fixed situation where the standalone viewer's metadata editor still said changes were pending after clicking Apply.
     
  • Improved drag & drop editing of Favorites list in Preferences. As well as fixing a couple of bugs, it is now possible to control whether an item is dropped into or next to a Favorites branch by dragging it to the left or right of the branch's label. (The drop indicator lets you see what will happen before releasing the button.)
     
  • Fixed Add To Favorites dialog getting confused by Favorites tree branches with colons in their names, and made name filtering consistent between that dialog and the editor in Preferences.
     
  • Added workarounds for handling shortcut files under very long paths.
     
  • Find (Simple) now ignores the Type drop-down being set to File Type Group if no group is selected in the drop-down next to it.
     
  • Menus listing columns from multi-column scripts are now sorted by name. (This was incorrectly listed in the 12.21 release notes before the actual change was made.)
     
  • Where two paths point to the same drive via the Windows subst command, moving files between them is now done via a fast rename rather than a slow copy-then-delete.
     
  • When undoing a folder creation, the deletion will do nothing if the folder contains any files or non-empty folders. This is to avoid accidentally deleting items created after the folder was created. ("Empty folder" here means a folder with zero files below it and at most one child "empty" folder which itself is either empty or has one empty child folder, and so on, recursively. So you can still undo a multi-level folder creation, as long as nothing extra has been created within the directories.)
     
  • You can now use the Copy MAKESFX HERE command on archives within collections (e.g. Find Results), where it will create the new exe in the same folder as the archive. (Similar functionality already existed for extracting archives in collections to their own parent folders.)
     
  • Fixed problem with Rename command where if you used FROM without PATTERN, and the FROM argument contained a wildcard, it would try to use that as the value for PATTERN even if it contained wildcard characters that PATTERN doesn't support. Now it will only do this if the only wildcard char used is a *.
     
  • If Rename uses FROM as the value for PATTERN, it now unescapes any wildcard chars that are also valid filename chars automatically.
     
  • Fix for rare crash in the sound player when a sample stops playing and auto-close is on.
     
  • Viewer plugins that return a text stream for another plugin (e.g. the text viewer plugin) to display can now return Unicode/UTF-8 text in the stream without a BOM.
     
  • URL targets are now displayed for .url files with very long paths. (Workaround for Windows limitation.)
     
  • If you right-click an archive and choose "Extract To..." from a dual-display Lister, the Select Destination Folder dialog that opens will now default to the path in the other file display.
     
  • Thumbnails generated via Windows now go one at a time, as the OS seems to have issues with multiple simultaneous requests. (This was already being done for Folder Thumbnails, but is now done for all thumbnails which come via the shell. Normal image files are not affected, as Opus generates thumbnails for those itself.)
     
  • The Display extended sync attributes for cloud folders option was backwards. Note this has been reset to off for everyone.
     
  • Fix for nothing happening on drag & drop of individual pages from PDF-XChange Editor's thumbnails view into Opus.
     
  • Fixed bug which could cause the progress dialog to appear unnecessarily behind the delete confirmation dialog.
     
  • Added Windows 11 support to the WinVer script object (win11 and win11orbetter properties).
     
  • Scripting FSUtil.SameDrive method has a new s flag to test if two paths point to the same drive via drive letters made via the Windows subst command.
     
  • Script listviews can now use 0 as a group id.
     

24 November 2021

Directory Opus 12.25.4 (Beta)

Directory Opus 12.25.4 (beta) is now available for all Opus 12 users.

This is a preliminary, beta release. Translations may not be fully up-to-date and some English text may appear in non-English versions.

Download:


Changes since 12.25.3:

  • Added Properties SETLABELREMOVE argument; similar to SETLABELTOGGLE, except it only turns the specified labels off, it won't turn them on.
     
  • Properties ADDLABEL, SETLABELTOGGLE (and SETLABELREMOVE) now accept shift/alt/ctrl arguments to allow any of the three qualifier keys to be chosen.
     
  • Viewer plugins that return a text stream for another plugin (e.g. the text viewer plugin) to display can now return Unicode/UTF-8 text in the stream without a BOM.
     
  • URL targets are now displayed for .url files with very long paths. (Workaround for Windows limitation.)
     
  • If you right-click an archive and choose "Extract To..." from a dual-display Lister, the Select Destination Folder dialog that opens will now default to the path in the other file display.
     
  • Thumbnails generated via Windows now go one at a time, as the OS seems to have issues with multiple simultaneous requests. (This was already being done for Folder Thumbnails, but is now done for all thumbnails which come via the shell. Normal image files are not affected, as Opus generates thumbnails for those itself.)
     
  • On Windows 11 the OneDrive context menus now work in the folder tree as well as in the file display.
     
  • The Display extended sync attributes for cloud folders option was backwards. Note this has been reset to off for everyone.
     
  • Fix for nothing happening on drag & drop of individual pages from PDF-XChange Editor's thumbnails view into Opus.
     
  • Fixed bug which could cause the progress dialog to appear unnecessarily behind the delete confirmation dialog.

7 November 2021

Directory Opus 12.25.3 (Beta)

Directory Opus 12.25.3 (beta) is now available for all Opus 12 users.

This is a preliminary, beta release. Translations may not be fully up-to-date and some English text may appear in non-English versions.

Download:


Changes since 12.25.2:

  • Added support for the new Windows 11 context menu system. This makes context menus for things like OneDrive and WinRAR show up again on Windows 11.
     
  • Added SetAttr PIN and DEHYDRATE arguments; for cloud files, this implements the same logic as the "Always keep on this device" and "Free up space" context menu commands.
     
  • Added Windows 11 support to the WinVer script object (win11 and win11orbetter properties).
     
  • Added support for quotes around parameters given to @ifexists, @ifrunning, and @script. (Quotes are not required for any of them, but now you don't have to remember that.)

27 October 2021

Directory Opus 12.25.2 (Beta)

Directory Opus 12.25.2 (beta) is now available for all Opus 12 users.

This is a preliminary, beta release. Translations may not be fully up-to-date and some English text may appear in non-English versions.

Download:


Changes since 12.25.1:

  • Fix/workaround for Windows 11's bug which caused the Desktop Double-Click feature to open Listers from just a single-click if desktop icons were turned off. IMPORTANT: You must **reboot** after installing the update for this change to take effect.
     
  • Where two paths point to the same drive via the Windows subst command, moving files between them is now done via a fast rename rather than a slow copy-then-delete.
     
  • When undoing a folder creation, the deletion will do nothing if the folder contains any files or non-empty folders. This is to avoid accidentally deleting items created after the folder was created. ("Empty folder" here means a folder with zero files below it and at most one child "empty" folder which itself is either empty or has one empty child folder, and so on, recursively. So you can still undo a multi-level folder creation, as long as nothing extra has been created within the directories.)
     
  • Reverted change in previous beta involving Copy HERE CREATEFOLDER, as it fixed one rare situation but created another. A larger change is required, and we want to test that internally for a while before we release it.
     
  • You can now use the Copy MAKESFX HERE command on archives within collections (e.g. Find Results), where it will create the new exe in the same folder as the archive. (Similar functionality already existed for extracting archives in collections to their own parent folders.)
     
  • Fixed problem with Rename command where if you used the FROM argument without the PATTERN argument, and the FROM argument contained a wildcard it would try to use that as the value for PATTERN even if it contained wildcard characters that PATTERN doesn't support. Now it will only do this if the only wildcard char used is a *.
     
  • If Rename uses FROM as the value for PATTERN, it now unescapes any wildcard chars that are also valid filename chars automatically.
     
  • Fix for rare crash in the sound player when a sample stops playing and auto-close is on.
     
  • Scripting FSUtil.SameDrive method has a new s flag to test if two paths point to the same drive via drive letters made via the Windows subst command.
     

15 October 2021

Directory Opus 12.25.1 (Beta)

Directory Opus 12.25.1 (beta) is now available for all Opus 12 users.

This is a preliminary, beta release. Translations may not be fully up-to-date and some English text may appear in non-English versions.

Download:


Changes since 12.25:

  • Lister windows now take on the current folder's icon by default. (In a dual-display or multi-tab window, the source active folder tab's icon will be used.) A new option under Preferences / Display / Options lets you switch back to the color-coded Opus logo if you wish.
     
  • File display scrolling via the mouse wheel is now capped so it won't scroll more than a page, even if the mouse wheel is configured to scroll more lines than are visible. (Mainly helps with Details+Thumbnails mode and large thumbs combined with a wheel configured to scroll a lot more lines than usual.)
     
  • CreateFolder READAUTO now has left and right parameters which are like the old dual but always read the folder into a particular side.
     
  • Added metadata panel support for Composer, Conductor and Encoded By fields on FLAC, OGG and APE audio files. Also tidied up where the Encoded By data comes from for FLAC files.
     
  • Fixed incorrect display of multi-value ID3v2 tags written by Media Monkey.
     
  • Fixed situation where the standalone viewer's metadata editor still said changes were pending after clicking Apply.
     
  • Improved drag & drop editing of Favorites list in Preferences. As well as fixing a couple of bugs, it is now possible to control whether an item is dropped into or next to a Favorites branch by dragging it to the left or right of the branch's label. (The drop indicator lets you see what will happen before releasing the button.)
     
  • Fixed Add To Favorites dialog getting confused by Favorites tree branches with colons in their names, and made name filtering consistent between that dialog and the editor in Preferences.
     
  • Fixed some issues with the Copy command's HERE argument when combined with an explicit source argument (that wasn't the current folder) and the CREATEFOLDER argument, and similar.
     
  • You can now use the Copy MAKESFX HERE command on archives within collections (e.g. Find Results), where it will create the new exe in the same folder as the archive. (Similar functionality already existed for extracting archives in collections to their own parent folders.)
     
  • Script listviews can now use 0 as a group id.
     
  • Added workarounds for handling shortcut files under very long paths.
     
  • Find (Simple) now ignores the Type drop-down being set to File Type Group if no group is selected in the drop-down next to it.
     
  • Menus listing columns from multi-column scripts are now sorted by name. (This was incorrectly listed in the 12.21 release notes before the actual change was made.)
     

7 October 2021

Tutorial & discussion: Directory Opus Toolbar Editing

This is a second video with Leo Davidson, from the Directory Opus team, and hosted by Joe Glines of The Automator.

 

This is a mix of demonstration and discussion. The focus is on toolbar editing, but we cover a few different things as we go.

 

We've published this one on both our channels.

 

The one on the Opus channel has a quick intro added to introduce our audience to Joe, but otherwise the two videos are the same:

 

 

 

We hope this new format will mean we can put out videos more often (without spending a week editing everything to perfection, which means it's rare to find time to make videos at all). It's also great to have Joe in the videos asking questions which many in the audience will also want to know.

 

This one ended up a bit longer than intended. I'm still getting used to the format, and also need to improve my mic position / setup. But I think it turned out well and is well worth your time.

 

Thank you again to Jean Lalonde, author of Quick Access Popup, for suggesting this collaboration in the first place and setting up our previous video introducing Opus.

 

Related links:

29 September 2021

Directory Opus 12.25

Directory Opus 12.25 is now available as a free update for all Directory Opus 12 users.

New versions are often made available several days before they will be detected by the update checker. You can download Opus using the links below if you don't want to wait.

Download:


The following changes were part of the 12.24.1 - 12.24.5 beta updates:

  • New/improved ability to copy info tip text to the clipboard:
     
    • Text containing markup, such as info tips for images with EXIF metadata, now has the markup removed from the clipboard copy.

    • A new command Clipboard COPYINFOTIP lets you assign the action to any hotkey. (Previously undocumented hardcoded keys: Ctrl+Shift+Alt+C works by default, but is quite hard to type. Ctrl+Alt+C can also work but is overridden by the default toolbars. You can now pick a hotkey yourself instead.)

    • The action now works for both file displays in a dual-display Lister. (Previously, it only worked if the info tip came from the source side.)

  • The Go FOLDERCONTENT command, which generates buttons or menus for items below a specified folder, has new modes which copy the clicked files into the current (copytosource), destination (copytodest), left (copytoleft) or right (copytoleft) file displays.

    This might be useful if you have a folder of template files or folders you need to copy to different places as you move around. To update the list of items, you would just need to add or remove things (or softlinks to them) to the folder.

    Go FOLDERCONTENT=copytosource and similar can use the new COPYARGS argument to specify additional arguments which are passed to each of the generated copy/move buttons.
     
  • Go FOLDERCONTENT filefilter and dirfilter parameters now support embedded quotes should you need to specify patterns containing commas, which would be parsed as the end of the parameter otherwise.
     
  • Go FOLDERCONTENT can now limit the number of files and dirs it shows using maxfiles=x and maxdirs=y. With recursive menus, the limit is applied separately to each level.
     
  • Go FOLDERCONTENT=nodirs now also excludes shortcuts to directories.
     
  • Added some new filename passing codes that deal with drive letters and labels:
    • "notermdrive" is like "noterm", but also suppresses the backslash at the end of a drive root.
    • "driveletter" returns just the single-character letter of the drive at the start of the path.
    • "drivelabel" returns the label for the drive at the start of the path.

  • You can now use Ctrl+Insert and Shift+Insert as alternative hotkeys for Ctrl+C and Ctrl+V in the file display, without causing problems when trying to use them in places like the Find Files panel.

    New configurations include the alternative hotkeys by default for the Lister and standalone viewer. Existing configurations are unaffected, but you can modify the Edit > Copy and Paste menu items or reset the Menu toolbar to factory defaults to add the alternative hotkeys to old configurations. Ctrl+C and Ctrl+V continue to work as before, of course.
     
  • Ctrl+Backspace and Ctrl+Delete now work in more places (e.g. the "Clipboard PASTE AS=ask" dialog's filename field).
     
  • Since Go OPENCONTAINER NEWTAB implicitly acts as if NEWTAB=findexisting was requested, there is now a NEWTAB=nofindexisting to make it always open a new tab, even if one already exists for the folder.
     
  • Added the FileType FILECONTEXT argument, which lets you create a toolbar button for a file where left-clicking opens/runs the file and right-clicking shows the file's context menu.
     
  • Added Select SIMILAR=trueext argument; causes the command to ignore multi-part extensions. E.g. file.part1.rar, file.part2.rar and file.part3.rar would all be considered to be .rar files rather than having different extensions.
     
  • Added Go LIMITPATH (and Prefs LIMITPATH) arguments, which let a Lister be restricted to one or more paths (and any folders under those paths).
     
    • Go LIMITPATH=current restricts the Lister to all the paths currently shown in all tabs.
    • Go LIMITPATH=reset removes path restrictions for the current Lister.
    • Path restrictions are saved in Lister Layouts (and the Default Lister).
    • New Listers opened from an existing Lister will inherit its path restrictions by default (unless the LIMITPATH argument is used to override).
       
  • Added help messages to the viewer pane when a PDF or Microsoft Office document fails to load due to missing or broken third-party viewers.
     
  • Added workarounds to help find a PDF preview handler when one is installed but the file type has been broken by different software fighting over it.
     
  • For .DOC files which don't start with the MS Word header (e.g. plain-text README.DOC files common on other platforms), the viewer pane will now avoid trying to load them via MS Word (which works if Word is installed, but will now result in an error message if Word isn't installed). The simple text plugin can handle them instead.
     
  • The advanced wordbreak_char_names and wordbreak_char_paths settings now have default values that include the typical punctuation characters. Previously, edit controls using these settings considered a very minimal set of word-break characters, unless you manually configured additional ones, which was a slight regression from Windows defaults. (If you edited either setting in the past, you may need to reset it now to get the new defaults. If you liked things how they were, set both settings to an empty string.)
     
  • The advanced wordbreak_char_names setting is now used by more dialogs which prompt for a file name, including Clipboard PASTE AS=ask.
     
  • If FAYT and Filter Bar Keys has Filter Bar as the default mode, typing to open the filter bar and then pushing Esc will now reset the filter back to what it was before you started typing, rather than to the first character typed.
     
  • Added support for tools which write EXIF GPS data in an unusual way, where the Minutes and Seconds are both zero and all the information is packed into the Degrees part.
     
  • The Folder Tree's Favorites branch now ignores label filters, since they could cause problems with FTP sites. (Explicit labels and wildcard labels still work.)
     
  • Opus now prevents unintentional drag & drop when toolbars turn on or off in response to activating the left or right file display with the mouse.

    (For example, toolbars configured to appear in certain modes or folders can cause the window to rearrange when clicking the inactive side of a dual file display. This can change the mouse position relative to the file display, which looked like a drag & drop if the mouse button was down.)
     
  • When invoking third-party context menu handlers, the optional menu/mouse position data is now passed through in most contexts.
     
  • The Treat all virtual folders as real option no longer overrides (forces on) the Native display of the Desktop option, in Preferences / Folders / Virtual Folders.
     
  • The folder tree lock is now cleared if you save the default Lister when the tree is turned off. Previously, you'd have to turn on the tree, unlock it, save the default Lister, then turn off the tree again and save the default Lister again.
     
  • Commands which can take a filter name or a wildcard can now be given a string with the wild: prefix to force the rest to be interpreted as a wildcard. For example, if it's a wildcard like ~(xyz) which doesn't include any *, ? or | characters, and where the wildcard characters could also be valid filename characters.
     
  • Fixed {md5sum} in renames inserting nothing for files larger than max_md5_file_size. There is no size limited again when calculating hashes for renaming.
     
  • Fixed an issue which sometimes caused a window frame to flash on the screen when opening other windows in the program. Unlikely to have been seen unless window animations were turned off in the OS.
     
  • Fixed an issue which meant change notifications which arrived with short paths were sometimes incorrectly processed.
     
  • Fixed problem which stopped NTFS ADS being copied when copying out of a Collection.
     
  • Fixed thumbnail mode resetting the scroll position if you filtered the display, cleared the filter, scrolled down with the mouse wheel (without giving the display focus), and then clicked a file.
     
  • If Lister resize grips are on and the Jobs Bar is at the bottom of the window, the grip is now hidden when the Lister is maximized.
     
  • Copying NTFS ADS out of Collections should work now. Also fixed the same issue when copying out of Libraries.
     
  • Fixed issue with thumbnails in tooltips showing the wrong size for videos and some other file types, if the tooltip specified a different thumbnail size to the file display.
     
  • Fixed a potential deadlock if Set VIEWERCMD=delete was followed in a button by another Set VIEWERCMD command, and a script was installed that processed viewer events.
     
  • Fix for calling IColumnProvider::GetItemData with pwszExt set to the file name instead of just the extension. (Thanks to the Tracker Software / PDF-XChange team for reporting this!)
     
  • Fixed viewer pane splitter being thinner than other splitters in high DPI.
     
  • Fix for "not empty" error when attempting a non-recycle-bin delete of a non-empty folder which was flagged as a reparse point but was not a symbolic link or junction.
     
  • Opus now knows that .jfif files are JPEG images without having to inspect their contents, to work better with images saved by Chrome with incorrect extensions.
     
  • Fixed bug which resulted in high CPU usage and the Set As Default Lister dialog failing to open if the folder tree was locked and two toolbars with certain elements shared the same line.
     
  • If you lock the folder tree via the tree header, then hide the header, the tree will now be unlocked until the header is turned back on, even if you had used the Set TREELOCK command at some point in the past. The tree now only stays locked without a header if the lock was created via the command rather than the header.

  • Fixed overlapping transition animations if the standalone viewer opened on a marked picture.
     
     

Scripting:

  • Item.display_name is now set to the same value as Item.name when the file or folder has no distinct display name. Previously, display_name would be blank in that situation and scripts required extra logic to make use of it.
     
  • Fixed Item.display_name not populating when script column handlers were called (and possibly in some other situations).
     
  • FSUtil.GetTempFile now returns a File object which works for both reading and writing. (Previously, the object was write-only and you'd have to open the file again if you needed to read back what you wrote. Opening the file twice may still be preferable if you need independent read and write positions.)
     
  • FSUtil.OpenFile now supports reading and writing the same on-disk file from a single object if "rw" mode is specified.
     
  • FSUtil.OpenFile and FSUtil.GetTempFile both have a new "p" flag which permits deletion of the file by other things while it is open. This also enables files to be opened when they are already flagged for deletion by something else, such as another File object in delete-on-close mode.
     

    When File.Read fails, it now returns zero and ensures the Blob object is zero length. Previously, you had to check the File.Error value to know if the call failed.
     

    Documented the fact File.Read and File.Write can process at most 1GB at a time, and must be called more than once to read or write larger amounts.
     

    Improved documentation of FSUtil.
     

    DOpus.Create.Date(...) now parses milliseconds if they are included. For example, '20010203 12:34:56.789'.
     

    Fixed script resources not being found in files with Unix-style line endings.

  • Vector.assign and append methods now work with JScript arrays as documented.
     

  • Script Control object's label property can now also be accessed via the alternative title name, since both terms are used in different places.
     

  • Scripts enumerating folders via the Windows Shell -- i.e. FSUtil.ReadDir(path, "s") -- now include Hidden+System files. Previously, Hidden files were included but only if they didn't also have the System attribute.

  • Scripts which enumerate the Desktop recursively would be given the wrong path for items in the public desktop folder. This is now fixed.
     
  • Fixed problem with script dialog static controls not respecting their background color if text alignment is set to anything other than top.
     
  • Script dialog group controls now render correctly if you set their titles to an empty string.
     
  • Fix for script dialog editor not allowing you to drag something away from and then back to its original position without releasing the mouse and dragging it again.
     
  • Fix for scripting metadata object not providing all types of metadata (e.g. image metadata) if, say, a file's User Comment was edited and the script (rather than file display columns, etc.) was then first thing to request the file's new information.
     
  • Fixed F1 help not displaying if two script add-ins added custom documentation.
     
  • Script help pages can now be larger than 32413 bytes.

  • Cleaned up the behavior of DOpus.Create.Vector when given multiple arguments where the first one is a vector. It now adds each argument as a member instead of copying the content of the first argument and ignoring the others.
     
  • Fixed script dialog drop-down controls with lots of items not having scrollbars.