12.4 15th March, 2017
  - Added functions to the Rename dialog to copy the list of old 
  names to the clipboard, and to paste a list of new names in. The Use 
  preview list to build macros option must be turned off to use these 
  functions. 
  
 - Added two new options to the File Operations / Progress 
  Indicators page in Preferences: 
  
    - Always display the jobs bar: Jobs bars will always be 
    displayed at the bottom of Listers, even when no operations are running. 
    
 - Show in all Listers: When the jobs bar is shown 
    automatically, it will be shown in all existing Listers, not just the active 
    one. 
 
   - Added File Displays / FAYT and Filter Bar Options / Prioritize 
  shorter filenames option to Preferences. When enabled, the FAYT will 
  favor shorter matching filenames over longer ones when searching in Find mode, 
  which may be desirable when the list isn't sorted alphabetically. 
  
 - On the File Display Modes / Thumbnails page in 
  Preferences, the settings for folder thumbnails have been moved to a 
  sub-dialog that's displayed when you click the Adjust folder thumbnail 
  settings link. This dialog contains some new options: 
  
    - Single image: When NOT using the shell to generate 
    folder thumbnails, this causes Opus to only use a single image from within 
    the folder rather than up to four images when building the 
    thumbnail. If the single image option is turned on, a filename or 
    wildcard pattern can be specified to control the files that are looked for. 
    
 - Display folder frame: When NOT using the shell to 
    generate folder thumbnails, this lets you control whether the big "folder" 
    image is used for thumbnail folders or not. If turned off folder thumbnails 
    will be displayed with a normal thumbnail border. The options underneath let 
    you control the color of the folder frame if it's enabled. 
 
   - Added Viewer / Appearance / Reset scroll position for each 
  picture option to Preferences. When enabled, the scroll position of 
  will be reset to the top/left when moving from one image to the next. 
  
 - Added two new options to the various mouse button settings on 
  the Viewer / Mouse Buttons page in Preferences: 
  
    - Expand/Scroll Image: When this option is enabled, 
    and the displayed image is reduced from the original size, clicking and 
    holding the appropriate mouse button displays the image in its original size 
    for as long as the mouse button is held down. 
    
 - Script event: When enabled, any script add-ins that 
    implement the OnViewerEvent script event will be triggered 
    when the button is clicked. The event type will be "click", "dblclk" or 
    "mclick" as appropriate. 
 
   - Added Viewer / Mouse Buttons / Click left/right edges to go 
  to previous/next picture option to Preferences. When this is turned 
  on, the left mouse button will move to the next or previous picture when the 
  left or right edges of the window are clicked irrespective of the actual 
  setting for this button. You can configure the percentage of the window that 
  is considered to be the "edge" (defaults to 20% of the window width). 
  
 - Added Viewer / Viewer Pane / Expand and scroll option to 
  Preferences. When this option is enabled, and the displayed image is reduced 
  from the original size, clicking and holding the appropriate mouse button 
  displays the image in its original size for as long as the mouse button is 
  held down. 
  
 - Auto-hide toolbars set to the Frame and NoFrame 
  appearances are now invisible when hidden, instead of causing a solid line to 
  appear down the edge of the screen. (This was already true for the other 
  appearances). 
  
 - Using the Select command to show or hide files now also 
  triggers column widths to be re-evaluated if auto-sizing is on. 
  
 - Added a Use Simple Rename option to the 
  Rename drop-down on the default Operations toolbar. 
  When turned on, the default Rename button will show the 
  simple rename dialog instead of the advanced one. Note you'll need to reset 
  your Operations toolbar to the defaults to see the new option. 
  
 - Floating toolbars set to auto-hide now have configurable delays before 
  they start to slide on or off the screen, in addition to the old settings for 
  the speeds of the slides themselves. The new settings, in Preferences 
  / Toolbars / Options, can help avoid accidentally triggering a hidden 
  toolbar when moving the mouse nearby. 
  
 - Added an option to save the key file passphrase for SSH connections. 
  
 - The Edit File Type dialog has a new tab (Replace 
  Menu) which lets you configure menu items that will be shown in the 
  context menu displayed when right-clicking on the file icons in the 
  Replace dialog. This lets you add commands to compare the two files 
  using an external tool. 
  
 - The Save Folder Format dialog now has an "up" button which lets 
  you quickly save the format for a parent folder of the current one. 
  
 - When adding files to a collection using the Copy command, 
  you can now use WHENEXISTS=replace or WHENEXISTS=skip 
  to suppress error messages about any files which are already in the 
  collection. 
  
 - The {allfilepath|filem} and similar command sequences now 
  have CROnly and LFOnly flags to specify that 
  the output files should only have CR or LF characters between lines, rather 
  than the default of CR,LF pairs. For example, 
  {allfilepath|filem|lfonly}. 
  
 - Wildcards now allow expressions such as ~grp:Images and 
  ~(grp:Images) for negating file type group wildcards. 
  
 - The Properties SETLABEL dynamic button command to 
  generate menus or buttons for setting/toggling labels and status icons has new 
  !noreset and !nostoponmatch parameters to 
  prevent the Reset and Stop On Match options being added to 
  the end of what it generates. 
  
 - The Home and End keys in the Copy 
  As dialog now stop at the file extension (unless already on it and pushed 
  a second time), as already done in places like the Rename dialog. 
  
 - Added Show VIEWERCMD=scroll,center command (scrolls image 
  to center). 
  
 - The image viewer now preserves the current relative scroll position when 
  zooming in and out. 
  
 - Added Set RELATIVESIZEGRAPHS and Set 
  RELATIVEDATEGRAPHS commands to toggle the Preferences / 
  Folders / Folder Display / Show relative graphs behind size columns 
  and Show relative graphs behind modified date columns 
  options. 
  
 - The viewer and preview pane have new options for accelerated scrolling 
  while dragging images with the mouse. If off, the image moves 1:1 and the 
  pixel you grab stays under the mouse pointer. If on, the image scrolls faster 
  such that you can move across the entire image with a small mouse movement. 
  
 - The Show command now has an AUTOFILELIST 
  argument which is similar to LISTSIBLINGS, but uses the 
  folder tab's file list rather than the directory. (The two are different if 
  the file display is filtered or using Flat View, for example.) While 
  AUTOFILELIST has existed as a hidden argument for some time, 
  it is now documented and supported and has some new behaviors. See the updated 
  manual for full details of what it does and how it interacts with the 
  LISTSIBLINGS argument and related Preferences option. 
  
 - Added {grp} status bar code, which returns the number of 
  file groups displayed in the file display (when it's set to group). 
  
 - Added the Show VIEWERCMD selaspect command, which allows 
  the selection aspect ratio to be fixed in the standalone viewer. 
  
 - Added option to folder thumbnail preferences to prevent folder thumbnail 
  images from using the most recent images in the folder (instead images will be 
  used alphabetically). 
  
 - Moved the Cycle through pictures with mouse wheel option 
  from Preferences / Viewer / Behaviour to Viewer / 
  Mouse Buttons page, and added an additional option to zoom with the 
  mouse wheel (without the Ctrl key needing to be held down). 
  
 - Moved the Reset scroll position and Reset zoom 
  level options from Preferences / Viewer / Appearance 
  to Viewer / Behaviour. 
  
 - Added an Edit menu to the Customize / 
  Keys page, allowing copy/cut/paste of hotkeys. You can also 
  right-click on individual hotkeys in the list to copy them the clipboard. 
  
 - In FlatView mode you can now drag files from sub-folders to the "root" 
  folder by dropping on the file display background, rather than having to drag 
  to the last node of the breadcrumbs bar or folder tab. 
  
 - Dragging files from nested sub-folders in FlatView mode to the parent 
  folder now bypasses the prompt and defaults to copying all files to the same 
  folder (since "recreate" in this case makes no sense anyway). 
  
 - Some improvements relating to disconnected network drives: 
  
    - Drive buttons no longer read the volume name for network drives when 
    displaying a tooltip, which could cause a lock up if the network drive was 
    offline (the tooltip will show the UNC path instead of the volume name). 
    
 - Drop-down drive lists are now updated on a background thread which 
    should prevent the Lister locking up when mapped network drives are 
    unavailable. 
    
 - Made some changes to fix Lister lockups when switching between tabs that 
    point to disconnected network drives 
 
   - In Rename, you can now use 
  {parent|noext} and {parentbase|noext} to get 
  the parent folder name without file extension (useful if the parent is an 
  archive file).
The Copy 
  command's CLEARREADONLY argument is now used 
  for all copy sources, not just CDs/DVDs. Note that the Preferences option 
  still only applies when copying from CDs. 
   - Added Set DISABLEGLOBALHOTKEYS command to temporarily 
  disable all system-wide hotkeys. 
  
 - Each Lister now gets its own dedicated background file information 
  thread (for e.g. extracting metadata from images, calculating labels, etc). 
  Previously there was just one file info thread for the whole program. This 
  should help improve performance with multiple Listers and also mitigate 
  against the problem of the thread getting stuck (e.g. the recent problem with 
  certain PDF files) which meant all file information and labels etc. stop 
  working. 
  
 - Renaming a file or folder into a sub-folder with the same name as itself 
  is now supported. For example, you can rename "moo" to "moo\cow" or even 
  "moo\moo\cow". 
  
 - Added an option to Preferences / Folder Tree / Contents 
  to display all Folder Aliases in the tree instead of just user-defined ones. 
  
 - Added support for basic audio metadata from .mka files (requires Windows 
  10 or codec/splitter to be installed). 
  
 - In inline rename, Ctrl-' now works the same as 
  Ctrl+Shift+Up (to copy the filename from the previous file). 
  
 - Added Preferences / Viewer / Viewer Pane / Expand and scroll (Left 
  double-click) option. 
 
 
  - The (simple) Select Files dialog now has a drop-down history 
  of previously used selection patterns. 
  
 - The Advanced Find function can now correctly match .wav files by sample 
  rate, bit rate, duration and codec. 
  
 - Fixed an issue when copying files to FTP that could occasionally result in 
  the new file not appearing in the destination folder until after a refresh. 
  
 - Fixed a problem where progress dialogs could come to the front when other 
  progress dialogs were created or activated. 
  
 - If the Abort button was clicked in a progress dialog that had additional 
  queued items attached, the abort confirmation message would block any other 
  functions that use progress dialogs from running until the confirm dialog was 
  closed. 
  
 - Fixed initial enabled/disabled state of Always Highlight Full 
  Row checkbox when the Preferences / File Display Modes / 
  Details page first opens. 
  
 - Fixed problem with embedded command in a newly opened Lister that opens 
  multiple new tabs; in some cases the new tabs could open in the original 
  Lister. 
  
 - Fixed problem with Go TABGROUPSAVE command failing when 
  selecting an existing folder from the dropdown and then appending a new name 
  to it. 
  
 - Fixed problem with sequential numbering rename - if rename of a file 
  failed and was retried multiple times before succeeding, the number assigned 
  to the file was being incremented for every retry. 
  
 - The Rename preview now correctly indicates that files in 
  subfolders aren't going to change if their parent folder is deselected. 
  
 - Fixed rendering issue in the Rename dialog's macro editor when 
  visual styles (themes) are disabled. 
  
 - The Archives plugin now allows you to add and remove file extensions 
  associated with most of its archive types. 
  
 - Fixed Advanced Filter Control Compare clause layout issue in 
  non-English (when "Size" string is longer than "Date" string). 
  
 - The folder thumbnail "background" that Opus renders now scales for DPI. 
  
 - Inline rename on MTP devices (when using native MTP support) was broken. 
  
 - Made a change which means the Copy Handler context menu extension now 
  works in Opus. 
  
 - Fixed "view as hex" option in the viewer not always being disabled if no 
  hex viewer plugin was enabled. 
  
 - Image marking now works even if the configured tag collection contains 
  invalid filename characters. 
  
 - Fixed problem with SSH connections where server certificate warnings 
  (unknown key / mismatched key) were converted to ANSI before being displayed 
  in a dialog (not an issue in English, but in other languages caused corruption 
  of the message text). 
  
 - The paths passed to the OnGetCopyQueueName script event 
  were incorrectly stripped to the root paths for non-disk drive letters (e.g. 
  mapped network paths). 
  
 - The Properties command is no longer forcibly disabled in 
  context menus when files from two or more different folders are selected. 
  
 - Actions shown in the Undo Log are now time-stamped. 
  
 - Fixed problem on FTP sites with cut-and-paste; pasting files to a 
  sub-folder and then going up to the parent folder could end up in the wrong 
  location. 
  
 - Breadcrumbs path no longer shows "Undef (FTP)" as the top level branch for 
  FTP sites in some cases. 
  
 - Added @noprogress modifier which lets you disable the 
  automatic progress dialog for a function. 
  
 - The Set COLUMNSTOGGLE and similar commands now recognise 
  audiocodec as a synonym for the mp3type 
  column. 
  
 - The properties dialog for files on FTP sites is now resizable. 
  
 - Fixed a problem when copying files using the Select Destination 
  Folder dialog to pick the destination, which meant selecting a folder 
  from the Favorites drop-down and then clicking 
  OK didn't work properly. 
  
 - Fixed sub-branches of the Favorites tree not expanding after forcing the 
  Folder Tree to refresh. 
  
 - Processing of @disableifpath and 
  @hideifpath modifiers now works even if they are preceded by 
  a //comment line. 
  
 - The breadcrumbs field will now show ghost paths for a folder if any depth 
  of child folder hierarchy exists, instead of requiring the full hierarchy of 
  the previous location. 
  
 - Fixed issue with breadcrumbs path field showing all "ghost path" and no 
  "real path" when going back from subfolders underneath QuickAccess. 
  
 - Improved folder tree's handling of the Windows 10 Quick Access folder. 
  
 - Items below Favorites, Quick Access and similar folder tree branches now 
  respond to icon and label/color changes without a forced refresh. 
  
 - Fixed issue dragging to folder tabs on the left or right if they had been 
  scrolled but no longer needed a scrollbar. 
  
 - Layouts and Folder Tab Groups saved with tabs in Quick Access shortcuts 
  will now be restored the same way, rather than navigating to the real paths 
  the Quick Access shortcuts resolve to. 
  
 - The {alias} command sequence now resolves library paths 
  to their real disk paths if possible, e.g. 
  {alias|libraries}/Tools/calc.exe would resolve to the full 
  path of calc.exe within the Tools library. Previously 
  {alias|libraries} would turn into lib:// 
  which is no good for passing to external programs. 
  
 - Fixed a problem where another window could be brought to the front when 
  the "confirm file replace" dialog closes 
  
 - On a slow machine, it was possible to right-click a file, choose rename, 
  then select another file before the rename began and end up renaming the 
  second file. This has been fixed. 
  
 - The Select FROMSCRIPT HIDESEL command now works. 
  
 - The Preferences / Launching Opus / Startup / Run a 
  command option only worked if a user command was entered, but 
  now works for any command. 
  
 - Fixed Rename Find and Replace mode presets saved from Opus 12 
  always having the Ignore Extension checkbox turned on when 
  re-loaded. 
  
 - A @hideif test for a variable now works when the 
  condition is negated (e.g. @hideif:!$glob:abc). 
  
 - When files are filtered out of a recursive copy operation the progress 
  dialog now adjusts the "total" counts to compensate. 
  
 - Lister Themes now save and restore the Use for lister column 
  headers and Use for lister scrollbars options in 
  Preferences / Display / Colors and Fonts / Pane borders. 
  
 - Fixed a bug where a toolbar button click could be ignored if at the same 
  time a script triggered a particular change to the Lister (e.g. changed its 
  state from source to destination). 
  
 - Fixed a problem where the Delete confirmation dialog would fail 
  to activate if the command was preceded by a @confirm line. 
  
 - The regular expression option in Folder Formats / Show 
  filters and Hide filters wasn't being respected 
  when a folder format was loaded in a file display. 
  
 - Fixed DPI bug in Flickr sync dialog. 
  
 - Fixed incompatibilities reading some PDF metadata. 
  
 - A picture displayed in the viewer using the Show 
  VIEWERCMD=open command is now properly rotated for its EXIF value if 
  the option is turned on in Preferences. 
  
 - Fixed a Flat View / Grouped sorting error. 
  
 - Fixed appearance of non-functional "Share with" context menu item on the 
  File menu. 
  
 - Fixed problem importing some filetype settings from filetype export files. 
  
 - Fixed toolbar layout error where a horizontal toolbar could overwrite a 
  vertical one in some situations. 
  
 - Fixed crash which could occur if you went to a directory within an 
  archive, then went up to the archive's parent folder. 
  
 - Improved metadata handling of .ai files. 
  
 - Fix for image viewer crash if you deleted the 2nd last image in a folder 
  and the last image was invalid or could not be loaded. 
  
 - The context menu from very old versions of NotePad++ (which have been 
  known to cause crashes) is now blocked by default. 
  
 - Opus Light users can now set the 
  HKEY_CURRENT_USER\SOFTWARE\GPSoftware\Directory 
  Opus\ContextMenuDebug DWORD value to 1 to enable context menu 
  debugging. 
  
 - Blocked erroneous "click" event being sent to script dialogs when a radio 
  button gains the focus. 
  
 - Fixed expand/scroll viewer mode with certain images not making all pixels 
  of the original image visible. 
  
 - Made a change to hopefully fix problem with Photoshop not recognising 
  keywords set through Opus in some images. 
  
 - Setting the rating for a FLAC file is now supported. 
  
 - Fixed two problems with vertical folder tabs: 
  
    - Tab tooltips were not updated when the tabs were scrolled. 
    
 - When resized the tabs would automatically scroll to make the current 
    selection visible. 
 
   - It wasn't possible to move the focus away from a drive dropdown toolbar 
  control with the tab key. 
  
 - Activating a toolbar button by pressing its & key now 
  returns focus to the file display after running the function.
 
 
  - Scripting: 
  
    - The script Tab object now has backlist 
    and forwardlist properties, which provide a collection of 
    Path objects in the back and forward history lists for that 
    tab. 
    
 - Fixed an issue with script columns that set the 
    multicol property but then fail to return the data for all 
    columns at once. 
    
 - A new DOpus.GetQualifiers method allows you to get the 
    state of keys like Shift, Ctrl and 
    Alt in situations where you aren't already given them. See 
    the updated F1 help for a discussion of when it makes sense to use this vs 
    other methods. 
    
 - A new DOpus.TypeOf method lets you query the type 
    of an Opus script object (returns a string identifying the object type 
    corresponding to the type names documented in the Scripting 
    Reference section of the manual). 
    
 - The metadata.image.picdepth property incorrectly 
    returned picheight and has been fixed. 
    
 - Fix for Item.ShellProp failing on a file if some of its 
    properties could be obtained but not all of them. 
    
 - The OnViewerEvent is now called synchronously. 
    This may break some existing viewer scripts, but was needed because the 
    events could come in a random order before and events like "create" were 
    inconsistent as to whether viewer.current had the first file or was empty. 
    (It will always be empty now; use "load" to get the first file.) 
    
 - Item objects returned by the 
    FSUtil.ReadDir method now have their 
    realpath property set correctly. 
    
 - Added DOpus.favorites script property which returns a 
    Favorites object, allowing the user-defined favorite folder 
    list to be queried and modified. 
    
 - Added DOpus.smartfavorites property to give access to 
    the smart favorites data. 
    
 - Added def_value property to all script objects, which 
    allows the default value to be accessed like a normal property to avoid 
    weirdness with some script languages. 
    
 - Added Show VIEWERCMD=dragsel command which lets a 
    script trigger drag scroll/select/expand actions when responding to an 
    OnViewerEvent mouse event. 
    
 - Added Set NOSCRIPT argument; currently only used with 
    the Set LISTERCMD=tofront command, to prevent 
    OnActivateLister scripts from firing. 
    
 - Added DOpus.favoriteformats script property which 
    returns a collection of user-defined favorite formats 
    (Format objects). 
    
 - Added DOpus.Filters script property to provide 
    access to global filter settings. 
    
 - Added BusyIndicator script object.