1 October 2016

Directory Opus 12.2.2 (Beta)

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

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

This is an Opus 12 update. If you are using Opus 11 or earlier then you should not install this beta unless you want to upgrade to Opus 12.

Download:

Changes:

  • Fixed error introduced in 12.2.1 which broke the @toggle:if modifier when testing variables.
  • Fixed error introduced in 12.2.1 where customized filetype drag & drop events did not work as expected.
  • Explorer Replacement is now stricter about finding existing windows/tabs when another program requests the user profile desktop directory and the Desktop virtual folder is showing in a lister (or vice versa). In specific situations, this will improve the response of "show in folder" options in other programs.
  • Fixed problem with {sel:xxx} status bar date codes, which displayed UTC instead of local time.
  • Improved the way the Update Checker shows you the folder with the downloaded installer, and similarly how the File Type Diagnostic utility shows you the zip file it makes.
  • Fixed crash introduced in 12.2.1 when using filters on script columns.
  • Fixed crash if your toolbar had a Set ENABLELABELFILTER button added to it but Preferences / Favorites and Recent / Label Assignments was completely empty.

29 September 2016

Directory Opus 12.2.1 (Beta)

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

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

This is an Opus 12 update. If you are using Opus 11 or earlier then you should not install this beta unless you want to upgrade to Opus 12.

Download:

Changes:

  • Added @disableif and @hideif command modifiers, that let buttons be hidden or disabled based on the result of a function (e.g. @hideif:!Set DUAL=Toggle to hide a button when not in dual-display mode).
  • Added @disableifpath and @hideifpath command modifiers, to allow buttons to be hidden or disabled based on the current source path.
  • Set COLUMNSADD and similar commands can now specify a position for the column and flag that it is only to be used if the column isn't already present. Prefix the position with ! to do this. For example Set COLUMNSADD=Size(!2) would leave the Size column as-is if it already exists, and add it in position 2 otherwise. This also works with relative positions: Set COLUMNSADD=Status(!1+Name).
  • Adding an ! before various conditional modifier tests now work to negate the tests. This has been added for @if:!<blah>, @ifset:!<blah>, @ifpath:!, @ifpathr:!, @ifexists:! and @keydown:! (plus the new @disableif, @hideif, @disableifpath and @hideifpath modifiers).
  • Added Preferences / Viewer / Appearance / Show status icons option to display current image's status icons in the viewer.
  • Added Custom title option to Preferences / Viewer / Appearance.
  • The font used for the rename macro builder is now configurable via Preferences / Display / Colors and Fonts.
  • Added Preferences / Folder Tree / Options / Expand selected branch when changing tabs option.
  • A new setting, Preferences / Miscellaneous / Advanced: context_menu_icon_set, allows you to change the icon set used when generating the Add to Archive and similar context menu items within Opus. For example, if you want the menu items to use the standard 16x16 size (32x32 at 200% DPI, etc.) then you can now do that, assuming a suitable icon set is installed.
  • The Target clause in the advanced filter control now lets you limit matches to shortcuts only to files or only to folders.
  • The breadcrumbs path field has a new dragsafetyoff argument which allows you to copy or move from the breadcrumbs field using drag and drop, without having to explicitly hold Ctrl or Shift. Without the argument, drag and drop from breadcrumbs defaults to creating shortcuts, to avoid accidents.
  • The Customize / Keys list now displays a column showing which Toolbar a key comes from (if applicable). The toolbar name is shown in italics if its Always enable hotkeys option is turned on. The Locate Toolbar button will now open any sub-menus necessary to locate the button that contains the selected hotkey.
  • The Join dialog now adds an output filename by default.
  • Minor improvements to the Split dialog. It now remembers the last size and UUEncode settings you used. "Automatic" size on non-removable devices is now 100MB instead of 1.44MB. Handles splitting to the current folder (vs a destination folder) better.
  • Moved the Start Folder Tree at Preferences option from Folder Tree / Options to Folder Tree / Contents.
  • RAR decompression uses UnRAR.dll again unless overridden. It is faster for some operations and a recent update added support full timestamp accuracy and all three timestamps (Created, Modified, Accessed).
  • The Preferences option Launching Opus / Explorer Replacement / Open external folders in a new tab now routes new tabs to the most recently used Lister, rather than the source Lister.
  • In the advanced button editor, the help button (or F1) will open the page about command modifiers if clicked while on a line for one.
  • Scripting:
    • In script buttons launched via the viewer, clickData.Func.Dialog now has the viewer as its parent window and not the active file display.
    • Fixed problem where the Metadata object could return outdated data in some cases.
    • Group boxes in script dialogs did not refresh properly when their label was changed.
    • The Dialog object's x and y properties can now be set after the dialog has been shown, to move the dialog around the screen.
    • The Dialog object now has cx and cy properties to get and set its size (when the dialog is resizeable).
    • Added Dialog.SavePosition and Dialog.LoadPosition methods, to save and load dialog window position.
    • Added Dialog.Vars method which returns a Vars object associated with the dialog.
    • The Control.RemoveItem method now accepts -1 to clear the entire listbox/combo contents.
    • The Viewer object has new title property which allows the title in a viewer to be changed from a script.
    • Added fg, bg and style properties to the Control object. Currently only supported for static controls.
    • The Command.AddFiles method can now be given a Vector containing Path or strings (full paths), in addition to the Item objects which it previously allowed.
  • (Experimental) Fix for missing separators in some situations, due to menu items which get hidden. If you notice extra or missing separators, or anything wrong with toolbars in menus, please report it so we can investigate.
  • Fixed problem with image metadata writing not working on Windows XP.
  • Fixed problem when using the Show or Slideshow commands on a folder. The viewer correctly enumerated the folder's contents, but also tried to display the folder itself as the first image, resulting in an error message.
  • Fixed toggling checkbox mode not adjusting Auto-Fill column sizes appropriately.
  • Fixed not being able to drag folders from the breadcrumbs field and drop them into file displays.
  • Fixed file displays not always using the drag & drop source's preferred action (link, copy, move) if one was specified and no key was held down to override it.
  • Fixed Click selected tab to go to previous one option interfering with ctrl-clicking folder tabs to link them.
  • The Advanced Filter Type clause used raw names instead of user names for file type groups - didn't affect the default groups but user-created groups would appear as {GUID} strings in the drop-down.
  • If the Copy command was launched with the default Ctrl+1 hotkey it wouldn't prompt for a filter when filter mode was on.
  • Fixed Lister not always coming to the front if you activated it by clicking on an inactive folder tab, where one tab had a warning banner and the other did not.
  • Fixed folder tabs opening next beside the active tab instead of the end when dragging folders or tabs to the end of the tab bar, if certain Preferences settings were combined.
  • Dragging drive roots (e.g. "C:\") from breadcrumbs to the tab bar is no longer blocked and can be used to open them in new tabs.
  • The Properties SETLABEL command would ignore the ADDLABEL switch if a) a category filter was specified and b) SETLABELTOGGLE wasn't also used.
  • Fixed problem with layout separators appearing in the wrong positions.
  • Change in 12.2 would cause replace dialog to move to the right on the second and subsequent invocations if the generated file description was over a certain length.
  • Fixed Inherit columns from other matching formats folder formats option causing the sort order to be inherited/replaced as well.
  • Fixed crash if a script passed Command.AddFiles a Vector containing strings (instead of file Item objects).

