12.24 5th May, 2021
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