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.
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.
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.
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.)
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.
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.)
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.
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.
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.
Please note that as an experiment, on an ARM64 system the 12.24.5 installer will install the x64 build rather than the x86 build. If you're going to try the beta on ARM64 and previously had Opus installed you should backup your configuration and uninstall the 32 bit version before installing this version.
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 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 a crash introduced in 12.24.3 when editing certain script configurations.
Fixed overlapping transition animations if the standalone viewer opened on a marked picture.
Fixed script dialog drop-down controls with lots of items not having scrollbars.
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.
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.
Please note that as an experiment, on an ARM64 system the 12.24.4 installer will install the x64 build rather than the x86 build. If you're going to try the beta on ARM64 and previously had Opus installed you should backup your configuration and uninstall the 32 bit version before installing this version.
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.
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.
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.
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.
Go FOLDERCONTENTfilefilter 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.
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.
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).
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.
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.
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.
Script Control object's label property can now also be accessed via the alternative title name, since both terms are used in different places.
Fixed F1 help not displaying if two script add-ins added custom documentation.
Script help pages can now be larger than 32413 bytes.
Copying NTFS ADS out of Collections should work now. Also fixed the same issue when copying out of Libraries.
Scripting Vector.assign and append methods now work with JScript arrays as documented.
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.
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.
Fix for issue introduce in previous beta where a Copy command which specified a file path (rather than working on the selected items as normal) would remove the file extension from the destination file if extensions were hidden in File Explorer.
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 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.
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 configs include the alternative hotkeys by default for the lister and standalone viewer. Existing configs 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 configs. 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 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.
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 mis-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.
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.
Directory Opus 12.24 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.
The following changes were part of the 12.23.1 - 12.23.4 beta updates:
Added a new folder tree option: FTP Site roots always to go initial folder. Changes what happens when you're already connected to an FTP site and then click its name in the folder tree again, for sites with an initial folder specified in their FTP Address Book entry. Whether this option is on or off, if you are not connected to an FTP site and click its name in the folder tree, you will connect to the site and navigate to its initial folder (if it has one). The option changes what happens if you then click the site again: If the option is off (the default), you will go to the site's root folder. If the option is on, you will go to the site's initial folder. The option only affects what happens when you click the site in the tree using the mouse; selection via the keyboard, and navigation via things other than the tree, are not affected.
The Find command's ADVANCED and SIMPLE arguments are now ignored in situations that don't open the find panel.
The advanced find (filter control) now allows searching by music bit depth.
The Description column now reports the type of ARM64 executables.
The Image Conversion dialog now has options to prevent images from being enlarged or from being reduced (useful when resizing a batch of images).
The Image LOCATE command now accepts the kml keyword. This does exactly the same thing as Image LOCATE=googleearth but doesn't check for the presence of Google Earth specifically (i.e. any tool can be assigned to open .kml files).
Image LOCATE=googleearth (and kml) now supports locating multiple images at once.
Image LOCATE=windowsmaps now works to locate selected images (up to 25 maximum) in the Windows 10 Maps app.
The command parser now supports string arguments with embedded quotation marks. To use this, the argument itself must be quoted. Inside a quoted string, two quotation marks together will turn into one literal quotation mark in the parsed string.
For example, SetAttr META "comment:a string with ""internal"" quotes"
The {dlgstring} code has a new doublequotes modifier. You can use this to allow the user to type quotes within strings that are fed into command parameters. The parameters would usually need explicit quotes around them.
For example, SetAttr META "comment:{dlgstring|Enter Comment||doublequotes}"
The {file} etc codes have a new urlencode modifier, which URL-encodes the filename it adds to the command line.
For example, you could now have a context menu command which does an automatic Google search for the selected filename with: https://www.google.com/search?q={file|urlencode}
The format lock (if turned on) no longer applies when navigating to the This PC or MTP folder (i.e. one of the locations in the System folder formats category).
The Inherit columns from other matching formats and Content threshold folder format settings are no longer preserved by Favorite formats (they aren't applicable to Favorites, but if you created the Favorite by copying it from a format that had these options modified, they would be preserved behind the scenes).
The Blend file background colors with background option now applies in the icon/thumbnail modes as well as in Power/Details modes.
Clicking OK in the Customize dialog now saves any changes in any currently-open function editors (previously changes in function editors would be lost unless they were OK'd first).
When searching the Preferences dialog, the search index is now saved to disk to make subsequent searches faster. This also avoids having to create all the Preferences pages, which takes a while and, in turn, triggers a bug in current versions of Windows 10 that makes the Preferences window very slow to move. Further, it should help users who reported extremely slow Preferences searches unless they disabled their virus checkers. The first search you do will be the same speed as before, but all subsequent searches should be much faster. (The cache will also be discarded each time Opus is updated, after changing language, and after larger Windows updates.)
Added keywords ftpsitename and ftphost to the Breadcrumbs field. When in an FTP site, ftpsitename will cause the breadcrumbs field to show the address book name of the site (if any) rather than the host address. ftpsitename,ftphost will show both.
The combination of {file|noext|urlencode} now works.
The context menu in the File Log now has an Open Containing Folder command on it.
Close PROGRAM=onlast now works properly from a user-defined command.
It's now possible to type an alias name containing a vertical bar into the location field.
When a label definition's text and background colors are so similar that the text would be unreadable, Opus now makes the label color more high contrast in the UI (e.g. in Preferences or in the Set Label menu item).
If the drag & drop function from filetypes is deleted so that no action would take place when a drag & drop occurs, the mouse cursor now reflects this rather than showing the default "copy" cursor.
The {dlgchoose} and {dlgchooseS} codes now let you prefix an option with default: to make it the initial selection.
The options/values for {dlgchoose} now support embedded + and = characters if they are doubled-up.
Additions to the date and time format syntax for {...} codes, providing functionality which previously required scripting:
Time strings can be made to include milliseconds by inserting M (capital-m) at the start of the format string. For example, {time|MHH:mm:ss} will return something similar to "08:45:32.021".
Date strings can use "Monday", "Today", Tomorrow", and similar for dates within a week of today by inserting N (capital-n) at the start of the format string. For example, {modified|D#Nyyyy-MM} when renaming a file.
Tooltip thumbnails are now shown in thumbnails mode if they are configured for a size at least twice as large as the thumbnails in the file display (this same logic was already used for tiles and details+thumbnails modes).
EXIF tags written by Opus no longer have a UTF-8 BOM prefix. (This was in the release notes for 12.22 but the change was left out by mistake.)
Fixed cosmetic issues in the metadata editor's date-time fields, when multiple files were selected with fields that had the same date or time but not both.
When a button editor is open, most actions which move, cut or delete the item being edited, or a parent of it (e.g. items inside menus) are now blocked to avoid losing edits.
To help avoid rare conflicts with other software and Desktop Double-Click, where launching other software after the double-click handler (DOpusRT.exe) breaks things, you can now add a /Delay=x argument to make DOpusRT.exe /DblClk wait before starting. Currently, this has to be added via the registry, but we will add a Prefs UI for it in the future. Ask on the forum if you need to use this.
Fix for Print/Export Folder not working correctly, and taking an extremely long time, if a graph column was collapsed to zero width.
When the current drive is removed and the Lister reverts automatically to showing the This PC folder, the removed drive's paths are no longer removed from the history list - so if the drive is reconnected you will be able to click Back to get back to the previous location.
The text viewer now lets you choose a bold/italic font (and hex viewer lets you choose a bold font).
OneDrive's context menu is now included when right-clicking the background of a OneDrive folder.
Hopefully fixed a problem with the duplicate finder which could cause a corrupted file list if a large number of results were returned.
The from/to fields at the top of the progress dialog can now be clicked to open a new Lister showing that folder.
The path field's Paste and Go context menu item is now enabled for paths containing aliases and envvars, and WSL /mnt/... paths, provided they resolve to fully qualified paths. (These already worked, but you had to paste and push return instead of using Paste and Go.)
Fixed the folder tree sometimes needing a manual refresh after certain sequences of folder creation, deletion and rename in quick succession.
Improved error reports and retry prompts when setting file comments on files which are in use or require UAC elevation.
Made a change to help guard against a reported crash.
Fixed path completion not working if configured to "when I press the cursor keys".
If the advanced custom_date_format setting uses codes for week number, ISO week number, or ISO year, they should now all work everywhere which the format affects. (But note that most people trying to use ISO year there are making a mistake. ISO year is tied to ISO week, where some dates in early January may have fall under the previous year. ISO year is not what you should use if you just want the year in a normal DMY, MDY, or YMD format.)
When loading configs from older versions, if the advanced custom_date_format setting uses the ISO Year code but not the ISO Week code, it will be fixed automatically to use the normal year code. Using ISO Year without ISO Week is almost certainly a mistake and misunderstanding.
When editing the same setting, if the ISO year code is used without the ISO week code, Opus will now alert you and offer to fix the format for you. If you really want ISO Year by itself at that point, you can say no, and it will then be saved and loaded in the config as in previous versions.
Fixed a bug in the Archives plugin (used for everything except Zip) where generating thumbnails or using the viewer on very large files could mean the files continued to be extracted (in turn locking the archive from deletion) for up to a minute after the thumbnailer/viewer finished with them (where they only needed data from the start of the file to display it, or gave up trying to display its contents entirely). Speculative extraction now only continues for up to 2 seconds, as it was supposed to.
Fixed native display of This PC (My Computer) not happening if it was added to and accessed via Quick Access.
Fixed problem with Rename sequential numbering when a pattern was specified and files didn't match the pattern.
Preferences / File Operations / Filters now blocks path characters when renaming filters.
Fixed incompatibility with drag & drops coming from PeaZip.
Fixed problems with descript.ion files being left behind if a folder containing one was moved from one drive to another (assuming support for descript.ion files is enabled).
Dragging a folder from an MTP device in Explorer to the Opus folder tab bar no longer opens a tab for every subfolder within it.
The Allow file selection when clicking to... options on the Preferences / File Displays / Mouse page now work with Single-click to open an item turned on.
In a dual file display, %G in the custom title bar definition would always show the target folder for the left file display rather than the source.
When the Sort field-specific key scrolling option is turned on, and the file list is sorted by something other than the name column, matches from the FAYT are now shown in that column as they are when searching on filename.
In a context menu, clicking the parent item of an already-open submenu no longer closes the submenu and then reopens it.
Resetting the Folder Options / Columns page to factory defaults now resets the Width columns to Auto rather than leaving them empty.
Implemented a workaround for a Windows 10 issue which causes lag when moving certain windows. (This problem started with a late 2020 Windows 10 update and affects any program or window with a large number of controls inside it. In Opus, the worst affected window was Preferences after doing a search, since that created all the sub-pages inside the window. Opening a large number of folder tabs in a lister could also trigger similar problems. You can see similar problems with Photoshop, or in some text editors if you open a lot of document tabs. Our workaround isn't perfect -- window movement can become jerky instead of laggy -- but makes things a lot better, until Microsoft fix their OS. The workaround has only been added to the Preferences and lister windows for now, as it shouldn't be needed for any others.)
Changing the Text Viewer's bold and italic font settings now updates existing viewers.
When loading a Lister Style that is set to load a tab group, if any sections of the folder formats of the tabs in the group are turned off, this is now respected.
Fixed problem with wildcard label filters on MTP devices where wildcards would not correctly match the beginning of filenames.
Fixed problem with the controls under the Preferences / Folder Tabs / Appearance / Same size tabs option not being initially selected correctly in all cases.
Fixed incorrect interaction between custom time format and the Show seconds/Show milliseconds options.
Fixed problem which could result in an incorrect folder being loaded in a dual display Lister when changing between a network and a local folder, and something other than Desktop was selected as the start of the folder tree.
Fixed high DPI combobox height with simple {dlgchoose} and script dialog requesters that use them.
Made some changes to improve resize speed (only affects Windows 10 / DWM currently).
Fixed the Folder Tree Options page in Preferences not displaying correctly with certain custom/non-standard Windows scaling factors.
Fixed problem with folder tabs context menu command "Split to dual display" leaving the remaining tabs the wrong size in some cases.
Clarified docs and command template for the Set FORMAT argument.
Scripting changes:
The UnorderedSet.Exists method now works with sets containing things other than strings.
DOpus.LoadImage can now accept a Blob instead of a filename to decode an image from memory.
FSUtil has new GetTempDirPath, GetTempFilePath and GetTempFile methods, to make creating temporary files and folders easier.
FileSize.high and FileSize.low properties now return a DECIMAL type rather than a LONG (LONG types are signed; DECIMAL types are unsigned).
FileSize has a new val property, which returns the full 64-bit value as a DECIMAL type. Works in JScript, does not work in VBScript.
FileSize has new valhex, highhex and lowhex to return the values as hexadecimal strings.
FileSize can now be initialised with a hex string by prepending $ or 0x to the value (e.g. "$100").
Added File.path property which returns the path of the File object as a Path object (the default value only returns a string).
The File.Write method can now accept a string to write to the file as well as a blob/array. The string will be UTF-8 encoded.
The FSUtil.OpenFile and Item.Open methods now accept the d flag to mark the file as "delete-on-close". It will be automatically deleted when the file is closed.
The Map script object has new Get and Set methods as an alternative to using map("key"). For convenience [] can also now be used to access map members, but only if the key is completely numeric (e.g. map[123]) or begins with an underscore (map["_moo"]);
The DOpus.LoadThumbnail script method has a new optional flags parameter. Currently the available flags are i and c. If the i flag is set this prevents Opus from waiting for thumbnails that may take some time to generate, and instead returns a large icon if the thumbnail can't be generated immediately. You can also set the c flag to make make this only happen in cloud folders (e.g. OneDrive).
Added FSUtil.GetADSNames script method. Returns a StringSet containing the names of any alternate NTFS data streams attached to the specified file.
Added valign property to script dialog static controls; allows text to be centered vertically or bottom-aligned as well as top-aligned.
Number fields in script dialogs can now have their minimum/maximum values set to negative numbers
Added script Dialog.WatchTab event type filter - notifies of changes to filtering via the filter bar.
The following changes are new for 12.24:
Fixed {file|noext} not adding automatic quotes when needed.
Fixed issue with local HTTP help where some internal page links used Javascript that didn't work locally.
Fixed Preferences / Miscellaneous / Advanced not filtering itself if the search cache existed and a Preferences search matching the Advanced page was done before it had been displayed.
Added PDF-XChange Column Handler shell extension to the default blocklist, as it was causing delays reading the first folder after a reboot. This only affects the custom file display columns it added, which we don't think many people were using. Other PDF-XChange functionality, such as the Preview Handler, is unaffected.
If you need to unblock it, add {D8716A0E-4E9F-4D3F-BF1B-3460D86BB310} to Preferences / Miscellaneous / Advanced [Troubleshooting]: allow_context_menus
The Blend file background colors with background option now applies in the icon/thumbnail modes as well as in Power/Details modes.
Additions to the date and time format syntax for {...} codes, providing functionality which previously required scripting:
Time strings can be made to include milliseconds by inserting M (capital-m) at the start of the format string. For example, {time|MHH:mm:ss} will return something similar to "08:45:32.021".
Date strings can use "Monday", "Today", Tomorrow", and similar for dates within a week of today by inserting N (capital-n) at the start of the format string. For example, {modified|D#Nyyyy-MM} when renaming a file.
Made some changes to improve resize speed (only affects Windows 10 / DWM currently).
Close PROGRAM=onlast,confirm now works correctly with more than one Lister open.
Fixed the Folder Tree Options page in Preferences not displaying correctly with certain custom/non-standard Windows scaling factors.
Fixed problem with folder tabs context menu command "Split to dual display" leaving the remaining tabs the wrong size in some cases.
Clarified docs and command template for the Set FORMAT argument.
Number fields in script dialogs can now have their minimum/maximum values set to negative numbers
The Image Conversion dialog now has options to prevent images from being enlarged or from being reduced (useful when resizing a batch of images).
The Image LOCATE command now accepts the kml keyword. This does exactly the same thing as Image LOCATE=googleearth but doesn't check for the presence of Google Earth specifically (i.e. any tool can be assigned to open .kml files).
Image LOCATE=googleearth (and kml) now supports locating multiple images at once.
Image LOCATE=windowsmaps now works to locate selected images (up to 25 maximum) in the Windows 10 Maps app.
The format lock (if turned on) no longer applies when navigating to the This PC or MTP folder (i.e. one of the locations in the System folder formats category).
The Inherit columns from other matching formats and Content threshold folder format settings are no longer preserved by Favorite formats (they aren't applicable to Favorites, but if you created the Favorite by copying it from a format that had these options modified, they would be preserved behind the scenes).
Clicking OK in the Customize dialog now saves any changes in any currently-open function editors (previously changes in function editors would be lost unless they were OK'd first).
When searching the Preferences dialog, the search index is now saved to disk to make subsequent searches faster. This also avoids having to create all the Preferences pages, which takes a while and, in turn, triggers a bug in current versions of Windows 10 that makes the Preferences window very slow to move. Further, it should help users who reported extremely slow Preferences searches unless they disabled their virus checkers. The first search you do will be the same speed as before, but all subsequent searches should be much faster. (The cache will also be discarded each time Opus is updated, after changing language, and after larger Windows updates.)
Added keywords ftpsitename and ftphost to the Breadcrumbs field. When in an FTP site, ftpsitename will cause the breadcrumbs field to show the address book name of the site (if any) rather than the host address. ftpsitename,ftphost will show both.
The combination of {file|noext|urlencode} now works.
The context menu in the File Log now has an Open Containing Folder command on it.
Close PROGRAM=onlast now works properly from a user-defined command.
It's now possible to type an alias name containing a vertical bar into the location field.
When a label definition's text and background colors are so similar that the text would be unreadable, Opus now makes the label color more high contrast in the UI (e.g. in Preferences or in the Set Label menu item).
If the drag & drop function from filetypes is deleted so that no action would take place when a drag & drop occurs, the mouse cursor now reflects this rather than showing the default "copy" cursor.
The {dlgchoose} and {dlgchooseS} codes now let you prefix an option with default: to make it the initial selection.
The options/values for {dlgchoose} now support embedded + and = characters if they are doubled-up.
Tooltip thumbnails are now shown in thumbnails mode if they are configured for a size at least twice as large as the thumbnails in the file display (this same logic was already used for tiles and details+thumbnails modes).
Fixed incompatibility with drag & drops coming from PeaZip.
Fixed problems with descript.ion files being left behind if a folder containing one was moved from one drive to another (assuming support for descript.ion files is enabled).
Dragging a folder from an MTP device in Explorer to the Opus folder tab bar no longer opens a tab for every subfolder within it.
The Allow file selection when clicking to... options on the Preferences / File Displays / Mouse page now work with Single-click to open an item turned on.
In a dual file display, %G in the custom title bar definition would always show the target folder for the left file display rather than the source.
When the Sort field-specific key scrolling option is turned on, and the file list is sorted by something other than the name column, matches from the FAYT are now shown in that column as they are when searching on filename.
In a context menu, clicking the parent item of an already-open submenu no longer closes the submenu and then reopens it.
Resetting the Folder Options / Columns page to factory defaults now resets the Width columns to Auto rather than leaving them empty.
Implemented a workaround for a Windows 10 issue which causes lag when moving certain windows. (This problem started with a late 2020 Windows 10 update and affects any program or window with a large number of controls inside it. In Opus, the worst affected window was Preferences after doing a search, since that created all the sub-pages inside the window. Opening a large number of folder tabs in a lister could also trigger similar problems. You can see similar problems with Photoshop, or in some text editors if you open a lot of document tabs. Our workaround isn't perfect -- window movement can become jerky instead of laggy -- but makes things a lot better, until Microsoft fix their OS. The workaround has only been added to the Preferences and lister windows for now, as it shouldn't be needed for any others.)
Changing the Text Viewer's bold and italic font settings now updates existing viewers.
When loading a Lister Style that is set to load a tab group, if any sections of the folder formats of the tabs in the group are turned off, this is now respected.
Fixed problem with wildcard label filters on MTP devices where wildcards would not correctly match the beginning of filenames.
Fixed problem with the controls under the Preferences / Folder Tabs / Appearance / Same size tabs option not being initially selected correctly in all cases.
Fixed incorrect interaction between custom time format and the Show seconds/Show milliseconds options.
Fixed problem which could result in an incorrect folder being loaded in a dual display Lister when changing between a network and a local folder, and something other than Desktop was selected as the start of the folder tree.
Fixed high DPI combobox height with simple {dlgchoose} and script dialog requesters that use them.
Added FSUtil.GetADSNames script method. Returns a StringSet containing the names of any alternate NTFS data streams attached to the specified file.
Added valign property to script dialog static controls; allows text to be centered vertically or bottom-aligned as well as top-aligned.
The command parser now supports string arguments with embedded quotation marks. To use this, the argument itself must be quoted. Inside a quoted string, two quotation marks together will turn into one literal quotation mark in the parsed string.
For example, SetAttr META "comment:a string with ""internal"" quotes"
The {dlgstring} code has a new doublequotes modifier. You can use this to allow the user to type quotes within strings that are fed into command parameters. The parameters would usually need explicit quotes around them.
For example, SetAttr META "comment:{dlgstring|Enter Comment||doublequotes}"
The {file} etc codes have a new urlencode modifier, which URL-encodes the filename it adds to the command line.
For example, you could now have a context menu command which does an automatic Google search for the selected filename with: https://www.google.com/search?q={file|urlencode}
Fixed the folder tree sometimes needing a manual refresh after certain sequences of folder creation, deletion and rename in quick succession.
Improved error reports and retry prompts when setting file comments on files which are in use or require UAC elevation.
Made a change to help guard against a reported crash.
Fixed issue with the newly added ability of the File.write script method to write a string rather than just a blob (a null-termination character was incorrectly being written at the end of the string).
To help avoid rare conflicts with other software and Desktop Double-Click, where launching other software after the double-click handler (DOpusRT.exe) breaks things, you can now add a /Delay=x argument to make DOpusRT.exe /DblClk wait before starting. Currently, this has to be added via the registry, but we will add a Prefs UI for it in the future. Ask on the forum if you need to use this.
The DOpus.LoadThumbnail script method has a new optional flags parameter. Currently the available flags are i and c. If the i flag is set this prevents Opus from waiting for thumbnails that may take some time to generate, and instead returns a large icon if the thumbnail can't be generated immediately. You can also set the c flag to make make this only happen in cloud folders (e.g. OneDrive).
Fixed path completion not working if configured to "when I press the cursor keys".
If the advanced custom_date_format setting uses codes for week number, ISO week number, or ISO year, they should now all work everywhere which the format affects. (But note that most people trying to use ISO year there are making a mistake. ISO year is tied to ISO week, where some dates in early January may have fall under the previous year. ISO year is not what you should use if you just want the year in a normal DMY, MDY, or YMD format.)
When loading configs from older versions, if the advanced custom_date_format setting uses the ISO Year code but not the ISO Week code, it will be fixed automatically to use the normal year code. Using ISO Year without ISO Week is almost certainly a mistake and misunderstanding.
When editing the same setting, if the ISO year code is used without the ISO week code, Opus will now alert you and offer to fix the format for you. If you really want ISO Year by itself at that point, you can say no, and it will then be saved and loaded in the config as in previous versions.
Fixed a bug in the Archives plugin (used for everything except Zip) where generating thumbnails or using the viewer on very large files could mean the files continued to be extracted (in turn locking the archive from deletion) for up to a minute after the thumbnailer/viewer finished with them (where they only needed data from the start of the file to display it, or gave up trying to display its contents entirely). Speculative extraction now only continues for up to 2 seconds, as it was supposed to.
Fixed native display of This PC (My Computer) not happening if it was added to and accessed via Quick Access.
Fixed problem with Rename sequential numbering when a pattern was specified and files didn't match the pattern.
Preferences / File Operations / Filters now blocks path characters when renaming filters.