12.8 24th April, 2018
- Added support for Dropbox Smart Sync (Opus now recognises when
files are "available online only", can display thumbnails for offline files,
etc).
- Added the ability to blur filenames and paths in the Lister, in order to
take screenshots without revealing potentially sensitive information. The
default Help menu has a new Secure
Screenshot command in it which lets you take a secure screenshot of
the current Lister or the whole desktop (with all Listers
blurred).
Note that at the moment there is no blurring in secondary
windows (progress indicators, error dialogs) or in dropdown menus (favorites,
breadcrumbs path, etc).
The Clipboard SCREENSHOT
command can take a screenshot of either the current Lister or the whole
desktop, with or without blurring of filenames. By default the screenshot is
placed in the clipboard, but it can optionally be saved to the desktop
automatically. The command can also display an optional countdown timer for
taking more complicated screenshots.
- The Set BLURFILENAMES command can be used to manually
turn blurring on and off in the current Lister, if you want to use an external
screenshot tool.
- Added basic support for WSL (Windows Subsystem for Linux):
- Added CLI DOSPROMPT=wsl command to open a linux shell
(assuming WSL is installed in Windows 10).
- The Clipboard COPYNAMES command has a new
wsl argument that copies filenames in WSL (Linux) format,
e.g. instead of C:\Test it would copy
/mnt/c/test.
- The /mnt/ format is also understood by path fields, etc
(anywhere aliases work).
- Added a new WSL Command mode to the FAYT; this lets you run linux
commands (providing WSL is installed under Windows 10) from the FAYT like
you can already run DOS commands. By default the activation key is
| (vertical bar).
- Added Clipboard COPYNAMES quote keyword, to force copied
pathnames to be quoted whether they contain spaces or not.
- The Rename tool has a new mode, Regular
Expressions + Find And Replace, which combines both modes (lets you
search and replace within filenames using regular expressions, without having
to construct a pattern to match the whole name).
- The Duplicate Finder tool now has a Size
mode which only finds duplicates based on their size (ignoring name, date and
contents). The Find command has a new
SIZEONLY argument to activate this mode from a
command.
- Buttons can now be hidden or disabled based on the number of selected
files or folders. For example,
@hidenosel:minfiles=2,maxfiles=4 will hide a button unless 2,
3 or 4 files are selected.
- The {foldercontents} and {foldersize}
infotip fields can now be configured to control what they show:
- noprefix can be used to remove the normal prefix added
to the field (e.g. {foldersize:noprefix})
- files and dirs can be used for
{foldercontents} to only show one type of content {e.g.
{foldercontents:files,noprefix})
- The Preferences / Miscellaneous / Advanced /
use_color_management option now allows an external ICC file to be
selected (as well as the built-in sRGB profile). Additionally, PNG files with
embedded ICC profiles are now supported as well as JPEGs.
- The Show command now has POS and
SIZE arguments that let you specify a position and/or size
for the standalone viewer window.
- Added Set VIEWPANELOCK command. When the viewer pane lock
is turned on, it will continue to display its current image even if the file
selection is changed in the Lister.
- Folder tab group changes:
- Menus for selecting folder tab groups now highlight the "active" group,
i.e. the one which was last loaded. You can use Go
TABGROUPLIST=nohighlight to prevent this on user-editable toolbars
and menus.
- When saving over a tab group, the suggested group name now comes from
the display you are saving from (if applicable) and not always the source
display.
- When saving over a tab group, the dialog now opens with the existing tab
group name pre-selected.
- You can now use Go TABGROUPSAVE=!forget to tell the
file display to de-couple itself from any loaded tab group (e.g. so the
group's name is no longer selected in the list of tab groups).
- The Go TABGROUPSAVE command also now has
!closeall and !nocloseall keywords which
override the state of the Close all other tabs flag. These
existed previously but were undocumented, and the way the flag behaves when
saving over existing groups has been improved slightly.
- You can now use Go TABGROUPSAVE=!current to save over
the last folder tab group which was loaded. If no group is loaded, you will
be prompted to name a new one, unless you add !quiet as well. You can also
use !unless to skip saving if a particular group is
currently loaded. Details in the manual.
- You can now use Go TABGROUPLIST=savecurrent on a
toolbar to generate a list of buttons for each folder tab group where any
changes to the current group (if any) will be saved automatically before
switching to another group. Note that this does not cover saving the current
group in other situations like closing the Lister, and consideration is
needed if you use this with multiple Listers at once. More detail in the
manual.
- The metadata panel can now be used to set the Lens Type EXIF
field.
- Added .mkv to the default list of extensions viewed via Generic ActiveX.
This should mean that if the Opus Movie plugin cannot view an MKV then Opus
will fall back on the Windows Media Player ActiveX control, which can view
them with newer versions of Windows.
- The metadata panel now notices and updates external changes to the
metadata of files it's currently showing in more cases (e.g. if the file is
modified externally using a "safe save" technique the panel should now
notice).
- Made changes to the file notification system to improve performance when
copying files across a network.
- The dialog confirming that a copy operation has been queued now has a
checkbox on it letting you disable all further confirmations (as well as the
existing checkbox which disables them for the current queue only).
- Opus's Select Folder dialog now has a drop-down providing quick access to
any paths currently open in a Lister or tab.
- Added a workaround to try to prevent TeamViewer from locking up Opus when
using the Image Convert function. Opus now also tries to detect TeamViewer and
add itself to the exclusion list for TeamViewer's QuickConnect feature, since
it seems to cause nothing but problems (for lots of software, not just
Opus).
- WebP images can now be displayed in the viewer, preview pane,
thumbnails. The image converter can convert from WebP to other formats (but
not the other way around). Alpha channel transparency is supported. Metadata,
tiled images (over 16kx16k) and animated images are not currently
supported.
- The advanced command editor now allows commands to be set as WSL
Script functions; similar to DOS Batch mode, this
runs the command as a WSL (Bash) script. Note that WSL needs to be installed
from the Windows Store.
- Enabled several columns for movie files that previously only worked for
music files (even though the metadata panel could show them for movies). The
columns are Year, Genre,
Title, Artist, Encoded By,
Initial Key, Composers,
Conductor, and Producers. Also added
Directors column since that was missing altogether.
- The Preferences / File Displays / Border page now lets
more than one toolbar to be selected for the file display border.
- Under Preferences / Toolbars / Appearance, the maximum
allowed button spacing values now scale with DPI. (The values themselves
already scaled when you moved between machines or DPIs, but the maximum the UI
let you enter was always 10 pixels until now.)
- The vertical button spacing option in Preferences / Toolbars /
Appearance can now be applied to individual buttons on vertical
toolbars or items in pop-up menus via two new options on the same
page.
- Added Preferences / Folder Tabs / Options / Click selected
tab option which lets you control what happens when you click the
already active folder tab.
- A new Extra Line Padding option in Preferences /
File Display Modes / Details and Power which
complements their older Extra Line Spacing option. Padding
makes each line taller, adding extra space inside the clickable area, similar
to using a taller font. Padding is scaled with DPI. (On the other hand,
spacing increases the gap between items and is outside the clickable area.
With large spacing you get gaps between items which act like the lister
background when clicked. Spacing is not DPI scaled as you will probably only
want exactly 0 or 1 pixel of it: You can set spacing to 1 pixel to prevent the
overlap of selection boxes on newer versions of Windows which causes a thin
line between selected items. For everything else, you probably want to use the
new padding option.)
- Improved the interaction between grid lines and extra line spacing in
Details and Power modes. If you notice any glitches in how the grids and
backgrounds behind/between files are painted, please report them.
- Added Preferences option Folders / Folder Behaviour / Ignore
junctions and softlinks when calculating folder sizes. Also added the
GetSizes IGNOREJUNCTIONS argument for to override the option
setting.
- Added new Preferences option Folder Tabs / Options / Process file
changes in background tabs. When this is turned off (the default is
on), tabs that aren't visible will no longer process file change
notifications. Instead they'll be flagged as dirty, and automatically
refreshed when you switch to that tab.
- Added Recent command COPY argument which
lets generated recent list buttons copy (or move) selected files to recent
folders automatically. The KEYARGS argument also supports the
use of the Copy command in this context.
- Updated 7z.dll to version 18.01 to address two potential
security issues ( https://landave.io/2018/01/7-zip-multiple-memory-corruptions-via-rar-and-zip/
). Note that we don't think either would affect Opus in its default
configuration, but they could be a problem if you switch Opus from Unrar.dll
to 7z.dll for RAR files, or if you turn on the ZipX archive type via
Preferences.
- Added the Set TABPOSITION command that lets tab position
be modified on a per-Lister basis.
- Added the Set LISTERSIZE=auto command, which
automatically resizes the Lister to fit the current columns (in details/power
mode only).
- Opus can now show product version, product name, company name and digital
signature status for MSI installer packages.
- AudioTags plugin updated to populate Composers and Conductors file display
columns for FLAC, iTunes/M4A, Ogg Vorbis and APE audio files.
- The Jobs Bar text and background colors can now be configured in
Preferences.
- When pasting a clipboard image to a file in a Lister the busy indicator is
now shown to indicate activity (as otherwise it can sometimes not be obvious
that anything is happening).
- The viewer now shows a wait cursor while saving over the current image,
since it can take a while (e.g. huge PNG images).
- The CLI DOSPROMPT command will now use the current folder
set by the CD instruction (if supplied), e.g:
cd "c:\program
files"
CLI DOSPROMPT
- Added Select GROUPNAME argument to allow selection based
on file group (when file display is grouped).
- Combine with PATTERN (or NOPATTERN)
argument to select files in a specific group or groups.
- You can also use it to give focus to a specific group header
(Select NOPATTERN GROUPNAME <name>
SETFOCUS).
- Added built-in folder alias /dropbox (when Dropbox is
installed).
- Added support for checkboxes to listviews in script dialogs.
- The listview control can have checkboxes set to
Automatic or Manual (as well as
Off).
- In Automatic mode, the state is changed automatically when user clicks
the checkbox. In Manual mode, you're notified of the click but must change
the state yourself.
- The Msg object has a new event checked
that indicates that the checkbox was clicked.
- The Msg object has a new checked
property that indicates the old check state (for Manual mode) or new check
state (for Automatic mode).
- The DialogListItem object has a new
checked property that lets you get or set the check state
for an item.
- Check states are: 0 (unchecked), 1
(checked), 2 (indeterminate), 3
(unchecked/disabled), 4 (checked/disabled),
5 (indeterminate/disabled)
- Added Blob.Find and
Blob.Reverse script methods.
- Added Viewer.AddFile and
Viewer.RemoveFile script methods to modify the list of viewed
pictures in an existing viewer.
- Added a new FileGroup script object which exposes
information about a file group (when a Tab is set to group by
a particular column).
- The Tab object has a new filegroups
property which returns a collection of FileGroup objects
representing all file groups in the Tab.
- The Item object has a new filegroup
property which returns a FileGroup object representing the
group the item is a member of.
- Added scripting FileAttr object, to better represent file
attributes.
- A new FileAttr object can be created by the
FSUtil.NewFileAttr() method.
- The Format object's hide_attr,
show_attr, hide_folder_attr and
show_folder_attr properties now return
FileAttr objects instead of strings.
- The Item object has a new fileattr
property that returns a FileAttr object (the existing
attr and attr_text properties are
unchanged).
- The File.SetAttr() method now accepts a
FileAttr object as well as a string.
- If a string is passed to File.SetAttr() (rather than a
FileAttr object), + and -
can be used to set and clear attributes rather than replacing the attributes
entirely. For example, File.SetAttr("-r") to clear the
read-only attribute.
- Script columns can now use the additional types graphrel,
igraphrel and percentrel. These are similar
to the existing types graph, igraph
and percent except that the values your script provides
do not need to be limited to the range 0 to 100. Instead, Opus will keep track
of the smallest and largest values returned and automatically calculate each
file's relative percentage. You can also use the types
graphrel0, igraphrel0 and
percentrel0 which always use 0 as the lower-bound value (and
Opus will simply keep track of the largest value you return).
- The ScriptColumn script object has new properties
(graph_colors, graph_colors2 and
graph_threshold) that let you control the color of graphs
drawn in a graph column.
- Script dialog controls now have properties and methods to get and set
their position within the client area of the dialog. The
properties x, y, cx
and cy let you get and set the left, top, width and
height of the control. The SetPos, SetSize
and SetPosAndSize methods let the position and size be set in
a single call.
- Scripts that open files for writing using the
FSUtil.OpenFile method can now specify "f"
as part of the mode string to automatically remove the read-only attribute
from existing files.
- Scripts that ask to overwrite read-only (R attribute)
files will no longer trigger unnecessary UAC prompts.
- FileSize objects can now be initialised from a
Blob as well as the existing value types. The
Blob must contain exactly 1, 2, 4 or 8 bytes. The new
ToBlob method lets you convert a
FileSize to a Blob.
- String dialogs shown by the Dialog.GetString script
method now support the select property.
- StringSet objects can now be initialised from automation
arrays (vbscript) and Vector objects.
- Added the Func.argsmap property which presents the
arguments for a script command as a Map object.
- Added a way for a script that implements the
OnDoubleClick event to indicate that it wants to be invoked
with only the path to the double-clicked item rather than a full
Item object (which may be slow to construct, e.g. on network
paths):
- Set the new ScriptInitData.early_dblclk property to
True.
- OnDoubleClick will then be called with a new property
early set to True in the
DoubleClickData object.
- When early is True, the
item property is not present; instead, the new
path property provides the full path of the object, and the
new is_dir property indicates whether the item is a folder
or file.
- When the OnDoubleClick method returns, it will be
called a second time, with early set to
False and a full Item object available in
the item property.
- If the script sets the new skipfull property to
True in the DoubleClickData at the "early"
stage, the second call to OnDoubleClick doesn't occur.
- Fixed incompatibility with TumaSoft's PresetViewer Argus in the Opus
viewer pane (for viewing Photoshop brushes, shapes, and so on).
- Fixed a crash in the script dialog editor with a particular combination of
control modifications.
- Fixed a problem where modifying a 7zip archive that was open in the file
display could cause the Lister to jump to the parent folder.
- Fix for submitted crash dump involving Flickr Sync.
- The tooltips for Go commands which use explicit paths can now use %1 to
insert the path into the tooltip string.
- Fixed the folder tree showing the same library twice when the library was
the Lister's default path and libraries were configured to appear under the
Desktop branch.
- Fixed grouping by Label or Status Icon putting each file into its own
group in the previous version.
- The maximum length of the string that can be entered into a
{dlgstring} dialog has been increased to 2048
characters.
- Fixed email address field from appending a backslash after using
completion or pushing End twice.
- Path-completion controls in various dialogs will no longer submit the
dialog if you push return while the completion drop-down is open. They now
select the chosen path, close the drop-down, and give focus to the edit
control. You can then use tab to move to other controls, or push return a
second time to submit the dialog.
- Added a workaround to prevent corrupted files when dragging and dropping
from UltraISO to an Opus window.
- Fixed an error which could leave large (> 2 GB) image files locked
after trying to extract metadata from them.
- Fixed incorrect size/positioning of folder thumbnails using a single image
(folder.jpg) and a non-square thumbnail size set via Show
THUMBNAILSIZE.
- In Preferences, DPI scaling is now applied to the maximum size you can set
marked image thumbnails within the viewer.
- Fixed height of marked image thumbnails in the viewer if the thumbnail
size was not configured to be square.
- Fixed file display scrollbars not updating in existing windows when line
spacing was changed in Preferences.
- Fixed a bug which meant a file's ADS streams may not have been preserved
when converting an image in place with the Image CONVERT
command.
- The Image CONVERT command now preserves any XMP metadata
embedded in the image file (previously only EXIF data was preserved). For
example, in PNG files tags are stored in an XMP tag and previously weren't
preserved.
- Fixed some very minor DPI issues with the search field (top right of
default toolbars, and bottom left of Preferences dialog).
- Fix for separators in the Layouts list appearing in the wrong place within
the Desktop context menu, if you had more than one separator.
- Fixed a situation where the viewer failed to display Office documents if
they were currently open in Microsoft Office.
- Workaround for Microsoft Word documents sometimes appearing clipped in the
viewer with newer versions of Microsoft Office.
- Removed OpenOffice and Adobe Flash extensions from the list which Opus
will attempt to view via Internet Explorer by default, since these days they
are more likely to cause a Save As dialog to appear than to result in a
working viewer via IE. If you were still relying on IE plugins for any of
those formats, you can add their extensions back via Preferences.
- Microsoft Office and other preview handlers are now cached by the viewer
pane so that viewing one document and then another will be faster.
- Fixed problem where the rename Automatically number files when
names clash option could get confused if the original name ended in a
number followed by a ) character (e.g. ABC
(2018-02-06) ).
- Tidied up the way accelerator keys are assigned in the
Rename dialog. (e.g. Previously, if you opened the dialog in
Find and Replace mode, the Alt+F key for refreshing
the script preview would not work.) Some of the keys have changed as a
result.
- When copying files out of non-zip archives (ones handled by the Archives
plugin), you can now retry after a disk full error.
- In scripting, if a file had no tags, the
Item.metadata.tags.count property was undefined instead of
reporting 0.
- Fixed issue which could cause an infinite loop when performing certain
rename operations recursively.
- Fixed an issue when running the Clipboard PASTE command
from a script that could cause it to incorrectly paste to the destination file
display instead of the source.
- Fixed problem removing all tags from a PDF file that had no other
metadata.
- MD5 accuracy slider in the Duplicate Finder tool has
up/down cursor key direction swapped.
- Status bar codes for showing the name and other details about the
last-selected file now work in all types of folder.
- Fixed an empty archive being left around if archive creation failed or was
cancelled, when using the Add To Archive dialog, or when the
destination archive required elevation to create.
- Fixed another issue where modifying a non-zip archive could cause the
Lister to react as if the archive had been deleted (e.g. go up to the parent
path).
- Fixed the Favorites ALIAS=set and
ALIAS=delete commands when used on toolbars. They previously
only worked via hotkeys and scripts.
- @hidenosel and @disablenosel patterns
and file/dir limits now work in the context menus for the folder tree and file
display.
- The New context menu in Opus no longer filters out types
that have identical content type specifications. This check (and
questionable filetype registrations by other programs) may have resulted in
the New Text Document menu being missing on some machines.
Note that you may now see two almost identical items in the New menu for
Microsoft Access, but this behavior is correct, and
Microsoft's fault, and the same is true in Explorer.
- Fixed incompatibility with drag & drop from ISOBuster.
- The standalone viewer slideshow speed setting in Preferences now allows
fractions of a second to be specified (using a decimal point).
- The three tabs in the Advanced Function editor when it's in script mode
now remember their cursor position and selection range when you switch between
them.
- The Create Folder dialog no longer allows strings
containing colons (and other invalid filename characters) to be pasted in from
the clipboard.
- Fixed not being able to set Preferences / Miscellaneous /
Advanced: clipboard_image_paste to JPG for some configs which
date back to older versions of Opus.
- The path field's ghost path breadcrumbs are now cleared when you
right-click the path field and choose Clear History, or when
you run the Recent CLEAR command.
- Fixed archive extract-to-subfolder failure when the archive name had a
space before the extension.
- Experimental fix for file change notification not working in collections
when files are added via a junction or mount point.
- The @toggle and @icon modifiers can now
test conditions based on any internal command, not just the
Set command.
- Opus will now show an error when you try to copy a file > 4GB in size
to a FAT or FAT32 drive.
- The confirmation dialog when deleting a single file now truncates long
filenames in the middle (e.g. aaa...ccc) rather than at the end
(aaabbb...).
- The current per-tab font scaling setting is now saved as part of layouts
and styles.
- The Rename dialog's preset list now shows a tooltip for
any presets whose names are too wide for the list to show
completely.
- Removing files from a collection can now be undone.
- The metadata pane should now recognise .m4a files properly (previously it
was only checking for audio/x-m4a content type, it now checks for audio/mp4 as
well).
- Dragging a "modern" application (e.g. Calculator) from
the start menu to an Opus Lister now correctly creates a shortcut to the
app.
- Combining the Select SOURCETODEST command with the
HIDEUNSEL argument now correctly hides unselected items in
the destination file display.
- The Align other Lister element headers with the file display
border Preferences option is now disabled if more than one toolbar is
selected for the FDB.
- The COPYDIRTIMES and COPYFILETIMES (and
several other arguments) for the Copy command did not work in
conjunction with the EXTRACT argument.
- Fixed a problem where renaming a folder by only changing the case of its
name (e.g. "test" to "TEST") would cause it to be removed from the folder
tree.
- Fixed problem with misreported duration of some AVI video files.
- When the file display is grouped and in details mode, pushing
shift+up/down would sometimes not scroll the list far enough to show the next
selected file.
- In the viewer pane, Opus would show the wrong cursor if the Expand
and scroll was turned on but the parent option Scroll with
left mouse button was turned off.
- If you used the Grid Lines toggle in the default toolbars (Set
GRIDLINESH=toggle) to override the grid line settings in Preferences,
then used it again to go back to normal, that lister would then ignore changes
to grid lines Preferences. The second toggle will now reset the lister back to
the current Preferences settings, and it will then track them as
normal.
- Fixed the metadata panel's date fields showing the wrong day names when
not being edited, if you had added day names to the system-wide short date
format.
- Fixed "inherit columns from other formats" preventing a format from
overriding the Default format's column sizes. Also fixed an issue where
certain combinations of columns in the inherited and main format resulted in
column sizes being shifted (e.g. Column 3's size applied to column 2, and so
on).
- Fixed grid lines being invisible over columns with background colors in
some situations, and improved centering of grid lines when "use visual styles
to draw items" is off.
- Fixed tooltips displaying Opus-generated folder thumbs without proper
borders.
- When using the Go FOLDERCONTENT command with the
useshell option, sub-folders that only contain files and not
folders will now be expandable.
- Fixed problem where the tooltip for a folder with
folder.jpg inside would not render any folder thumbnail at
all.
- Fixed issues with folder thumbnails in Tiles and Details+Thumbnails modes
(images could draw outside the folder border).
- Fixed problem where a newly created library would not update in the tree
to show added member folders until the tree was refreshed.
- Reworked the way Opus enumerates printers to prevent delays during startup
(and possibly other times) caused by Windows taking a long time to process
network printers.
- Fixed problem where using Image CONVERT to convert from a
picture in a zip file to the same zip file could cause a deadlock.
- The simple Find panel now shows help bubbles again when wildcard
characters like ( and ) are typed.
- The simple Select dialog no longer shows the wildcard help bubble as soon
as it appears if the edit control already has wildcards in it from the last
time.
- Workaround for Windows bug that caused parts of the Preferences /
File Operations / Filters page to be drawn incorrectly after
displaying the wildcard help bubble.
- Fixed Expand & Scroll not working in the preview
panel for raw camera files, and others loaded via simple bitmap
plugins.
- Improved Open With menu compatibility with Explorer when
multiple versions of a program are installed side-by-side (e.g. Adobe
Premier).
- It's now possible to drag a file collection to a toolbar in Customize mode
to add a button to go to that collection.
- Fixed problem with the Filetype CONTEXTMENU command when
a folder was selected - if it was present in the File menu
following Filetype CONTEXTMENU=Directory\Background, it would
generate commands (e.g. "Open in Explorer") for the wrong folder.
- Also fixed longstanding issue where context menus in the
File menu could end up in the wrong spot (e.g. below the
Exit Directory Opus command).
- The GetSizes command no longer ignores offline files when
the Ignore junctions and softlinks option is on (so
calculating the size of an offline OneDrive or Dropbox folder now works
properly).
- The Add folder to search dialog in
Find did not let you add a path by typing it in manually in
some cases.
- In the icon modes, when the file display is grouped and the last group is
collapsed, pressing the End key now puts the focus on the
last group rather than the last (hidden) file within it.
- The Metadata dialog now correctly displays the focus rectangle if you push
the cursor down key rather than Tab when the cursor opens.
- Using the Image CONVERT command with
REPLACE=always now correctly replaces existing files when the
destination is a zip file.