Directory Opus 12 Public Beta

Beta 8 (12.0.8) is now available.

Downloads:

Changes in 12.0.8 Beta:

File display Graphs

  • Added a separate column for relative creation date (the old column is for modified date).
  • Added an option in Preferences / Display / Fields to invert the graphs (so that they represent newest file instead of oldest, etc).
  • Graphs are now calculated separately for files and folders (by default). The old behavior can be restored with the graphs_separate_files_dirs Advanced Preferences option.

Folder tabs

  • Custom folder tab colors are now displayed at the edge of tabs instead of changing the whole background of them. Designated colors are no longer heavily modified, since it is no longer required to make it clear which tab is active.
  • Folder tabs now only have rounded corners if the Gloss And Gradients option is on (default: On for Win7, off for Win10). The option to use visual styles for tabs has been removed.
  • When folder tabs are above the file display, they will now expand to the same height as the file display border if Preferences / File Displays / Border / Align other Lister element headers with the file display border is on.

Columns

  • Added an Uncompressed column which displays the uncompressed size of archives.
  • File display Fill columns now adjust to use new space when a column is removed and the other columns are fixed-width.
  • File display horizontal scrollbars now adjust correctly when a window is restored from maximized state and Fill columns are used.
  • List mode now treats the new Fill, Expand and Collapse options as if they were all normal Auto-Size, since none of them make sense with List mode. List mode also now respects the new Max column width setting for automatic sizing up to a specified limit.

Image Conversion

  • The Image Conversion tool now shows a preview of the new image size, taking aspect ratio correction and rotation into account.
  • Combining Image CONVERT and Copy into a single command no longer displays arbitrary file sizes in the progress dialog during the conversion stage.

Create Folder

  • The Create Folder dialog now allows multiple folders to be created at the same level (with the Create multiple folders option on), using the | character to separate the folder names. For example, Blah\one|two|three would create Blah\one, Blah\two and Blah\three.
  • The CreateFolder READAUTO argument now affects the default action of the Create Folder dialog.
  • The Create Folder dialog no longer defaults to being narrower in "multi" mode than in "single" mode.
Rename
  • Added {parentbase} code, similar to {parent} except it returns the name of the base folder rather than that of the file's parent. This is most useful with a recursive rename, where the name returned by {parent} would change for files inside sub-folders.
  • If you want to use rename to move files into new folders, adding $.\ at the start of the new name lets each file be moved relative to the base folder rather than its parent. Again, most useful with a recursive rename.
  • The rename preview now has a New Location column which appears when the rename operation will move files into new folders.
  • Fixed inline rename edit field being out of place if the lister was resized while it was open.
  • Fixed potential crash introduced in the previous beta, when opening the Rename script editor.
  • Fixed rename dialog going unresponsive if the script editor was open and you chose something from the regex history (and possibly other actions).

Quick Access (Windows 10)

  • Added /quickaccess as a built-in alias for the Quick Access folder in Windows 10.
  • Added an option to Preferences / Folder Tree / Contents to display the Quick Access folder in the tree (it will appear in its own branch at the top).
  • You put the Quick Access folder in a toolbar menu using Go /quickaccess FOLDERCONTENT or similar commands.

Labels

  • Properties SETLABEL and LABELCATEGORY have slightly changed syntax from earlier betas. If you made buttons to set multiple labels or status icons at once, you will need to edit them slightly.
    • Properties SETLABEL now takes the list of labels as a comma-separated string. e.g. SETLABEL="Red,Blue"
    • Commands using the old style ( SETLABEL "Red" "Blue" ) will need updating.
    • Commas are allowed in label names and can be escaped with a backslash if needed, as can backslashes themselves. e.g. SETLABEL="Red\,Blue\\Green" would set a single label called "Red,Blue\Green".
    • Properties LABELCATEGORY is similar. Remember it uses wildcards as well, so if your category names include wildcard characters they may need to be escaped using the ' character.
  • Default toolbars change: Assigning status icons to files now automatically turns on the Status Icons column so you can see the results. If you don't want to reset your Operations toolbar to the default, here is the new command. The embedded command in square brackets is what's new:

    Properties SETLABEL !menu LABELCATEGORY raw:Status ADDLABEL SETLABELTOGGLE
    [
    Set COLUMNSADD=Status(1+Name)
    ]

  • Fixed problem where user-defined labels could get lost when loading an Opus 11 configuration.
  • Fixed cosmetic issue on the Label Assignments prefs page. Resizing could detach the combobox from its row/column.
  • Fixed the Label Assignments prefs page when scrolling the list with the mousewheel while over the label combobox.
  • Preferences / Label Assignments now remembers the View By Label checkbox state. Preferences / Folder Aliases also now remembers the Show Built-In Aliases checkbox state.
  • Button editor menus now help more with the Properties LABELCATEGORY argument.
  • Preferences / Labels no longer loses edits to a label's name or category if you click another label in the list directly after typing the edit.
  • Preferences / Labels now allows you to move labels into the pre-defined groups.
  • The Label option in the advanced filter control (e.g. Tools, Find Files, Advanced) now allows a wildcard pattern so a single clause can match multiple labels.
  • The same Label option now uses label colors and font styles in its drop-down list. (The clause itself still shows the name normally to avoid dominating other details.)
  • Properties SETLABEL=!submenu now sorts category sub-menus to match the list in Preferences.
  • Properties SETLABEL on its own now groups labels by their categories, while still producing a flat list. Similarly, SETLABEL=!menu does the same inside a sub-menu. You can use SETLABEL=!nogroup or SETLABEL=!menu,!nogroup to intermix the categories as before, if you wish.
  • If you put a list of labels at the top level of a toolbar (Properties SETLABEL), the list now updates correctly when you change label definitions in Preferences.
  • The buttons generated by Properties SETLABEL and similar will now disable themselves when no files are selected.
  • Properties SETLABEL now respects the NOFROMFOCUS argument to avoid considering the folder tree.
  • Fixed issue with color labels assigned via NTFS not showing in the tree
  • Fixed issue assigning a label to an archive in the tree
  • Clearing labels from files now works via symbolic links.