22 September 2016

Directory Opus 12.2

Directory Opus 12.2 is now available for all Opus 12 users.

(Do not install this if you are still using Opus 11 or earlier, unless you want to upgrade to Opus 12.)

Download:

Changes:

  • Added FileType NEWCOUNT argument which lets you create more than one new file at once (e.g. FileType NEW=.txt NEWCOUNT=10).
  • Added CreateFolder ASK argument to cause the dialog to be displayed even if a name is provided (e.g. CreateFolder "New Folder Name" ASK).
  • Added drivelabel argument for breadcrumbs path fields, to display drive label along with the drive letter.
  • The advanced filter control now has a Case sensitive option for Name and several other clauses.
  • The Favorites item in the folder tree now has a context menu which lets you open the favorites editor (Preferences page).
  • The Save Tab Group dialog (that's displayed by the Go TABGROUPSAVE command) now has a checkbox letting you control the Close existing tabs flag for the new group.
  • The Find DUPES command now lets you use the NAME argument to provide a wildcard name filter when searching for duplicates.
  • The Replace File dialog's rename field now supports more of the features of the regular inline rename field (including capitalization, F2 to cycle selection, and left/right cursor handling).
  • Photoshop CMYK images with alpha are now supported.
  • The Music category in the filter control (advanced find) now lets you search on the Year field.
  • External icon sets can now refer to internal image resources (such as the default toolbar icons) without having to include redundant copies of the image data. The main goal is to allow alternative size (and DPI-scaling) variants of the internal sets. Internal icon sets contain four image sizes (22, 32, 48 and 64 pixels) but until now you only had access to two of the sizes at any given DPI. This also makes it possible to use the flat and glass icon styles at the same time.
  • Scripting:
    • Added Viewer.parenttab property.
    • The OnGetCustomFields rename script method now lets you assign default focus to one of the custom fields, by setting the GetCustomFieldData.focus property to the name of the field. You can also use !oldname and !newname to assign focus to the standard old and new name fields.
    • Added an interface for multiple-selection listboxes in script dialogs.
      • Control.SelectItem now works with multi-selection listboxes. -1 can be given as the index to select all items in the listbox.
      • New method Control.DeselectItem lets items be deselected.
      • Control.value now returns and accepts a Vector of DialogListItem objects for multiple-selection listboxes.
      • New property DialogListItem.selected provides another way to query or set the selection state of items in a multiple-selection listbox.
    • Script dialog status controls now correctly handle setting their initial text when the supplied string contains \n (to insert a line-break).
    • Script dialogs now support the icon property to set the dialog's titlebar icon.
    • Added x, y and position properties to Dialog object, to allow the position of script dialogs to be controlled. position can be "center" (the default), "parent" (relative to parent window), "monitor" (relative to monitor) or "absolute". If x and y are specified and position is not "center" then the coordinates are treated as relative to the specified position.
  • Fixed problem which could cause sort header to not appear in the default tab of a new Lister when in one of the icon modes.
  • Fixed problem with displaying correct filetype description for matlab .m files.
  • The Go FOLDERCONTENT=move (or =copy) command now works from the toolbar in the standalone image viewer.
  • Fixed problem which could cause slow startup with network favorites displayed in the tree.
  • Fixed problem which could cause the vertical scroll offset to be reset when going forwards/back in the history (instead of preserving the saved offset).
  • Scrolling horizontally in list mode by clicking the scrollbar gutter will no longer skip partially visible columns.
  • The relative date graphs are now based on the timestamps as displayed in the file display. So if milliseconds are not displayed, they also won't be considered when calculating the graphs (same goes for seconds).
  • CreateFolder now works properly when pipe-separated names are specified on the command line (e.g. CreateFolder blah\1|2|3).
  • Opus no longer inspects the contents of .tmp files in an attempt to generate thumbnails for them.
  • Updated to latest libpng (fixes problem loading image here)
  • Fixed crash in Rename dialog that could be caused by having an empty new name string in Find & Replace mode and turning on the Rename matching filenames as one option.
  • The move up/down buttons in the Folder Options / Columns tab did not work correctly.
  • Select FROMSCRIPT (when used from a script, obviously) now works reliably with libraries.
  • The Copy WHENEXISTS argument is now respected when extracting from zip archives.
  • When copying files, the replace dialog now re-opens relative to its previous top/right position, so that the mouse doesn't need to move to find the same button from one file to the next.
  • Fixed problem with folder sizes in infotips which could leave a partially calculated size behind if the initial calculation was aborted.
  • The Locate toolbar button in the Customize / Keys dialog will now flash the exact button the hotkey comes from rather than just the toolbar (and will expand sub-menus to make it visible, if needed).
  • If tree path highlighting is on and set to use the configured tab color, it now updates in real time when the tab color is changed.
  • Ctrl-S (to save a preset) now works in the rename dialog even when the script editor has focus.
  • The Go OPENCONTAINER command now works correctly in conjunction with the EXISTINGLISTER argument.
  • Drop-down menu buttons (e.g. those generated by Go FOLDERCONTENT=button) can now be accessed from the keyboard.
  • When dragging items around on the File Type editor's Context Menu tab, the line indicating where the item would end up could appear one item above or below the actual location.
  • The image viewer no longer resets the scroll position when moving from one image to another (unless the zoom level is also reset due to Preferences).
  • The Preferences / File Operations / Double-click on Files / Use internal picture viewer for... option didn't work if the Left double-click event for the Recognized images filetype was undefined. It now defaults to Show if not set but can still be overridden via the filetype editor if needed.
  • On Windows 8 and 10, the Set Wallpaper command had to be run twice to be effective if the desktop had been set to a solid color. A workaround has been added so this is no longer the case.
  • Improved Lister resizing performance when resizing from top/left of Windows when composition is enabled.
  • Setting labels on files in library paths always saved the label to the config, ignoring the "save to NTFS" flag.
  • Fixed problem where labeled folders would lose their labels in the folder tree when moved/copied (until a tree refresh).

16 September 2016

Directory Opus 12.1.1 (Beta)

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

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

This is an Opus 12 update. If you are using Opus 11 or earlier then you should not install this beta unless you want to upgrade to Opus 12.

Download:

Changes:

  • Added FileType NEWCOUNT argument which lets you create more than one new file at once (e.g. FileType NEW=.txt NEWCOUNT=10).
  • Added CreateFolder ASK argument to cause the dialog to be displayed even if a name is provided (e.g. CreateFolder "New Folder Name" ASK).
  • Added drivelabel argument for breadcrumbs path fields, to display drive label along with the drive letter.
  • The advanced filter control now has a Case sensitive option for Name and several other clauses.
  • The Favorites item in the folder tree now has a context menu which lets you open the favorites editor (Preferences page).
  • The Save Tab Group dialog (that's displayed by the Go TABGROUPSAVE command) now has a checkbox letting you control the Close existing tabs flag for the new group.
  • The Find DUPES command now lets you use the NAME argument to provide a wildcard name filter when searching for duplicates.
  • The Replace File dialog's rename field now supports more of the features of the regular inline rename field (including capitalization, F2 to cycle selection, and left/right cursor handling).
  • Photoshop CMYK images with alpha are now supported.
  • The Music category in the filter control (advanced find) now lets you search on the Year field.
  • External icon sets can now refer to internal image resources (such as the default toolbar icons) without having to include redundant copies of the image data. The main goal is to allow alternative size (and DPI-scaling) variants of the internal sets. Internal icon sets contain four image sizes (22, 32, 48 and 64 pixels) but until now you only had access to two of the sizes at any given DPI. This also makes it possible to use the flat and glass icon styles at the same time.
  • Scripting:
    • Added Viewer.parenttab property.
    • The OnGetCustomFields rename script method now lets you assign default focus to one of the custom fields, by setting the GetCustomFieldData.focus property to the name of the field. You can also use !oldname and !newname to assign focus to the standard old and new name fields.
    • Added an interface for multiple-selection listboxes in script dialogs.
      • Control.SelectItem now works with multi-selection listboxes. -1 can be given as the index to select all items in the listbox.
      • New method Control.DeselectItem lets items be deselected.
      • Control.value now returns and accepts a Vector of DialogListItem objects for multiple-selection listboxes.
      • New property DialogListItem.selected provides another way to query or set the selection state of items in a multiple-selection listbox.
  • Fixed problem which could cause sort header to not appear in the default tab of a new Lister when in one of the icon modes.
  • Fixed problem with displaying correct filetype description for matlab .m files.
  • The Go FOLDERCONTENT=move (or =copy) command now works from the toolbar in the standalone image viewer.
  • Fixed problem which could cause slow startup with network favorites displayed in the tree.
  • Fixed problem which could cause the vertical scroll offset to be reset when going forwards/back in the history (instead of preserving the saved offset).
  • Scrolling horizontally in list mode by clicking the scrollbar gutter will no longer skip partially visible columns.
  • The relative date graphs are now based on the timestamps as displayed in the file display. So if milliseconds are not displayed, they also won't be considered when calculating the graphs (same goes for seconds).
  • CreateFolder now works properly when pipe-separated names are specified on the command line (e.g. CreateFolder blah\1|2|3).
  • Opus no longer inspects the contents of .tmp files in an attempt to generate thumbnails for them.
  • Updated to latest libpng (fixes problem loading image in this thread)
  • Fixed crash in Rename dialog that could be caused by having an empty new name string in Find & Replace mode and turning on the Rename matching filenames as one option.
  • The move up/down buttons in the Folder Options / Columns tab did not work correctly.
  • Select FROMSCRIPT (when used from a script, obviously) now works reliably with libraries.
  • The Copy WHENEXISTS argument is now respected when extracting from zip archives.
  • When copying files, the replace dialog now re-opens relative to its previous top/right position, so that the mouse doesn't need to move to find the same button from one file to the next.
  • Fixed problem with folder sizes in infotips which could leave a partially calculated size behind if the initial calculation was aborted.
  • The Locate toolbar button in the Customize / Keys dialog will now flash the exact button the hotkey comes from rather than just the toolbar (and will expand sub-menus to make it visible, if needed).
  • If tree path highlighting is on and set to use the configured tab color, it now updates in real time when the tab color is changed.
  • Ctrl-S (to save a preset) now works in the rename dialog even when the script editor has focus.
  • The Go OPENCONTAINER command now works correctly in conjunction with the EXISTINGLISTER argument.
  • Drop-down menu buttons (e.g. those generated by Go FOLDERCONTENT=button) can now be accessed from the keyboard.
  • When dragging items around on the File Type editor's Context Menu tab, the line indicating where the item would end up could appear one item above or below the actual location.
  • The image viewer no longer resets the scroll position when moving from one image to another (unless the zoom level is also reset due to Preferences).
  • The Preferences / File Operations / Double-click on Files / Use internal picture viewer for... option didn't work if the Left double-click event for the Recognized images filetype was undefined. It now defaults to Show if not set but can still be overridden via the filetype editor if needed.
  • On Windows 8 and 10, the Set Wallpaper command had to be run twice to be effective if the desktop had been set to a solid color. A workaround has been added so this is no longer the case.
  • Improved Lister resizing performance when resizing from top/left of Windows when composition is enabled.
  • Setting labels on files in library paths always saved the label to the config, ignoring the "save to NTFS" flag.
  • Fixed problem where labeled folders would lose their labels in the folder tree when moved/copied (until a tree refresh).

5 September 2016

Directory Opus 12 is now available!

GPSoftware are pleased to announce the release of Directory Opus 12!

After more than two years of development, and 6 months of an extremely successful public beta test program, Directory Opus 12 is now available!

Generous discounts are available for existing users of Directory Opus when you upgrade to Opus 12 - and remember that you can add extra licenses when you upgrade and get the same discount on the additional licenses.

Please Note: If you have been using a beta version of Opus 12 it is important that you download the release version using the link above.

Upgrades and licensing:
  • Registered Directory Opus 11 users can upgrade from as little as $50 AUD (~$37 USD, £28 GBP, €33 EUR).
  • If you bought Opus after 1st March 2016, or have an active maintenance plan then the update is completely free!
  • Users of older versions still qualify for discounted upgrades - visit the Upgrade page for a personalised quotation.

The following video provides an excellent summary of the new features in Directory Opus 12:
You can also view the Release Notes for a full list of changes.

Thanks to everyone who participated in the beta program. Remember, development doesn't stop just because Opus 12 has been released (in fact, development never stops!). Keep those bug reports and feature requests coming in.

26 August 2016

Video tutorial: Opus 12 column resizing & folder formats

A new 19 minute tutorial video for Directory Opus 12, covering File Display Column Resizing, Folder Formats, and more!

https://www.youtube.com/watch?v=jS1Mvs46WH8



More on the way...

(Directory Opus 12 is currently available as a public beta. Once ready, it will be available to purchase. Anyone purchasing a new copy of Opus 11 right now will get a free upgrade to 12, since it will be out so soon after the purchase.)

6 July 2016

Windows 10 Insider crashes (Updated)

Second Update: All is well with the final Windows 10 Anniversary Update, and the problem was been resolved by Microsoft.

Update July 10: It looks like Windows 10 Insider build 14385 has fixed this, so far at least. Please let us know if you see otherwise.

If you're using a Windows Insider preview build of Windows 10 (especially 14376 and 14379) you may have found Directory Opus is crashing a lot.

After much effort we've traced this to the Connected User Experiences and Telemetry service. This Windows service seems to provide Microsoft with some sort of diagnostic feedback or client tracking (we're not sure to be honest).

One way to prove that it's involved is to, while Opus is running, shutdown that service from the Services control panel. You'll see Opus crash immediately. Our theory is that the service hooks into all applications periodically (maybe to track which applications users are running) and when it unloads itself again (either automatically, or in this case by you shutting down the service), something goes wrong and it crashes while removing its hooks.

(Note that we have seen reports of crashing and instability in other applications as well due to these Windows Insider builds - it's not just Opus that's affected.)

Until Microsoft fix this, you can disable this service to prevent the crashes.

  1. Press Windows+R (or Start -> Run) and enter services.msc to open the Services control panel.
  2. Locate the Connected User Experiences and Telemetry service, select it, and click the stop button at the top of the window to stop the service.
    (note that if Opus is running, it will probably crash immediately at this point)
  3. Right-click the same service entry, select Properties from the context menu, and change the Startup type to Disabled. Click OK.
  4. Restart your machine.
A fifth step is to report this issue to Microsoft, as they're the only ones who can fix it long term (and the whole point of using the Insider builds is so you can report Windows bugs).

You can follow the discussion about this at the Opus Resource Centre.