Commands

  • Delete command has new switches FAILNOTEMPTY and SKIPNOTEMPTY:
    • These are not for general purpose empty folder clean-up (you can use a delete filter for that).
    • They are intended for a narrow but recurrent case: A command which moves things out of a folder and then wants to remove the folder, but only if it is now completely empty.
    • Both new arguments MUST be combined with NORECYCLE, even if the recycle bin is currently off.
    • They only affect folders at the top level (i.e. selected or named as arguments). If a top-level folder is not empty, it will not be deleted and the command will fail (FAILNOTEMPTY) or skip it and move on to the next (SKIPNOTEMPTY). An empty sub-folder is enough to consider a top-level folder non-empty.
    • Files at the top level are deleted normally, regardless of size.
    • While this should work with all VFS plugins and filesystems, you are advised to double-check when using it on anything but local folders, since some VFS/filesystems may incorrectly delete entire folder trees without checking they are empty.
    • The delete confirmation dialogs do not exclude non-empty folders, since the assumption is you will add the QUIET argument in any scenario where the new arguments are useful.
  • Set COLUMNSADD and similar now allow column positions to be specified relative to existing columns. For example, to add the Status Icons column after the Name column: Set COLUMNSADD=Status(1+Name). "0+Name" is the position of the Name column. "1+Name" the next position. "1-Name" the previous position.
  • The Show VIEWERCMD=meta command has been expanded to allow the metapane width to be controlled in the viewer. Supported keywords are now "on", "off", "toggle", "grow", "" and "nofocus". The "grow" option is like having the metadata panel snap on and off the side of the viewer instead of eating into the window's current space. e.g. Show VIEWERCMD=meta,500,grow,toggle
  • Fixed multi-column Set SORTBY commands which mix internal and script columns.
  • If Show Everything mode is on, Select HIDESEL and HIDEUNSEL are now ignored.
  • Added a Touch Modified command to the the default toolbar's Properties button-menu.
  • Automated Prefs BACKUP and RESTORE commands now intelligently add the .ocb backup file extension to the specified paths.
  • Go FROMSEL now works in the Computer folder.
  • You can now use the Help command to directly open the page for any internal command. For example: Help REF=cmd_CreateFolder
  • In the command editor, F1 now opens the manual page for the command on the current line, if applicable.
  • Added mycomputerfull argument for breadcrumbs pathfields, to enable the display of folders in the drop-down for the Computer folder.
  • The Go FOLDERCONTENT command now supports non-filesystem folders. For example, as mentioned above, in Windows 10 you can use Go /quickaccess FOLDERCONTENT to show the Quick Access folder in a pop-out menu.

Preferences

  • Added option Preferences / File Operations / Copy Options / Generate thumbnails for network files in Confirm File Replace dialog, which is on by default. If turned off, you will get the old behavior of generic icons for network files in the Replace dialog and a "?" button you can click to generate them.
  • Restoring the Preferences / Folders / Folder Formats page no longer puts the User Default item into the wrong place in the list. It now also remembers which sections you have expanded instead of collapsing all of them.
  • Fixed cosmetic issues with Preferences / Misc / Advanced when scrolling/resizing while a combobox was in use.

Miscellaneous

  • Improved several icons and cursors used in the program.
  • Status bar hidden counts and format lock now have their own right-click menus for quick access to related commands for filtering and changing or resetting the folder format.
  • The status bar tooltips for the Show Everything feature now make more sense when using Flat View, Mixed (No Folders).
  • In Details and Power modes, file intotips now appear when the mouse is over names or icons (or thumbnails if joined to the Name column). Previously, it only worked over the names themselves.
  • Fixed a problem where the Type column showed different things before and after a folder refresh (e.g. "File" vs "JPG File").
  • Date and time codes, when renaming files or running commands, can now specify the "system invariant locale" instead of local language settings. This locale is similar to North American and gives the same results on all machines and in all languages. For example, running {date|Idd-MMM} {time|Ihh:mm tt} on June 23rd at 10:52 PM will always output "23-Jun 10:52 PM", always using English month names and AM/PM strings.
  • Animated GIF plugin now includes the current filename in the F10 infotip when the viewer is full-screen, consistent with the built-in image types.
  • Fix for rare crash when loading webm or mkv files into the viewer.
  • Fixed problem where if the Lister Context menu had the Toolbar List added, the list did not indicate active toolbars.
  • Improved behavior of Page Up and Page Down keys in Details and Power modes. The main difference is that you will always get at least one fully visible line of overlap between the current page and the next. Some fairly obscure issues have also been fixed (e.g. Shift + Page Down did nothing if the last visible item was a group header).
  • Fixed file display group headings being drawn in the wrong color if the rightmost file display column used a custom text color.
  • The header icon for Manual Sort mode now shows its context menu for both left and right clicks.
  • Opus now recalculates the item under the mouse pointer (even if the mouse hasn't moved) after reading a new folder, meaning that if an item is underneath the pointer in the new folder it will be highlighted (and/or selected in "single click" mode) automatically
  • Layouts and the Default Lister now save and restore the last used dual-display orientation (horizontal or vertical) even if the second display is closed when they are saved. In particular, this allows you to have a single-display default lister which will use dual-horizontal displays when you load a folder tab group.
  • Fix for crash which could be triggered with specific types of malformed, self-referential symbolic links which got through normal loop detection.
  • Fixed a problem where copying a file from one zip archive to another, with the Preferences / Zip & Other Archives / Zip Files / Ask for encryption/compression settings when copying into Zip files option turned on, would incorrectly save the full path of the copied file into the archive.
  • Fixed extra UAC prompt when moving a folder out of a place requiring elevation, if the option to reset moved file permissions was on.
  • When moving into encrypted or compressed folders on the same drive, and when set to update the encryption/compression of the moved folders, the update now happens as part of the main move operation instead of spawning parallel background threads for each folder. This avoids excessive disk/CPU use if multiple large folders are moved in such a way, and means you know things are really finished when the progress dialog closes.
  • Holding the shift key while turning the mouse wheel over the folder tree now scrolls a page at a time.
  • When setting EXIF tags in pictures, Opus will no longer use UTF-8 for fields that never require it (e.g. "Date Taken"). This is to prevent compatibility problems with software that has trouble with the UTF-8 BOM header in certain fields (e.g. Explorer).

Scripting

  • Trimmed trailing space from Item.attr_text script properly when on some FTP sites.
  • The OnOpenTab event is now triggered for the initial tabs in a new Lister, following the OnOpenLister event. (Previously, OnOpenTab was only triggered for the second and subsequent tabs).
  • Added Dialog.Create method which lets a script dialog be created without immediately going visible (so that controls can be initialised before the dialog is shown). Using Create implies Dialog.detach = True. Once created, call Dialog.Show to show it. The dialog will also be shown automatically on the first GetMsg call.
  • If Dialog.Control is given the name of the main dialog as its optional second argument, Opus will now search the main dialog for the control (even though the second argument is only intended for use with tabs).
  • During OnInit, scripts can now set initData.url to a URL which the user can see and click when managing scripts in Preferences. Suggested use is to point to the script's forum thread.
  • Fixed cosmetic issues in script dialog editor with column widths and scrolling in the right panels.
  • Fixed Scripts preferences page crashing if the mouse was moved over the list in a particular way which angered it.
  • Script configuration dialog now remembers its size.
  • Added script support for Windows shell properties, making it easy for a script to enumerate properties in the system and retrieve the properties for a file.
    • FSUtil.GetShellPropertyList to retrieve a list of properties (optionally matching a wildcard pattern).
    • FSUtil.GetShellProperty to get the value of one or more properties for a file.
    • Item.ShellProp to get the value of a single property for the item.
    • ScriptColumn.userdata property added which lets a column specify an item of data that's passed back to column handlers (in the example DWG script, it's used to pass the PROPERTYKEY through which is quicker than looking the property up by raw name each time).

Example VBScript to add DWG columns:

Function OnInit(initData)
    initData.name = "DWG Columns"
    initData.desc = "Adds DWG Columns from the JTB World extension"
    initData.copyright = "(c) 2016 jpotter"
    initData.version = "1.0"
    initData.default_enable = true
    initData.min_version = "12.0.8"
    Dim props, prop, col
    Set props = DOpus.FSUtil.GetShellPropertyList("dwg.*", "r")

    for each prop in props
        Set col = initData.AddColumn
        col.name = prop.raw_name
        col.method = "OnDWGColumn"
        col.label = prop.display_name
        col.justify = "left"
        col.autogroup = true
        col.userdata = prop.pkey
    next
End Function

Function OnDWGColumn(scriptColData)
    scriptColData.value = scriptColData.item.shellprop(scriptColData.userdata)
End Function