Program XYplorer The Flexible File Manager for Windows 7, Windows Server 2008, Windows Vista, Windows XP, Windows Server 2003, Windows 2000, Windows NT, Windows Me, Windows 98; 32-bit and 64-bit versions Version 10.80.0100 Release 30-Jan-2012 License Proprietary Author Donald Lessau Contact support@xyplorer.com Website http://www.xyplorer.com Download http://www.xyplorer.com/download/xyplorer_full.zip Register http://www.xyplorer.com/purchase.php PAD file http://www.xyplorer.com/XYplorer-PAD.xml Copyright (c) 1997-2012 Donald Lessau. All Rights Reserved. =========================================================================== [history] +++ major new feature + new feature * changed feature % improved performance or quality > usage tip ! fixed minor bug !!! fixed major bug Acronyms AB Address Bar AC Access Control ADP Application Data Path AL Action Log BB Background Bar BV Branch View CEA Custom Event Actions CKS Custom Keyboard Shortcuts CLI Command Line Interpreter CTB Custom Toolbar Buttons DP Dual Pane DUB Droppable User Buttons FV Flat View FVS Folder View Settings HPT History per Tab IP Info Panel KS Keyboard Shortcut MBV Multi Branch View MDBU Mouse Down Blow Up MOBU Mouse Over Blow Up MT Mini Tree NP Navigation Panel PFA Portable File Associations POM Portable Openwith Menu PV Permanent Variable QS Quick Search RB Recycle Bin RFO Rich File Operation SB Status Bar SC Scripting Command SRC Search Results Caching TB Toolbar UB User Button UDC User-Defined Commands VF Visual Filter VFO Virtual Folder .......... XYplorer ver 10.80 ....................................................... v10.80.0100 - 2012-01-30 12:00 = MAINTENANCE RELEASE. +++ Safety and Accessibility. Added optional safety belts and wider support for large font sizes. +++ Scripting. Various enhancements, like a more flexible HereDoc syntax, and an improved increment operator. (Pro Edition Only) +++ Thumbnails. Dimensions are now shown on a semi-transparent background. +++ Bug fixes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - help file status quo - v10.80.0019 - 2012-01-29 14:12 % Configuration | Thumbnails | Show dimensions of original image on thumbnail: Now the dimensions are shown on a semi-transparent background positioned in the lower right corner of the thumbnail. ! Image drop from the web: Would not auto-rename on collisions and thus possibly cause unprompted overwrites. Fixed. ! Tabsets: All Save / Save As / Save Copy As operations only worked when "Configuration | Startup & Exit | Remember most-recently-used lists | Apply To | Tabs" was ticked. Fixed: Now the saving works independently of this setting. v10.80.0018 - 2012-01-28 11:52 + SC tab enhanced: New operation "lockhomezone", analog to "Lock Home Zone" in menu View | Tab. The "data" parameter, if missing, toggles the status, whereas 0 unlocks and 1 locks. The "index" parameter can be used to define the tab to lock to home zone (leftmost tab = 1). Examples: //toggles the Lock Home Zone status of the current tab tab("lockhomezone"); //sets the Lock Home Zone status of the current tab ON tab("lockhomezone", 1); //toggles the Lock Home Zone status of the second tab tab("lockhomezone", , 2); //sets the Lock Home Zone status of the second tab ON; tab("lockhomezone", 1, 2); If a tab has no home you get an error message. * Updated the help file. v10.80.0016 - 2012-01-27 17:58 ! Status Bar: Since v10.80.0015 there were drawing glitches sometimes. Fixed. v10.80.0015 - 2012-01-26 20:07 * The Favorite Folders right-click menu of the Tree's white space now shows the cleaned and resolved items in the Status Bar when you are hovering the menu. v10.80.0014 - 2012-01-26 12:43 * List: Now, when temporary folder sizes are displayed (triggered by menu View | Calculate Folder Sizes) then a Refresh List (or Auto- Refresh event) will also refresh the folder sizes. Before, they would have vanished. ! Placement of some dialogs wrong (since v10.80.0013) on dual monitor setups. Fixed. ! Due to a sensational bug in the FindFirstFile API which failed to filter out items with extensions longer than 3 characters (the bug is present even in Win7!), some routines had to be rewritten to work around this bug. Done. ! SC listfolder: The above fix also fixes the issue here. * XYcopy: Updated to 2.00.0074. v10.80.0013 - 2012-01-25 14:48 % Better placement of captions in tabs depending on font size and display settings. Also on non-standard DPI settings under Win7 the tab height has been somewhat reduced. % Better placement of dialogs: Now it is ensured that no parts are outside the monitor when a dialog is popped up centered over the main form. * Network: Now you can browse network locations even when Mini Tree is OFF and "Configuration | General | Show Network folder" is OFF. The Tree is then bypassed (and displayed greyed, see below) and only the list is used to browse the location. * Tree: Now, a Tree bypassed by browsing (i.e. the browsed location is not shown let alone selected in the Tree) is displayed with a grey background, resp. with the color you have defined for Locked Trees. Reason: This makes it immediately clear that Tree and List are not synced and protects you from false assumptions and potentially fatal decisions. Note: The Locked Tree color make sense here since being out of sync with the list is a core property of the Locked Tree. Also there will be no conflict or loss of information when your Tree IS already locked because again, as a Locked Tree user you live with an out-of-sync Tree by choice. ! Network: On a maxi tree the network special folder was not always filled under certain conditions. Fixed. * Scripting | HereDoc: Now the radical parsing (ending identifier can be anywhere) is enabled when the identifier starts with a "#". --------------------------------------------------------------- $isOk = Confirm (<<<#FOO Blah BlahFOO#FOO); echo $isOk; --------------------------------------------------------------- Otherwise the old-school parsing is enabled (ending identifier must be on its own line): --------------------------------------------------------------- $isOk = Confirm (<<". Fixed. ! Some Tags related dialogs and the Shell Wait dialog were too narrow on non-standard display settings. Fixed. v10.80.0006 - 2012-01-21 15:13 ! Menu File | Settings | Save Configuration As...: Would tolerate specifying a target folder different from application data folder, which is against the rules. As an undesired consequence certain configuration files could have been overwritten under certain conditions. Now you are told that you made a mistake, and the operation is aborted before anything wrong happens. * SC tabset: Now you can reset the tabset of a pane to the default tabset (whose name is automatically generated from the name of the current INI file) by calling "load" without passing a name for the tabset: tabset("load"); This is the only way to reset the tabset of a pane to the default tabset. The GUI currently does not provide this functionality. The tooltip of the Tabsets toolbar button now shows whether the tabsets are default or not. FYI, the difference between a default soft-named tabset and a user-chosen hard-named tabset surfaces in the moment you use "Save Configuration As..." AND have ticked "Configuration | Startup & Exit | Keep pane data private". The tabset data will then be copied to a folder corresponding to the new INI file name and that folder will be used as tabset data folder further on. So for most users it won't matter much, but for some it might turn out useful. * Action Log: Now shows "Delete (Permanent)" or "Delete (Recycler)" depending on the operation. Before "Delete" was shown in both cases. v10.80.0003 - 2012-01-19 20:03 ! Find Files: Multi Location Searches on multiple drives (e.g. Location: "E:|F:") did yield the correct results, but with unusable crippled data in the path column. Fixed. ! Version Info: Was not shown for BPL files (Borland Package Library) and DPL files (Delphi Package Library). Fixed. v10.80.0000 - 2012-01-12 12:00 = NEW OFFICIAL RELEASE. Main developments since last release: +++ Multi Branch View. Quickly view the complete contents of two or more folders in one list. These folders can even be in totally different locations. +++ Tabsets. Now "Revert to Saved" is supported. Safely play around with a tabset and quickly go back to the original state. +++ Automatic Rich File Operations. Now, where appropriate, Copy/Move/Paste operations optionally copy the source folder structure as well and thus avoid collisions of the sources in the target location. +++ Info Panel. A shiny blue button at the right end of the Status Bar makes the Info Panel more accessible to mouse users. +++ Paste To Selected List Folder. Now you can paste items from clipboard (Ctrl+V) directly into a folder shown in the file list, even in Branch View and Search Results. +++ Minimize Tree. Reduce the folder tree to just the paths of all tabs in the current pane. .......... XYplorer ver 10.70 ....................................................... v10.70.0219 - 2012-01-18 14:23 ! Multi Branch View: Fixed a couple of glitches. v10.70.0213 - 2012-01-17 18:31 ! Branch View: Rapid switching of huge folders (e.g. drives) while a Branch View with folder size display was still in progress could lead to an error message and even a crash. Fixed. ! Branch View: Startup on a Branch View would show the app only after the Branch View was completed. Fixed: Now the app is shown before the Branch View list is being filled. v10.70.0212 - 2012-01-17 11:31 * Variable : Now the default separator is "|": This is more in line with . + New variable . Same as but "selected first": The path of the selected tab is returned as first path. This order is better for loading a Mini Tree: loadtree ; * Menu View | Mini Tree | Minimize Tree: Before, this command would reduce the Mini Tree to just the current path. Now it reduces the Mini Tree to just the paths of all tabs in the current pane. + SC loadtree: Enhanced the "modify" parameter by a new value "3" which corresponds to the new Minimize Tree function above. Syntax: loadtree pathlist, [modify=0] [modify]: 0: [default] fresh tree from scratch 1: add paths to current tree 2: hide paths from current tree 3: reduce the Mini Tree to just the paths of all tabs in the current pane Example: ::loadtree "", 3; //Minimize Tree * Updated the help file. v10.70.0211 - 2012-01-16 19:43 + New variable . Returns the paths of each tab of the active pane, from left to right, separated by separator. Examples: echo ; echo ; As always, SC get supports the same argument: echo get("tabs"); * Menu File: The MRU lists of the "Move/Copy/Backup To" submenus now support quoted captions. You can manually add those captions to the target paths in List Management | Move/Copy/Backup To. Here is an example for how to add "Other Pane" to the sticky section of those menus: "Other Pane" -----> mru * Menu Edit: In the Move To, Copy To, Backup To dialogs, any variables in the destinations MRU are now resolved in real time; the resolved item is shown in the top edit box. So you immediately see where your items are going to. v10.70.0210 - 2012-01-16 15:09 * Toolbar | Tabsets: The Tabsets MRU list does not hold the sources of clone operations anymore (format "source as: clone"). From now on only the clones are listed. Reason: Repeating a clone operation is not important anymore since we have reversible tabsets. * Menu Tabsets: Renamed command "Go to Tabsets Folder" to "Go to Tabset Folder" and changed its function: Now it brings you to the folder of the current tabset. Before it brought you to the Panes subfolder of . * Updated the help file. v10.70.0209 - 2012-01-14 13:29 ! Customize Toolbar: Didn't work correctly when the toolbar was reset to the default state (by removing all current buttons). Fixed. ! Branch View: "Toggle on Same Query" didn't work as expected on special folders. Fixed. v10.70.0208 - 2012-01-13 16:36 + Configuration | Advanced: Added option "Paste to selected list folder". When ticked and a folder is selected in the list then pasting from clipboard (Ctrl+V) goes into this folder. Also works in Branch View and Search Results. Of course, the list needs to have the focus. ! Startup: The enabling of "Configuration | Startup & Exit | No network browsing on startup" was not honored on a Maxi Tree under certain conditions. Fixed. ! Mouse Down Blow Up: With "Configuration | Preview | Use whole screen" enabled the blow up didn't honor custom positions and sizes of the Windows Taskbar correctly. Fixed. ! Multi Branch View: Could not be toggled on a locked tab. Fixed. v10.70.0207 - 2012-01-12 18:39 * Network: Experimentally implemented a radically new way to enumerate the servers that are listed under the Network special folder in the Tree. Purpose is to get a more complete and probably also faster listing than with the previous method. Note that to test this function you have to turn off Configuration | Startup & Exit | Cache network servers. In case you prefer to stick with the previous method use this new tweak: NetworkNetServerEnum=1 * Menu Tools | List Management: Renamed "Servers in My Network Places" to "Servers in Network Folder". ! Statusbar: Wrong display when servers were selected in the Tree. Fixed. v10.70.0206 - 2012-01-11 21:57 * Multi Branch View, Multi Location Search: Now, if the tab captions are not set to "Full path" in Configuration | Tabs, the tab headers show an "/M" to make clear that the contents are from multiple locations. ! Multi Branch View: Fixed a couple of glitches when dragging files from an MVB, and when switching panes. v10.70.0205 - 2012-01-11 15:29 *** Tabs and Tabsets: Rewrote the way tabs and tabset data are stored on disk. Before, the configuration (and optionally contents) of a Search Results tab where stored immediately on disk when switching to another tab, thus changing the tabset's stored state irreversibly. Now, any disk writing is performed to a temporary folder "t", a subfolder of the tabset's data folder. Only when explicitly triggering a Save (or when "Auto-save tabsets on switch" is ON, see below), the original tabset data are overwritten. As long as no Save is performed, you can always Revert to the stored state of a tabset. > NOTE: This has been big and involved work, so take care and backup your tabsets before testing this version! + Configuration | Tabs: Added option "Auto-save tabsets on switch". Check it to automatically save the current tabset when switching to a new one. Factory default is OFF. Note that up to now this behavior was controlled by Configuration | Startup & Exit | Save settings on exit, which really didn't make a lot of sense. Now you can setup the app to startup exactly as the previous session was closed without having the tabset saved irreversibly. + Menu Tabsets: Added command "Revert to Saved". Reverts the current tabset to its saved state. Afterwards the previous temporary state is irreversibly lost. + SC tabset enhanced: New operation "revert" allows you to revert the current tabset to its saved state. Example: tabset("revert"); * Toolbar | Tabsets: The dropdown menu now features "Revert to Saved" rather than "Open As...". The latter command has lost importance due to the recent changes in the way tabsets are managed. * Configuration | Advanced | Auto-Refresh: Renamed "In network locations as well" to "Include network locations". * Configuration | Advanced | Auto-Refresh: Added "Include removable drives". New factory default is ON. It applies to USB sticks, thumb drives, flash card readers, and the like, but NOT to floppies(which are excluded from all auto- refresh). This setting was already available in the context menu of the Auto-Refresh toolbar button since v8.60.0109. * Multi Branch View: Now you can select multiple folders in the list view and then branch view them together in one list, irrespective of the state of the "Selected Locations" checkbox on the Find Files tab. Only condition: The list must have the focus. > Multi Branch View: You can directly trigger a Multi Branch View from a Branch View when folders are selected in the focused list. The "Branch View" toggle silently turns into a "Branch View" command under these conditions. ! Multi Branch View: Fixed a couple of glitches concerning various MBV related status texts. Also the tree synching on tab switch works better now for MBVs. * Main Titlebar: Now the path is always displayed without trailing slash. Before, this was a bit inconsistent. Exception: Drive roots which by convention are always shown with a trailing slash in Windows. v10.70.0204 - 2012-01-10 14:40 + Automatic Rich File Operations: From now on, any copy/move operation (drop, paste, to new subfolder, etc.) will check whether its direct sources are "rich" (= come from more than one folder), and then offer to do a Rich Copy or Move instead of the standard flat operation (where things might collide/merge). Note that "rich sources" typically come from recursive search results or branch views. The rootpath for such a rich operation is the greatest common parent folder of the sources. + Enhanced tweak HotKeyShowApp. Now it will minimize XY when it's not minimized and in the foreground. So you now have a nice toggle to show/hide the app. ! Under Win7 you could get a false "Location currently not available" when the location was under a special folder that was hidden by user settings (and some other ingredients, like a junction in the path and not using the Mini Tree). Fixed. + Branch View: Now the "Selected Locations" checkbox on the Find Files tab is honored for Branch Views as well. This means you can select multiple folders in the list view and then branch view them together in one list. Note: If your folders overlap (which can happen when selected from a recursive search results list) you can get duplicate entries in the Multi Branch View. BTW, this is not a new phenomenon but can as well happen with a Multi Location Search. * List: In Multi Location Searches and Multi Branch Views the Path column now supports showing relative paths, namely relative to the greatest common parent path. ! Branch View: A multilocation term like this E:\Test\A\;E:\Test\B\? /:flat was not displayed as expected in the Address Bar, and also was wrongly added to the Recent Locations list. Fixed. ! Tabsets: A finding tab could lose its finding magic when loaded from a stored tabset. Fixed. v10.70.0203 - 2012-01-04 18:08 ! Tree: Color Filters didn't auto-update on a change event. Fixed. v10.70.0202 - 2012-01-03 17:35 ! Visual Filters: Filtered tabs in the active pane could silently lose their filter on copying files to an unfiltered inactive pane. Fixed. v10.70.0201 - 2012-01-03 11:57 + Status Bar: Added a button to the right of the Status Bar which serves to toggle the Info Panel. The button's right-click menu has a couple of related commands. * Menu Window: Renamed "Show Background Bar" to "Show Status Bar Buttons". ! Visual Filters: Unfiltered tabs in the inactive pane could silently inherit filters from the active pane on startup and on copying files to the inactive pane. Fixed. v10.70.0200 - 2012-01-01 12:00 = MAINTENANCE RELEASE. +++ Bug fixes. v10.70.0106 - 2011-12-31 18:18 ! Trying something to handle faulty shell extension induced crashes more gently, #4. Last upload 2011. v10.70.0104 - 2011-12-31 15:56 ! Trying something to handle faulty shell extension induced crashes more gently, #3. v10.70.0102 - 2011-12-31 13:37 ! Trying something to handle faulty shell extension induced crashes more gently, #2. v10.70.0101 - 2011-12-30 22:07 ! Trying something to handle faulty shell extension induced crashes more gently. v10.70.0100 - 2011-12-29 16:00 = MAINTENANCE RELEASE. +++ Bug fixes. v10.70.0002 - 2011-12-29 10:37 * Drop Context Menu: "Create Folder(s) Here" and "Create Branch(es) Here" now auto-rename items when they are dropped into their own folder (inplace collisions). v10.70.0001 - 2011-12-22 18:00 + CKS | Miscellaneous | File Operations: Added command "Open Selected Item(s) by Shell" (#1057). Opens the selected List item(s) as if selecting "Open" from the shell context menu. Note: It does not seem to work with all items. Conditions are not yet fully understood. ! Menu File | Properties: Did not support multiple files always under Win7 (no such problem under XP). Fixed. v10.70.0000 - 2011-12-21 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Tabsets. Now you can save and load the tabset of a pane, that's all tabs including their layout (tab settings and tabwise list settings) and contents (cached search data, find settings, homes, history, etc.). (Pro Edition Only) +++ Visual Filters. Now Visual Filters support environment variables and XYplorer native variables. +++ Flat View. Renamed it to "Branch View". Reason: "Flat View" had been trademarked by a competing product. +++ Branch View and Name Search. Now you can branch view and search whole servers. +++ Sorting. The new command Previous Order allows you to toggle between the two recent sort orders. .......... XYplorer ver 10.60 ....................................................... v10.60.0135 - 2011-12-21 09:56 * Updated the help file. ! Menu View | Views: Checkmarks were not updated. Fixed. v10.60.0134 - 2011-12-20 09:38 ! Tweak ResolveNestedJunctions didn't work correctly when junctions pointed to drives. Fixed. v10.60.0133 - 2011-12-19 20:48 * Tweak ResolveNestedJunctions now also applies to XP. However, it is enabled by factory default only on Vista/Win7. ! Tabs: A tab whose path is defined as relative didn't permit a direct drag and drop. Fixed. ! List: Auto-refresh could crash under certain conditions. Fixed. v10.60.0132 - 2011-12-16 15:00 * SC tabset: Operations "openas" and "loadas" have been removed. Clones are now passed in the "name" argument using the "as:"- syntax. At least one space needs to be before and after "as:". New Syntax: tabset([operation=open], [name], [pane=a]) Examples: //Select a tabset and load a clone of it named "clone1": OLD: tabset("openas", , , "clone1"); NEW: tabset("open", " as: clone1"); //Select a tabset and load a clone (name is prompted for): OLD: tabset("openas"); NEW: tabset("open", " as: "); //Load tabset "work" as clone named "clone1": OLD: tabset("loadas", "work", , "clone1"); NEW: tabset("load", "work as: clone1"); + SC tabset enhanced: Now also "browse" supports the "as:"-syntax. Examples: //Browse for a tabset and load a clone of it named "clone1": NEW: tabset("browse", " as: clone1"); //Browse for a tabset and load a clone (name is prompted for): NEW: tabset("browse", " as: "); //Browse for a tabset in E:\Test and load a clone of it: NEW: tabset("browse", "E:\Test as: "); ! Calculating Folder Sizes could get confused when the list was resorted while the calculation was in progress. Fixed. v10.60.0130 - 2011-12-15 12:02 * Tabsets: Now tabsets opened as clone via Open As are stored as such in the MRU list. Original source name and clone name are separated by " as: ", e.g. "work_1 as: clone1". If you select such a "clone item" from the MRU list, the cloning is repeated exactly as it was done the first time. This makes it very comfortable to work with different cloned (effectively read-only) tabsets. Tip: If the current tabset has been loaded as a clone then selecting the first MRU item amounts to a "Revert to Saved". + SC tabset enhanced: The above syntax is also supported by both "open" and "load". Remember that "open" offers you a list of tabsets to choose from, whereas "load" directly loads a specific tabset. Examples for "load": // open tabset "work_1" as "clone1" tabset("load", "work_1 as: clone1"); // open current tabset as "clone1" tabset("load", " as: clone1"); // open tabset "work_1" as clone (prompt for name of clone) tabset("load", "work_1 as: "); // open current tabset as clone (prompt for name of clone) tabset("load", " as: "); Examples for "open": // select a tabset in E:\Tabsets and open as "clone1" tabset("open", "E:\Tabsets as: clone1"); // select a tabset and open as "clone1" tabset("open", " as: clone1"); // select a tabset and open as clone (prompt for name of clone) tabset("open", " as: "); * Menu View | Folder View Settings: Renamed two commands to something less confusing: - OLD: Save Folder View As... NEW: Apply this Folder View Also To... - OLD: Save Folder View As Default NEW: Define this Folder View as Default v10.60.0129 - 2011-12-14 20:28 * SC resolvepath: Before, under Vista/Win7 a relative path was returned with a leading ".\", e.g.: ::text resolvepath ("C:\Apps\XY\XYplorer.exe", "C:\Apps\", 1); Win7: -> .\XY\XYplorer.exe XP: -> XY\XYplorer.exe Now under all systems the relative path is returned without ".\". * Tabsets: The change above (relative paths format) also affects how tabset names are displayed in Vista/Win7, namely now w/out ".\". v10.60.0128 - 2011-12-14 14:10 + Menu Tabsets: New command "Open As..." allows you to open a tabset as clone. Useful if you want to keep your original tabsets unchanged. The name for the clone is prompted for (defaults to "Clone#", where # stands for the number of the current pane). Note that any existing tabset of the same name as the clone will be overwritten without any warning! > Toolbar | Tabsets: Hold CTRL when selecting a tabset from the MRU list to load it as a clone. + SC tabset enhanced: New operation "openas" allows you to select a tabset from a folder of your choice and load it as a clone under a name of your choice. Just like with loadas, no overwriting prompt will appear before any existing tabset of that name is overwritten. Syntax: tabset([operation=open], [name], [pane=a], [nameofclone]) "openas" = Open/Load a copy of a stored tabset under a new name, in other words: load a clone. - Parameter "name" points to the folder from which to select the source tabset. Defaults to the tabsets folder (\Panes). - Parameter "nameofclone" is used to state the name of the clone. The name is resolved relative to the tabsets folder. Example: //Select a tabset and load a clone of it named "clone1": tabset("openas", , , "clone1"); //Select a tabset and load a clone (name is prompted for): tabset("openas"); * SC tabset: Operation "loadas" does not prompt for overwriting anymore even if the name for the clone was prompted for. ! List & Tabs: The current tab could get temporarily out of touch with reality after changing list modes, which under certain conditions surfaced as suddenly all columns being shown. Fixed. v10.60.0127 - 2011-12-13 21:58 + Visual Filters: Now the VF Toolbar button's tooltip and the Status Bar first section's tooltip both show the current Visual Filter pattern, which is the active pattern after any variables have been resolved. This is useful when you have a VF like this and want to know what your filter actually looks like: "Matching Clipboard" ! Visual Filters: For about five weeks (since Sticky Section) toggling different VFs on different tabs did not work as it should. Sometimes the last filter from another tab was applied. Fixed. v10.60.0126 - 2011-12-13 15:46 + Visual Filters: Now they support environment variables and XY native variables. For example: - Shows only items with the current year in the name. - %username% Shows only items with the current user name in the name. Yay portable filter! - %pathext% A special case: %pathext% happens to return a list of patterns which is quite compatible with XY's Visual Filter syntax: %pathext% => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH So you'd see a list of what the system considers executable files. Yay portable filter! Notes: - The tab headers show the resolved values of the variables. - The MRU list under the VF Toolbar button shows the variables. - The VF toolbar button's tooltip shows the variable form of the current VF. - Visual Filters are stored as variables (e.g. "%username%") only when passed through the Set Visual Filter interface. Visual Filters passed through the Address Bar are resolved (e.g. "Donald") *before* being passed to the Visual Filter engine and stored as the hard invariable value. + SC tabset enhanced. Now, for operation "loadas" you can pass the desired name of the clone. In that case no overwriting prompt will appear before any existing tabset of that name is overwritten. Syntax: tabset([operation=open], [name], [pane=a], [nameofclone]) "loadas" = Open/Load a copy of a stored tabset under a new name, in other words: load a clone. - Parameter "name" points to the tabset to load. The name is resolved relative to the tabsets folder. If empty then the current tabset is cloned. - Parameter "nameofclone" can be used to state the name of the clone. The name is resolved relative to the tabsets folder. Example: //Load a clone named "clone1" of tabset "1" in pane 1: tabset("loadas", "1", 1, "clone1"); * Flat View: Renamed it to "Branch View". Reason: "Flat View" had been trademarked by a competing product. Of course, this is just a superficial change regarding the marketing level of the application. Functionally it is still a flat view, and several internal subsurface strings still carry the word "flat" (not trademarked) for backward compatibility reasons. * Dual Pane: On switching the active pane the Address Bar now shows any name search parameters of the new active pane (just like on a tab switch to a name search tab). v10.60.0125 - 2011-12-12 15:38 + Configuration | Dual Pane: Added option "Sync select honors relative paths". If ticked (= factory default) then in search results, Sync Select automatically honors the relative paths of the items (relative to the root path of the search, resp. of the Flat View). Remark: This appears to be a set-and-forget setting, therefore it has been put to the Configuration dialog rather than to the Sync Select dialog. Another reason against putting it into your face is that it only applies to search results listings which probably is a rather untypical use case. * Configuration | Startup & Exit | Remember most-recently-used lists: Now "Tabs" and "Tabsets" can be controlled independently. ! Menu File | Properties: Did not support multiple files (only the first file's Properties were shown). Fixed. v10.60.0124 - 2011-12-09 20:19 * Menu View: In v5.50.0005 - 2007-01-01 12:47 submenus "Views" and "Sort By" were moved one level down to "Tab". Well, I changed my mind about this and moved them (together with "Columns") up again. Reasons: They are too important to be buried that deep. And the tabs context menu (where these three submenus from now on don't appear anymore) was too large (and those submenus are also available in the list white space context menu). * Sync Select: Now SelectSpecialHonorRelativePaths also takes effect if only one of the panes is in Find mode. v10.60.0123 - 2011-12-08 10:57 % Tree: Revised the auto-refresh of Icon Overlays. Should be faster now. v10.60.0122 - 2011-12-07 21:45 + Sync Select: Now, optionally, if both panes are in Find mode (including Flat View), then Sync Select automatically honors the relative paths of the items (relative to the root path of the search, resp. of the Flat View). This option is currently implemented as a tweak: SelectSpecialHonorRelativePaths=1 It might later be added to the Sync Select interface, or, more set-and-forget-like, to the Configuration dialog, not sure yet. ! Tab switch to MyComputer and similar special locations did not work anymore for a couple of versions. Fixed. v10.60.0121 - 2011-12-07 14:12 * Junctions: When you paste paths with nested junctions (junctions that point to other junctions) into the Address Bar (or any other location port), these junctions now can be silently resolved to the corresponding real paths before any browsing happens. For example (German Win7): Going to "C:\Documents and Settings\Don\Anwendungsdaten\" will now correctly end up in "C:\Users\Don\AppData\Roaming\". Before, the attempt would have miserably failed and ended in "C:\Documents and Settings\" (which is just a junction to "C:\Users\"). Currently experimentally implemented as a tweak: ResolveNestedJunctions=1 The tweak only takes effect under Vista/7 and later, and on drive C:. v10.60.0120 - 2011-12-06 13:42 + SC strpos enhanced: Now negative start positions are supported to begin searching from the start position leftwards. Examples: echo strpos("abcab", "b", 5); // -1 (not found) echo strpos("abcab", "b", 4); // 4 echo strpos("abcab", "b", 3); // 4 echo strpos("abcab", "b", 2); // 4 echo strpos("abcab", "b", 1); // 1 echo strpos("abcab", "b", 0); // 1 echo strpos("abcab", "b", -1); // 4 echo strpos("abcab", "b", -2); // 1 echo strpos("abcab", "b", -3); // 1 echo strpos("abcab", "b", -4); // 1 echo strpos("abcab", "b", -5); // -1 (not found) So, to search from the end of the string you pass -1 as start position. + List Management: Added the two MRU tabsets lists. v10.60.0118 - 2011-12-05 20:26 + Configuration | Templates | Titlebar Template: Added new field , set to the name of the tabset of the current pane. * Tabsets: Now on loading a new tabset the previous tabset will only be auto-saved if "Save settings on exit" is enabled. This had been removed recently, but it turned out that it was not that bad after all. v10.60.0117 - 2011-12-05 14:22 + Tabsets: Now the most recently used tabsets of each pane are stored between sessions in a portable manner. The MRU tabsets lists hold 32 items per pane. + Toolbar | Tabsets: The left-click now opens the MRU tabsets list of the current pane in a popup menu. Click an item to load that tabset. + Configuration | Startup & Exit | Remember most-recently-used lists: The item "Tabs" is now called "Tabs and Tabsets" and controls also the retaining of MRU tabsets between sessions. + Configuration | Templates | Titlebar Template: Added new fields and , set to the name of the tabset of each pane. The name is identical to the folder name; you don't get any information here about the path of the tabset. ! Catalog: Scroll position was not always restored correctly between sessions for a while. Fixed. ! Catalog: MRU list did not function correctly for a while. Fixed. v10.60.0116 - 2011-12-03 18:01 - Tabsets: This recent change was nonsense and has been removed: * Tabsets: Now on loading a new tabset the previous tabset will only be auto-saved if "Save settings on exit" is enabled. v10.60.0114 - 2011-12-03 16:09 * Tabsets: Now on loading a new tabset the previous tabset will only be auto-saved if "Save settings on exit" is enabled. * Custom Copy: The progress dialog now remembers its position also when the moved progress dialog is from a background process. * XYcopy: Updated to 2.00.0073. v10.60.0113 - 2011-12-02 13:27 + Menu Tabsets: Added "Go to Tabsets Folder". + Toolbar | Tabsets: The names of the current tabsets are now shown in the button's tooltip. And right-clicking the button shows the Tabsets menu now as well. The left-click will later be used for an MRU list. + SC tabset enhanced. Now you can pass the tabset base path in the "name" parameter for the operations "open" and "browse". And a new operation "loadas" was added. Syntax: tabset([operation=open], [name], [pane=a]) operation: "open" = [default] Open/Load a stored tabset from the complete list of available tabsets in the tabset base (\Panes). Parameter "name" can be used to define an alternative tabset base for this operation. "browse" = Open/Load a stored tabset by browsing the file system. Browsing by default starts in the current tabset's path. Parameter "name" can be used to define an alternative start path. "loadas" = Open/Load a copy of a stored tabset under a new name, in other words: load a clone. Parameter "name" points to the tabset to load. If empty then the current tabset is cloned. Example: //Show complete list of available tabsets in E:\XYTabsets\: tabset("open", "E:\XYTabsets\"); //Load a clone of tabset E:\XYTabsets\Duck: tabset("loadas", "E:\XYTabsets\Duck"); //Load a clone of the current tabset tabset("loadas"); * Menu Tabsets | Open...: Now also the currently used tabsets in each pane are listed, marked as "[In Use - Pane X]". If you select one of them you are prompted to make and load a clone. * Menu Go: Moved the command "Go to Scripts Folder" to menu Scripting. v10.60.0112 - 2011-12-01 21:00 +++ Tabsets: Now you can save and load the tabset of a pane, that's all tabs including their layout (tab settings and tabwise list settings) and contents (cached search data, find settings, homes, history, etc.). While each pane always has exactly one tabset loaded, you can have any number of tabsets available to choose from. The definition of each tabset is held in a folder (also referred to as "pane data path") containing all necessary information within a couple of files. The name of the folder is identical to the name of the tabset. Thus tabsets are perfectly portable and easily maintainable. This feature is available in the Pro Edition only. Interface ~~~~~~~~~ The new main menu "Tabsets" has the following commands (along with detailed notes about what's happening under the hub): Open: Open/Load a stored tabset. A list of all available tabsets in the default tabset folder (\Panes) is popped. The current tabset of each pane is auto-stripped from the list because they would not be allowed or meaningless to open. - First the pane's current tabset is saved to disk. Then the current tabset is unloaded and the new one is loaded. - The current path is set to the path of the current tab in the new tabset. If the current tab is a search tab, the search is performed (resp. the cached search is loaded). - If the target pane is not active it will be activated. - If the target pane is not visible it will be shown and activated. - The new tabset stays with this pane between sessions, unless you exit without saving. Technically, the pane data paths are saved in the current INI file. New: Start a virgin tabset. - First the pane's current tabset is saved to disk. Then the current tabset is unloaded and an empty tabset is loaded with the default name "TabsetNew". It has one tab pointing to the current path of the pane. If "TabsetNew" already exists a new name is derived by appending a numerical postfix. Save: Save the current tabset. - Not particularly useful since saving is automatic when changing tabsets or exiting the app (with saving). Added for completeness. Save As: Save the current tabset under a new name. - The new tabset becomes the current one. The old tabset is kept on disk. Save Copy As: Save a copy of the current tabset under a new name. - The old tabset remains the current one. Rename: Rename the current tabset. - If a tabset of the same name already exists in the parent folder of the current tabset you are prompted for overwriting. Further Notes ~~~~~~~~~~~~~ - You are not allowed to load the same tabset into both panes, i.e. to point both panes to the same pane data path, because this would lead to sure trouble. - The current pane data paths are shown in Various Information window. They are also available in the new variables and . - The pane data paths are typically located under \Panes, and they can be referenced relative to this location. It is recommended that you store all your tabsets here; makes it easier for you to handle. However, tabsets can be stored anywhere in the system, even in a network path. This means users can share tabsets over the network. Note, however, that currently no measures are implemented to handle concurrent save operations of such a shared tabset. - The pane data paths are stored in the INI file in a portable way relative to \Panes. - The term Tabset was preferred to Tab Group, Workspace, and Environment, because it is the shortest, fits best, and clearly says what it is about. - FYI, the Dual Pane contents are nothing but two default tabsets loaded. Dual Pane has been designed 2009 with tabsets in mind. Finally the time has come to bring in the harvest! + Scripting got a new function. Name: Tabset Action: Opens, saves, or renames tabsets. Syntax: tabset([operation=open], [name], [pane=a]) operation: Operation, identified by name. "new" = Start a virgin tabset. If name is missing the name is prompted for. "open" = [default] Open/Load a stored tabset from the complete list of available tabsets in \Panes. Name is ignored. "load" = Open/Load a stored tabset by name. If name is missing the default tabset is opened. "browse" = Open/Load a stored tabset by browsing the file system. Name is ignored. "save" = Save the current tabset. "saveas" = Save the current tabset under a new name. "savecopyas" = Save a copy of the current tabset under a new name. "rename" = Rename the current tabset. name: Name of tabset (folder relative to \Panes), or full path to tabset. pane: The affected pane; defaults to the current pane. a [default], i, 1, 2 return: The full path to the current tabset. Examples: //open tabsets list to select one: tabset(); //load the active pane's default tabset: tabset("load"); FYI, the default tabset is internally chosen based on the name of the INI file and the setting of "Keep pane data private". If the latter is ON then an INI file Moon.ini will load tabset "Moon_1" to pane 1 and tabset "Moon_2" to pane 2. If it is OFF then the default tabsets are simply "1" and "2". //start a new tabset named "Sue": tabset("New", "Sue"); //rename back pane tabset to "Jack": tabset("Rename", "Jack", "i"); //load tabset via absolute network path: tabset("load", "\\Cooper\Shared\blah\"); + Toolbar: New button "Tabsets". The the same menu as the "Tabsets" main menu. Added for completeness, and probable future enhancements. Credits and thanks for the new icon go to http://www.webdesignerdepot.com/. + New variables: = pane 1 data path (unslashed) = pane 2 data path (unslashed) + SC tab enhanced: Operation "close" now returns the index of the new current tab. * Thumbnails: Experimentally added status feedback for all thumbs that are about to be freshly created (that are not found in any cache). This will cost a little time but I think it's worth it. v10.60.0102 - 2011-11-28 19:50 + SC tab enhanced: New operation "close", analog to "Close Tab" in menu View | Tab. The "data" parameter can be used to control whether any prompts are shown (if the tab to be closed is locked or default or has a home). The "index" parameter can be used to define the tab to close (leftmost tab = 1). If missing then the current tab is closed. Examples: tab("close"); //close current tab (no prompts) tab("close", 1); //close current tab (prompts) tab("close", , 2); //close second tab (no prompts) tab("close", 1, 2); //close second tab (prompts) + SC tab enhanced: New operation "closeothers", analog to "Close All Other Tabs..." in menu View | Tab. The "data" parameter can be used to control whether any prompts are shown: // show no prompts tab("closeothers"); // show prompts tab("closeothers", 1); + Environment Variables: New XY-only environment variable: %winver% = the current Windows version number (e.g. 5.1) Example: ::echo %winver%; //5.1 for Win XP v10.60.0101 - 2011-11-28 15:36 + Configuration | Advanced: New option "Draw selected list icons dimmed" lets you choose whether the icons of selected list items are drawn in a dimmed way. Factory default is ON for XP and earlier, OFF for Vista/Win7 and later. - Configuration | Find Files & Flat View: Removed option "Cache flat view contents". Reasons: Caching is not efficient compared to a live flat view; and with a flat view you want to see something fresh anyway, not yesterdays papers. ! List Style "Full Row Select": Fixed various drawing glitches. v10.60.0100 - 2011-11-26 20:00 = MAINTENANCE RELEASE. +++ Bug fixes. v10.60.0004 - 2011-11-26 17:40 + CKS | Miscellaneous | File Operations: Added command "Move Up" (#1056). Moves the selected Tree or List item(s) up one level. The command already existed in Configuration | Extended | Custom items in shell context menu | File List. Now you can assign a keyboard shortcut to it. + List Style "Full Row Select" (Details mode): From now on these settings in Configuration | Tags: Toggle Labels by Label column click Popup by tag columns right-click overwrite FRS in the affected columns. In other words, the special functionality of these columns remains intact even on FRS. v10.60.0003 - 2011-11-25 12:03 + Name Search: Now you can search servers. Before, only the next level (shares on servers) was implemented. For example: \\server\?b* + Flat View: Now you can flat view servers. Before, only the next level (shares on servers) was implemented. For example: \\server\? /:flat v10.60.0002 - 2011-11-24 15:44 + Menu View | Tab | Sort By: Added command "Previous Order". Resorts the list using the previous sort order. Quite useful to toggle between the two recent sort orders. Of course, you should assign a handy keyboard shortcut to it to make it a funky experience. + Configuration | File Info Tips | Visible time in milliseconds: It turns out this value has to be a signed 16-bit integer for which the maximum value is 32767. So the tooltips cannot be shown longer than about 32 seconds. v10.60.0001 - 2011-11-23 15:24 + Name Search: Added switch /b for "branch-filtered". With this switch present name filters in the search or flat view are only applied to branches (= folders and all of their contents), not to files. Examples: - Run a recursive search but exclude any branches starting with s*: E:\Test\?!s* /br - Run a flat view but exclude any branches starting with s* OR with p*: E:\Test\?!s*;p* /b:flat Notes: - In a branch-filtered search, any Visual Filters apply only to files, not to folders. So you can first filter the branches using the search pattern, and then filter the files within the shown branches using the visual filter pattern. This gives you some interesting possibilities, like show all *.jpg in branches not named "*copy*". - The switch overwrites "Let folders pass all filters" (sets it to False internally). + Configuration | Find Files & Flat View | Cache search results: Added a suboption "Maximum number of items cached (0 = cache always)" where you can set an absolute limit to the number of items cached. The factory default is set to 1000. There are several reasons for such a limit: - The bigger the cache the slower it is compared to a live search. So caching is simply inefficient, at least if it is done for speed. - Reading a cache may (depending on the sort order of the cached items) trigger lots of wild-jumping head movements. - A cache takes space on the disk. - A huge cache is more likely to be stale (out-of-date). You can experiment with different limits, but I personally would not recommend a number higher than 1000. Note that this limit does not apply to Search Templates that are explicitly saved together with the search results (which internally is identical to caching). * Selection Stats: Now, when the Tree has the focus, the stats on the current tree folder are returned. The layout differs slightly to make immediately clear that this is a different sort of stats. - List Style "Full Row Select" (Details mode): Removed the following feature from v4.00.0139 - 2005-07-27 18:04: Now a hit anywhere left of the Name column does not select the item. This way you still have the Mouse Down Blow Up feature of thumbnails in full row select mode, and you can drag-select items in full row select mode if you start dragging in the Line Number column or any other column that's located left of the Name column. v10.60.0000 - 2011-11-22 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Flat View. Lets you view the contents of all subfolders of a folder in one list. +++ Sticky Section. Now items in most-recently-used lists can be made permanent by moving them into the Sticky Section. +++ User Buttons. Now you can easily build toolbar-based open-with dropdowns. +++ Custom Copy with Verification. Now SHA-256 and SHA-512 hashing works on all systems (XP, Vista, and Win7). +++ Selection Stats. Displays statistical information on the currently selected items. +++ Move On Rename. Quickly move an item by entering a new path into the inline rename box. Non-existing paths are created on the fly. .......... XYplorer ver 10.50 ....................................................... v10.50.0031 - 2011-11-21 21:00 + Catalog: Added command "Sort Category". Sorts the items of the current category in alphabetically ascending order of their captions. + Configuration | Find Files & Flat View: Added option "Let folders pass all filters". If ticked then on a mixed flat view (showing files and folders), any Visual Filters or Name Search patterns only apply to files, not to folders. So the folders always stay visible while their contents are filtered: A Filtered Tree. Note: This setting had been hard-coded before. ! Flat View: Not persistent on a locked Tree. Fixed. * Updated the help file. v10.50.0030 - 2011-11-21 12:30 + Recycle Bin: Now you can also drop onto the file list when it points to the Recycle Bin, as well as to Tabs and Catalog items pointing to the Recycle Bin. * Updated the help file. v10.50.0029 - 2011-11-20 14:53 + Recycle Bin: Now drops onto the Recycle Bin node in the folder tree are supported. Also supported are drops onto a DUB pointing to "Recycle Bin" (resp. to %recycler%, the variable that returns the locale aware string, e.g. "Papierkorb" in German) * Configuration | Find Files & Flat View: Renamed "Show relative path in search results" to "Show relative path in Path column" and moved it to the top of the section (because it applies to both Find Files and Flat View. ! The Free Keyboard Shortcuts dialog was slightly malformed for about six months. Fixed. v10.50.0028 - 2011-11-18 12:39 * Flat View: On a mixed Flat View (i.e. /:flat = showing files and folders), any Visual Filters or Name Search patterns from now on only apply to files, not to folders. In other words, all folders always pass any filters. This fine feature, combined with level-indent and tree-like sort order, enables you to view *filtered trees* in the file list, for example a tree showing only images or only EXE files. Hot stuff! v10.50.0027 - 2011-11-17 20:47 *** Find Files & Flat View: Rewrote the recursive file find algorithm. Before, files and folders were processed in alphabetical order (as delivered by NTFS) in each parent folder, e.g.: E:\Parent\A-File.png E:\Parent\Child E:\Parent\Child\A-File.png E:\Parent\Child\Z-File.png E:\Parent\Z-File.png Now, all files are processed before all folders in each parent folder: E:\Parent\A-File.png E:\Parent\Z-File.png E:\Parent\Child E:\Parent\Child\A-File.png E:\Parent\Child\Z-File.png The big advantage of the new way is that in "Unsorted" sort order (i.e. items are displayed in the order they were originally delivered in to the file list by the recursive file find algorithm) the items are now displayed in the most human-friendly, "natural", namely tree-like order. The small disadvantage is that file find got around 2% to 6% slower than before (the exact ratio depends on the makeup of the input folders). Notes: - This core change will not surface in many situations, so you won't note much of it usually. The major use of it is clearly in level-indented Flat View with the file list in "unsorted" sort order. Here it shines because it gives you a complete (folders AND files) tree view of any branch your file system. Another effect is that on a recursive search you will immediately get all matching *files* in search root level listed, and only then the folders are processed recursively. Before, you would get some matching files in search root level only after processing folders that would precede them alphabetically. - If you give a shit about this great improvement and care for speed only, use this tweak: FindMixedSortPerLevel=1 + Configuration | Find Files & Flat View: Added option "Default to tree-like sort order". When invoking a level-indented Flat View sort the items like in a tree: all items sorted alphabetically under their direct parent folders. This is usually the best way to show a level-indented view so it's recommended to tick this option. + Configuration | Find Files & Flat View: Added option "Follow junctions". Tick it to allow following junctions on a search including subfolders. Note that this option had been added as a tweak in v7.90.0107 - 2009-02-09 14:43. Now it's raised to GUI level. ! Flat View: Would follow folder links and junctions if File Find was configured to do so. Fixed: Flat View never does this. ! Configuration | File Operations | No progress dialog on intra- volume moves: Was not honored in Search Results and Flat View. Fixed. v10.50.0026 - 2011-11-16 22:13 ! Level-indent flat view: Crash could happen easily when turning it on. Fixed. v10.50.0025 - 2011-11-16 21:21 + Configuration | Find Files & Flat View: Added the settings that are already available in the toolbar button context menu: - Persist flat view across folders - Toggle flat view on same query - Cache flat view contents - Auto-refresh flat view + Configuration | Find Files & Flat View: There is also a new setting here: - Level-indent flat view Indent the items in Flat View to show their hierarchical tree position. Hard-coded to 8 pixels per level. Note: The Level-indented flat view is only useful when you set the file list's sort order to "Unsorted". Then you get a pretty good tree-like picture (however, with folders and files mixed-sorted in their parent). To make unsorting the file list easier I added "Unsort List" to the "Flat View" toolbar button's context menu. % Search Results and Flat View: Improved Auto-Refresh of the file list when dragging files to folders within the list. ! List Management would crash when adding a new item to an empty AND filtered list. Fixed. ! User Button's could not handle quotes in comments. Fixed. ! Flat View: Fixed a couple of glitches. v10.50.0024 - 2011-11-15 15:07 +++ Added Flat View. Lets you view the contents of all subfolders of a folder in one list. To turn on Flat View (FV), use the new toggle "Flat View" in menu View | Tab | Views (also available in the file list's white space and the tabs' context menu), or the new "Flat View" toolbar button. Advanced Usage ~~~~~~~~~~~~~~ FV is itself implemented in a flat way: The syntax is human- readable and editor-editable: A switch at the end of the location spec, e.g.: E:\XYplorer\appdata\? /:flat The question mark is a part of it, no wonder since FV is technically nothing but a recursive search, and the normal name search syntax applies, for example: ? /f:flat = show only files in FV (the FV switches are appended to any normal switches, separated by colon (:). ?a* /:flat = show only items beginning with a* in FV This flat syntax enables you to trigger FV from the Address Bar, Catalog, Favorites, Scripting, etc. Types of Flat View ~~~~~~~~~~~~~~~~~~ There are three types of Flat View: 1. /:flat = Show files and folders 2. /:flatfiles = Show files only 3. /:flatdirs = Show folders only By factory default the first one is used when FV is toggled via menu or toolbar. You can change this default in Configuration | Find Files & Flat View | Default flat view type. Configuration ~~~~~~~~~~~~~ The toolbar button has a context menu featuring some configuration options: - Persist Flat View Across Folders Keep Flat View mode active when changing folders within the same tab. - Toggle on Same Query Applying the same query again, e.g. "? /:Flat" from the Catalog, works like a toggle. - Cache Flat View Contents Like Search Results caching, the Flat View contents can be cached between tab switches and sessions. - Auto-Refresh Flat View Allow a list in Flat View mode to be auto-refreshed. All these settings are global to all FV tabs. Notes ~~~~~ - Like Search, FV is stored tab-wise and remembered between sessions. - Unlike Search, FV is always done in the current tab (even if it is locked). - A tab on FV is marked by a special icon. - When toggling FV, the sort order and view mode remains the same. Other list settings (back color, column order, column visibility, column widths) are taken from the Find mode (aka Search Results). - Refresh List will refresh FV, it will not rebrowse the folder in normal view. v10.50.0023 - 2011-11-12 14:25 + Configuration | General: Added "Allow move on rename", a cute little time saver that enables you to move-and-rename files or folders in one go right from the file list. Simply enter a relative (to the current path of the file!) or absolute path\[name] into the inline rename box (F2) in the file list, and Move On Rename will happen. If the target folder doesn't exist yet it is created on the fly. Examples: Select a file in the file list and enter this into the rename box: - C:\new.png = Move file to C:\ renaming it to new.png. - C:\1\2\3\new.png = Move file to C:\1\2\3 renaming it to new.png. If "C:\1\2\3\" does not exist it is created. - ..\new.png = Move file one up renaming it to new.png. - stuff\new.png = Move file one down to subfolder "stuff" renaming it to new.png. If "stuff" does not exist it is created. You can also move a file or folder without renaming it. Simply select the rename box, and enter a path with a trailing slash: - C:\stuff\ = Move file to C:\stuff\. - stuff\ = Move file one down to subfolder "stuff". - ..\ = Move file one up. Or create a new folder and paste "Parent\Child" into the fresh rename box: The relative path "Parent\Child" is created in the current path. Notes: - Move On Rename works only for one item at a time (no Batch Move On Rename). - This feature already exists as a tweak (AllowMoveOnRename) since v6.80.0098 - 2008-03-05 12:52. Finally I got around raising it to Configuration level. v10.50.0022 - 2011-11-09 14:07 + Menu Edit | Select: Added command "Selection Stats". Displays statistical information on the currently selected items (recurring any folders). * Menu Edit | Paste Special | Paste Folder Structure: Now any files in the sources are ignored. Hence the following change in v9.90.0509 is undone: Menu Edit | Paste Special | Paste Folder Structure: Now it tolerates pasting files; their parent folder will be used. Before, pasted files were simply skipped. ! Find Files | Contents: CKS were not triggered when focus was in the text box of the Contents tab. E.g. F3 should trigger a search but didn't do so. Fixed. ! Visual Filters: The last Visual Filter was not correctly remembered when a Sticky Section was present in the Visual Filters. Fixed. v10.50.0021 - 2011-11-08 15:54 + Configuration | Colors & Styles: Added dropdown "Borders". Here you can choose between various border styles for the main controls (Tree, List, Catalog). v10.50.0012 - 2011-11-07 16:00 % Looks: Experimentally made the lines around the main controls (Tree, List, Catalog) softer. Note that this takes effect only under Visual Themes (not under Windows Classic mode). As a side effect the content area of each of these controls is now 2 pixels wider and higher. v10.50.0010 - 2011-11-04 20:16 * Move To / Copy To / Backup To dialog: Now the sticky section is shown as in the dropdown lists (i.e. blueish) and the section separator is hidden. ! Custom Copy: When copying items from a recursive search results listing using the Copy To interface, an implicit Rich Copy happened (the item's subfolders relative to the original top search folder were recreated in the target). Fixed: No more implicit Rich Copy. * XYcopy: Updated to 2.00.0072. v10.50.0009 - 2011-11-03 19:59 ! Edit Location: Hitting Browse on an empty edit box crashed the app. Fixed. ! Rename Preview: Did not detect certain invalid characters from the lower ASCII range, e.g. CR (Carriage Return). Fixed. ! Rename Special: Doubled error message when an item could not be renamed. Fixed. v10.50.0008 - 2011-11-02 21:29 + Custom Copy | Verification: Now SHA-256 and SHA-512 work on XP, Vista, and Win7. Maybe even Win2K. Same improvements for SC hash(). * XYcopy: Updated to 2.00.0071. v10.50.0007 - 2011-11-02 19:40 + Scripting got a new function. Name: PopupMenu Action: Pops a menu and returns the selected item. Syntax: popupmenu(itemlist, [x=-1], [y=-1], [start=1], [count=-1], _ [flags=0], [sep_itemlist="|"], [sep_item=";"], _ [on_cancel=""]) itemlist: List of items separated by sep_itemlist. Each item is made of a Caption and optionally a Data part, separated by sep_item: "Caption;Data" x: X position; -1 to use current mouse X. y: Y position; -1 to use current mouse Y. start: Index of first item to show; 1 = first item. count: Count of items to show; -1 = show all. flags: 1: Return index (instead of caption/data). sep_itemlist: Separates items; can have more than one char. sep_item: Separates caption from data; can have more than one char. on_cancel: String returned when menu is cancelled (ESC). return: Data of selected item; caption if no data defined; index if flags AND 1. Examples: text popupmenu("a|-|b|c"); //- is a menu separator text popupmenu("a;data returned on a|-|b;data b|c;data c"); text popupmenu(); Funny side note: This function is in the app since almost one year ago, but I never found the time to add the info to the change log. * XYcopy: Updated to 2.00.0070. v10.50.0006 - 2011-11-02 11:06 +++ Sticky Section: Various MRU lists now can have an optional Sticky Section. Items in the Sticky Section are permanent members of this list and will never be pushed out when new items are added. You can use this section for your all-time favorite items and carefully crafted patterns. The Sticky Section can be added via List Management, simply add this dummy item as section separator (without the indent): -----> mru Everything above this line is in the Sticky Section. Everything below this line is in the MRU Section. So the Sticky Section is always displayed on top of the whole list. The following MRU lists support a Sticky Section: - Address Bar & Go to - Find Files Name - Find Files Location - Rename Special patterns - Visual Filter patterns - Selection Filter patterns - Move/Copy/Backup To - Recently Opened Files - Recent Catalogs - Recently Included Catalogs Notes: - In dropdown lists the Sticky Section is distinguished from the MRU section by a special text and back color. The colors are currently hard-coded, later this might be made configurable. (In List Management there is no special coloring.) - No shifting or sorting: When you pick an item from the Sticky Section it will not be shifted to the top but stays in its position. - When a "Match List" (an alphabetically ordered subset of items that match what is currently typed into the edit field) is dropped the items pertaining to the Sticky Section are not marked in any way but mix with the "normal" items. Reasons: There would be clashes between coloring rules; it would be visually disturbing; and it simply does not make a lot of sense in a Match List. - The size of the Sticky Section is not limited and adds to the max size of the MRU section (e.g. 64 for Rename Special patterns). - The section separator makes managing the lists quite easy and intuitive. In List Management you simply drag items to above the separator to add them to the Sticky Section. The separator is visible only in List Management. In the GUI, in a dropdown list it is hidden from the user's eye, in a menu (e.g. Visual Filters in right-click menu of the toolbar button) it is replaced by a menu separator. * The variable now returns the value of the alias without resolving any arguments within the alias. Example: alias: Greet=::echo "Hello, <@1>! It's <@2 Dewey>!"; echo //::echo "Hello, <@1>! It's <@2 Dewey>!"; Before, the arguments had been resolved (useless in this context): echo //::echo "Hello, ! It's Dewey!"; + Find Files: The "Edit Location..." dialog (Browse button right- click menu) now has its own Browse button. Selected locations are appended to the ones already present in the exit box. The Browse dialog is preselected to the last location in the box. ! Under Win7 the main app window could get into the background (behind any other windows) when trying to batch rename files to an illegal name. Worked around this Win7 bug. v10.50.0005 - 2011-10-31 14:16 + Find Files: The Browse button right of the Location field got an additional command in its right-click menu: "Edit Location...". Here you can edit the search location(s) like in an editor. + SC rename enhanced: Added new values to the "flags" parameter, and a new parameter "illegalcharsreplacewith". Syntax: rename [mode (b|r|s|k|e)], pattern, [preview (p)], _ [itemlist], [flags=1], [illegalcharsreplacewith] flags: (binary field, defaults to 1) 4: Replace illegal characters (with the value of argument illegalcharsreplacewith). 8: Increment on collision. Note that this does the same as the /i switch, but it's much easier to handle when taking patterns e.g. from the clipboard. illegalcharsreplacewith: Replace illegal characters with this string, IF flags has the "4" bit set. Examples: ::rename b, , p, , 4; //drop illegal characters ::rename b, , p, , 4, "_"; //replace them with _ ::rename b, , p, , 12, "_"; //same as before with increment * Rename Special: Raised the MRU store size from 32 to 64. * Aliases: From now on they are not auto-sorted anymore. You can manually sort them in List Management using the Sort button or by dragging them around. v10.50.0004 - 2011-10-28 11:29 * Custom Copy: The progress dialog now remembers its position. Notes: - A change in the position is stored only when the moved progress dialog is from a foreground process; in other words, background progress dialogs are read-only with respect to the position. - The same position is also used for the Backup progress. + Custom Copy: The progress dialogs are now optionally cascading, i.e. any non-first dialog is positioned in an offsetting (cascaded) position from the last dialog popped up. The positions are cycling in an 8-step rhombus shape: ' 7 ' ' 8 6 ' ' 1 5 ' ' 2 4 ' ' 3 ' This feature is currently in experimental state. The size of the offsets defaults to 24 pixels, but can be altered by tweaking this key: ProgressOffset=24 Set it to -1 if you want no cascading. ! Rename Preview: The width of this window should be auto-calculated (depending on the list contents), however this stopped working correctly in v9.90.1001. Fixed. * XYcopy: Updated to 2.00.0069. v10.50.0003 - 2011-10-27 12:16 ! Configuration | Dual Pane | Always keep 1st pane visible: With this setting ON, the focus was not completely moved to the new active pane when opening the 2nd pane via menu Window | Tabs. Fixed. ! Find Files | Location: On multiple locations (separated by | or ;) the yellow warning icon was shown, which is usually employed to signal a non-existing path and hence misleading here. Fixed: Now no icon is shown here on multiple locations. ! Command Line Switches: The new /flg=2 switch did not work when Configuration | Startup & Exit | Allow multiple instances was ticked. Fixed. ! Tree: Auto-refresh did not work as it should when cutting (Ctrl+X) and pasting (Ctrl+V) a folder. Fixed. v10.50.0001 - 2011-10-26 13:23 + Configuration | File Info Tips: Added the field "Visible time in milliseconds". Here you can customize the time a file info tip is visible before it auto-destroys. The factory default is 10,000 (= 10 seconds). The maximum value is 999,999 (about 1000 seconds = almost 17 minutes). ! Configuration | Previewed Formats: An added extension would not be recognized if in upper case. Fixed. ! Find Files | Contents: Did not work for UNICODE files (e.g. UTF- 16LE) under all locales. Fixed. v10.50.0000 - 2011-10-25 15:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Grep. Finding files by content now supports Regular Expressions. +++ Rename Special. Now you can mass rename files using meta properties like Camera Model, Width and Height, or Bit Rate. +++ User Buttons. Now user-defined colored labels are supported. +++ Full Screen Preview. Now the mouse wheel is supported. .......... XYplorer ver 10.40 ....................................................... v10.40.0115 - 2011-10-25 14:22 + Droppable User Buttons (DUBs): The OpenWith shorthand trick added in v10.40.0114 now also supports command line parameters stated with the application in the Name field. + Command Line Switches: Now you can feed a script into an existing instance of XYplorer without changing the location or tabs of that instance. Simply pass the new switch /flg=2 in the command line, for example: E:\XY\XYplorer\XYplorer.exe /script="::msg 'Hi!';" /flg=2 v10.40.0114 - 2011-10-24 20:00 + Droppable User Buttons (DUBs): Added a shorthand trick that greatly simplifies creating User Buttons that work like toolbar- based OpenWith panels (where you define the opening application AND the opened file!). Now, in the "On right-click" field of a DUB pointing to an executable you can pass a path/file spec (all portability feats are fully supported) as a shorthand for a well-formed openwith script. Such a line will be internally auto-converted to a valid openwith statement including the appropriate icon in the generated popup menu, and in all those openwith statements the openwith application will be the one defined in the Name field of the button. IOW, paste the list of files you want to open with the executable into the "On right-click" field and you are done! - 2 examples for the contents of Name field: "ACDSee32" C:\Programme\ACDSee32\ACDSee32.exe - 1 example for the contents of the "On right-click" field: E:\TestFiles\images\_misc\08-lrg-16bit.tga E:\TestFiles\images\_misc\aguilera-32bit.tga Desktop\voice_dailer_256.png - "Favorite Folders|:favs" button "favs"; Now right-clicking the button will pop a menu containing three image files, one separator, and one little script that opens the Favorite Folders menu. Selecting any of the image files from the menu will open it using ACDSee. Tip: Note that this shorthand trick also works in the "On click" (= LeftClick) event of the button (also with "Fire click on mousedown" enabled, which is quite cool). However, the button will not work as a DUB in this case (DUBs by definition need this field to be empty). v10.40.0113 - 2011-10-24 12:22 * Updated the help file. ! List: Fixed a very hard to track, long-standing, and rare drawing issue where the column headers in Details view did not erase before redrawing. v10.40.0112 - 2011-10-24 10:36 + Full Screen Preview: Now the mouse wheel is supported. * List | Gesture: Refined the detection. Now the gesture does not have to be a continuous motion without any stops anymore: A mouse halt of up to 250 ms does not count as a stop. This means that the gesture to toggle shell/foreground mode for the current file operation does not have to be an non-stop ellipse anymore, but can be a 45° back and forth (up/left, and back to the start) motion. v10.40.0110 - 2011-10-20 11:39 +++ Find Files | Contents: Added RegExp (Regular Expressions) as a new mode for content search. Examples: - Match 2011-10-20 or 2011-1-2 etc.: \d{4}-\d{1,2}-\d{1,2} - Match lines that begin with "New": ^New - Match lines that end with "*/": \*\/$ Note: - Since larger files are read chunkwise (performance!) there are certain limits to the scope of your pattern: A pattern is guaranteed to be found if it matches a range of 1,024 bytes! It also *might* be found if it matches a range of 1,025 to 32,768 bytes! It will certainly not be found if it matches only an even larger range. * Find Files | Contents: Reorganized the interface. Mutually exclusive modes are now stacked into one paradigm. ! Find Files | Contents: Search by contents did not honor the "Whole Words" option on UNICODE text files (UTF-16 BOM). Fixed. v10.40.0108 - 2011-10-19 11:50 + New variable . Returns any available Shell Property value of the current item. See SC property() for details and caveats. Note that this variable is also supported by Rename Special (regular UI, not only via scripting). Examples: - Retrieve Size, Type, and Version of the current item (under XP): msg ", , "; - Append the file version to the name: rename b, '*-', p; - Append width and height to the name (images only; some videos work as well): rename b, '*-x', p; - Append camera model to the name (photos only, of course): rename b, '*-', p; - To have the CameraModel of the current file on the status bar, use this tweak: StatusBar3OnFile=", Camera: " + New variable returns the full path/name length of the current file. * Custom Copy | Progress Dialog: Now the From/To paths in the header use "Path Ellipsis" instead of "End Ellipsis", so that the immediate parent folders are shown after the ellipsis dots. * XYcopy: Updated to 2.00.0066. v10.40.0107 - 2011-10-18 21:10 * List | Gesture: Refined the detection. Now you can redefine the start point of the gesture by moving the file-dragging mouse to any point over the list and stop moving it for some milliseconds. That way you can also use the gesture with items at the top of the list (from where you cannot directly do a 100 pixel move up- right). Note that the gesture itself now has to be a continuous motion without any stops. So it's not a 2-step move up-right and back anymore, but rather a non-stop ellipse or circle touching a point that's more than 100 pixels up-right of the start point. v10.40.0106 - 2011-10-18 20:27 * List: Experimentally added a mouse gesture to force shell/foreground mode for the current file operation. When you drag the selected files, quickly drag the mouse up-right (45°) for more than 100 pixels, and then back down-left (near) to the point where you started (all within 2 seconds). The status bar displays a message when the gesture is detected. Note that the gesture is a toggle. Keeping the mouse button down you can do it again to turn file operations back to normal. Note that gesture detection is not 100% perfect (yet), so you might need to try a couple of times, especially with any non-first gesture. You will get better when you get into the groove... v10.40.0105 - 2011-10-18 14:55 + User Buttons: Now labels are supported, i.e. you can define a text to be displayed in the toolbar instead of the icon. In the Edit User Button dialog, simply prefix the contents of the Icon field with "label:", for example: label:Fun Now "Fun" is printed to the button in the toolbar. Optionally you can define text and back colors in format RRGGBB, for example: label:Fun>FFFFFF,555555 //white on dark grey label:Fun>FF0000 //red (no background) Of course, this also works for Droppable User Buttons (which are just a subtype of User Buttons). * Toolbar | Recent Locations: Now the popped menu has up to 32 items by default. Before it was only 10 items. The value can be tweak using the key RecLocMenuMax. ! List | Mouse Down Blow Up: Could get confused and partly stop working under certain conditions. Fixed. v10.40.0104 - 2011-10-17 21:50 % List | Multi-line captions: Improved the automatic resizing of the edit box while renaming. #2. + Tweak to exclude certain file types from thumbnailing. Example: NoThumb=pdf.mht v10.40.0102 - 2011-10-17 20:37 ! Tree: The ghosted "HIDDEN" effect was not updated on a folder icon when the folder's HIDDEN attribute was changed via the Info Panel. Fixed. ! Under rare but possible circumstances you'd get "Runtime error '91': Object variable or With block variable not set" on closing the app. Fixed. ! Under rare but possible circumstances you'd get "Runtime error '395': Cannot user seperator bar as menu name for this control". Fixed. ! Font Preview: Crashed on certain interestingly-formed TTF fonts. Fixed. % List | Multi-line captions: Improved the automatic resizing of the edit box while renaming. v10.40.0101 - 2011-10-12 11:09 ! Full Screen Preview: Would popup and down again when F11 was kept down too long before releasing it. Fixed. ! With "Single click on icon opens item in list" enabled AND "Full Row Select" enabled, single-clicking on the whitespace following the name in the name column, opened the item. Fixed. ! Custom Copy: The overwrite prompt's layout broke on certain user- defined ppi (pixel per inch) display settings. Fixed now also for background processes. * XYcopy: Updated to 2.00.0065. v10.40.0100 - 2011-10-11 15:00 = MAINTENANCE RELEASE. +++ Bug fixes. v10.40.0100 - 2011-10-11 12:56 * Updated the help file. v10.40.0008 - 2011-10-11 11:12 + Tweak: You now can tweak the maximum number of items shown in the "Recent Locations" toolbar button dropdown menu. The default is 10. Example: RecLocMenuMax=20 * Menu Go: The History and Recent Locations lists now remember their size and position between sessions. Both share the same size/position data. ! Custom Copy: The overwrite prompt's layout broke on certain user- defined ppi (pixel per inch) display settings. Fixed. v10.40.0007 - 2011-10-10 18:20 + Full Screen Preview: Now you can trigger the next/previous file using the Right/Left key, as yet another alternative to the already existing keys: Next File: Down, PageDown, Space, Right. Prev File: Up, PageUp, Shift+Space, Left. ! XYcopy: With "Keep progress dialog open" turned off, there was a way to end up with orphaned XYcopy.exe processes (since v10.30.0009). Fixed. ! XYcopy: Run-time error '9' (Subscript out of range) when pausing/resuming the copy of huge files (since v10.20.0005). Fixed. * XYcopy: Updated to 2.00.0064. v10.40.0006 - 2011-10-10 13:06 + Configuration | Advanced: Added option "Show message when list is empty". So the Empty List Message (added v9.90.1011 - 2011-05-31 12:38) is now optional. Factory default is on. % Scripting: Dramatically increased the speed of foreach loops. ! XYcopy: Possible crash on moving stuff up. Fixed. * XYcopy: Updated to 2.00.0062. v10.40.0005 - 2011-10-07 20:30 * SC listpane enhanced. Added flag to handle open square brackets, i.e. convert "[" to "[[]" to allow matching "[". See also SC filter. flags: (binary field) 16: NoCharacterLists (= handy to match open square brackets) * Rename Special: Before, when renaming multiple items in Search Results, the search was repeated after the rename and the multi- selections were lost. Now, this happens only when folders are among the renamed items AND the search did include subfolders. ! Info Panel | Version: Failed to retrieve the String File Version of many (probably all) of the Portable Apps installers and wrapper executables. Fixed. v10.40.0004 - 2011-10-06 10:31 + Configuration | Advanced: Added option "Open favorite files directly". Tick it to directly open files by selecting them from the Favorite Files menu. Portable File Associations are honored. Tip: The toolbar button's tooltip reflects the current setting. + Menu View | Tab | Columns: Added command "Show Columns...", which pops a checkbox list of all available columns in the current list mode. It offers an alternative way to control column visibility. Note that the order of columns is not reflected in the list, nor can it be changed here. This might be added later. * Scripting | Step Mode: Changed the frightening "warning" icon to an "editfile" icon for those commands that affect files or folders. Non-affecting commands now simply get no icon at all. v10.40.0003 - 2011-10-05 21:33 ! Custom Copy: Two rare but possible error 9 manifestations caught and removed. v10.40.0002 - 2011-10-05 20:24 + Custom Copy: Now wildcards are supported in the sources. This means that all copy/move-related scripting commands that take wildcards now support Custom Copy/Move. Before, they auto-switched to Shell copy when they met wildcards in the sources. Examples: copyto "D:\Test", "D:\Temp\*.jpg"; copyto "", "\*.ini|\*.dat"; + Scripting got a new command. Name: moveas Action: Moves item(s) under a pattern-based name. Syntax: Analog to SC copyas. * SC copyas: Now the targetpath is silently auto-created if it does not exist. + SC formatlist enhanced: Added format "f" for filter. The filters themselves are passed in the fourth parameter and separated by the separator defined in the second parameter. An item passes the filters if it matches at least one of them. Syntax: formatlist(list, [format], [separator=|], [param]) format: Switches for the desired formatting. Can be freely combined in any order. f = filter param: A list of filters, separated by separator (3rd argument). The filters support the usual pattern wildcards (*?#). Examples: text formatlist("ba|a|c", "f", , "a|b"); //a text formatlist("ba|a", "f", , "a*"); //a text formatlist("ba|a", "f", , "*a"); //ba|a //list all INI and TXT files in the current branch $files = folderreport("files", "r", , "r", , "|"); $files = formatlist($files, "f", "|", "*.ini|*.txt"); $files = replace($files, "|", ); text $files; * List | Date Column Format: Before, the first time format was hard- coded to hh:nn:ss. Now it is set to the system time format (often, but not necessarily, also hh:nn:ss). * XYcopy: Updated to 2.00.0061. v10.40.0000 - 2011-10-04 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Wipe. A method to securely delete files beyond recovery. .......... XYplorer ver 10.30 ....................................................... v10.30.0014 - 2011-10-04 10:35 - Removed the AutoSizeColumnsLimit tweak (v9.90.0020). It was functionally identical to the AutosizeColumnsMaxWidth tweak (v10.10.0106). ! Wipe: Did not remove overlong empty folders after wiping the contained files. Fixed. v10.30.0013 - 2011-09-30 11:33 ! Wipe: Under certain conditions there were superfluous prompts before deleting the empty folders after the contained files were wiped. Fixed. v10.30.0012 - 2011-09-30 10:24 + Toolbar: Added "Wipe" button. Well, it actually looks like an eraser (there are no good icons for "wipe"). Credits and thanks for the new icon go to http://simiographics.deviantart.com/. * File | File Special: Renamed "Delete (Wipe)" to "Wipe". * Updated the help file. v10.30.0010 - 2011-09-28 20:23 * Date Column Format: Before, three time formats (namely menu- position 3, 4, and 5) were user-configurable via tweaking. Now, only two (3 and 4) remain tweakable whereas menu-position 5 is hard-coded to ISO 8601 (hh:nn:ss). For example: [ListTimeFormats] Version=1 ; Tweak: edit the following as you need 3=hh:nn am/pm 4=hh:nn AM/PM * Updated the help file. v10.30.0009 - 2011-09-27 20:51 *** Background Jobs and Custom Copy: Before, queued background jobs re-used the same instance of XYcopy, even if the Progress Dialog of a completed job was still up and visible. The dialog was then re-used for the next job up, and so on to the end of the queue, and you were finally left with the open Progress Dialog of the last job in the queue. All other Progress Dialogs including their detailed reports were gone forever. Bad! From now on, the resulting Progress Dialogs of each job in the queue stay open until you close them while the queue is worked till its end as usual. So when you have say 5 jobs you will end up with 5 open Progress Dialogs, waiting to be reviewed and finally closed by you. Of course, the above changes only take effect with Custom Copy/Move enabled and if "Show progress dialog" and "Keep progress dialog open" are ticked. v10.30.0008 - 2011-09-27 15:50 * Background Jobs: From now on, the ID of the background job is shown in the related dialogs' title bar, e.g. "Custom Copy (Background Job #3)". This makes it easier to identify the dialogs when multiple jobs are running parallely or sequentially. ! Background Jobs: Apparently the logging of queued background jobs could get confused under certain conditions. Fixed. ! SC report: Giving report() an item list caused it to ignore the user-defined column formats. Fixed. ! Search Templates: Did not remember the Contents field. Fixed. * XYcopy: Updated to 2.00.0058. v10.30.0007 - 2011-09-26 14:25 + Custom Copy Configuration: Added option "Skip verification on hard disks". Check it to skip verification on hard disks, i.e. when both sources and targets are located on hard disk drives (aka fixed drives). Ticking it is recommended because copying between hard disks is extremely error-safe anyway nowadays, so the verification is not really necessary and just increases wear. Note that portable external hard drives sometimes show up as fixed instead of removable, i.e. as hard disks. They would be excluded from verification as well if you tick the new option. + Full Screen Preview: Now you can trigger the next file using the Space key (as alternative to Down and PageDown). Use Shift+Space to trigger the previous file. ! Wipe: Did not work in all locales (date format issue). Fixed. ! Wipe: Attempt #2 to fix a Vista/Win7 issue where Wipe would only work with an elevated instance of XYplorer. * XYcopy: Updated to 2.00.0056. v10.30.0006 - 2011-09-25 20:09 * Wipe: No more success dialog. Just a status bar message. * Wipe: Reset file dates: Now for each file a random date between 01.01.2000 and today is used. ! Wipe: Attempt to fix a Vista/Win7 issue where Wipe would only work with an elevated instance of XYplorer. * Custom Copy: "Remove read-only attribute" on target files from now on is only applied if the source medium is optical. It's the only situation where this setting makes sense anyway. * XYcopy: Updated to 2.00.0055. v10.30.0005 - 2011-09-21 21:23 + Thumbnails: The Refresh commands found in the right-click menu of the view related toolbar buttons now give you the choice between speed and quality. - Refresh Selected Thumbnails (Faster) - Refresh Selected Thumbnails (Better) The new choice allows you to quickly check out the difference and to make specific thumbs look better than the average. Note that "faster" is equivalent to the global setting "Super-fast thumbnails". When using these Refresh commands the global setting is temporarily ignored. * Wipe: Now there is always a confirmation prompt (regardless of the setting of "With Confirmation"). It's just too radical to go unprompted. > Wipe: Note that wiping (specifically overwriting a file with zeros) should only be performed on HDs (hard disks), but not on SSDs (solid state drives, e.g. flash drives) where the success of overwriting the bytes with zeros cannot be assured due to the logic of those devices, and where it in fact would only increase wear. * XYcopy: "View Log File" now honors PFA (XYplorer's Portable File Associations) and opens the log file with the portably associated program. Before the Windows associated program was used. * XYcopy: Updated to 2.00.0054. v10.30.0004 - 2011-09-21 12:01 + Wipe: Wiping files > 2GB is now supported. + Wipe: Wiping huge files takes a while (the "Overwrite file with zeros" part, of course), so now you got a little progress in the status bar, and a chance to ESC the operation. Since the operation is in the foreground thread you should wait until it is finished. On my system a 6.5 GB file took 55 seconds to be completely wiped. ! Custom Move Progress Dialog: Showed "Copying" and "Bytes copied". Fixed. Now it's "Moving" and "Bytes moved" * XYcopy 2.00.0053: Internal changes and fixes. + New variable . Returns a list of drives. The "type" parameter corresponds to the Windows drive types enumeration: DRIVE_UNKNOWN = 0 DRIVE_NO_ROOT_DIR = 1 DRIVE_REMOVABLE = 2 DRIVE_FIXED = 3 DRIVE_REMOTE = 4 DRIVE_CDROM = 5 DRIVE_RAMDISK = 6 If you omit the "type" parameter then all existing drives are returned. Examples: text ; //A:\|C:\|D:\|E:\|F:\|H:\|T:\|X:\|Y:\|Z:\ text ; // text ; //Z:\ text ; //A:\ text ; //C:\|D:\|E:\|F:\|T:\ text ; //X:\|Y:\ text ; //H:\ text ; // As always, SC get supports the same argument: echo get("drives", 4 , ","); //X:\,Y:\ v10.30.0002 - 2011-09-20 20:37 +++ Added Wipe, a method to delete files beyond recovery (at least by conventional software-based forensic tools). This sort of deletion is also known as Shred, Erase, Secure Delete, Nuke, etc. XYplorer's Wipe doesn't perform paranoid stuff like multiple passes or random patterns, because instead of increasing security this is just stressing your hardware. The following steps should be enough to destroy a file permanently: 1. Reset file attributes. 2. Overwrite file with zeros (single pass). 3. Set file size to zero. 4. Rename file. 5. Reset file dates. 6. Delete file. You can trigger Wipe in three ways: - First, there is a normal menu command: File | File Special | Delete (Wipe). - Second, there is the Nuke toolbar button which has configurable properties in its right-click menu. Tick "Wiping Beyond Recovery" to make the Nuke button a very dangerous tool. - Third, there is a Miscellaneous command Nuke (#1054) which can be assigned a keyboard shortcut and acts the same as if the Nuke toolbar button is pressed. Notes: - Wipe supports overlong filenames (> 260 chars). - Wipe does NOT support files > 2GB. - You can also wipe whole folders. All files found within are individually wiped. Then the folders are removed. - Toolbar | Nuke: When "Wiping Beyond Recovery" is ON, then "To Recycler" is automatically disabled. Obviously the two cannot coexist. - Take care: There is no undo for wipe. :) - For some background info see http://www.springerlink.com/content/408263ql11460147/ ! Custom Copy: Drag-dropping stuff from 7Zip did not work with the progress dialog shown (because the temporary files are deleted too early then). A fix doesn't seem possible so I added a work-around: No Custom Copy (but Shell copy instead) when drag-dropping items from 7Zip archives. Notes: - Background processing will also screw drops from 7Zip but this is handled anyway -- unless you enabled the tweak BJAllowDropFromOutside. - WinZip, RAR, or IZArc have no such problems but cannot be distinguished from 7Zip programmatically, so this 7Zip-caused work-around affects all of them. - Personal note from developer: 7Zip caused me a lot of sweat in the recent years because it just not behaves right and I always have to write circles around it. I wished people would stop using it. * XYcopy 2.00.0052: Internal changes and fixes. v10.30.0001 - 2011-09-19 20:22 + Tweak: Turn off safety check on move up (see v9.60.0002). NoCheckMoveUp=1 ! Search Results: Subpaths beginning with % or $ (or some other lower ASCII chars) were sorted before their parent path when "Configuration | Find Files | Show relative path in search results" was ticked. Fixed. % List: Browsing folders with lots of specific icons got snappier. v10.30.0000 - 2011-09-19 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Custom Move. Added Custom Move, Custom Copy's sister, a fully configurable, queueable, verifiable, and backgroundable move operation. +++ Undo. Now Custom Copy and Custom Move support multi-level Undo/Redo. +++ Single Click Open. Now you can optionally open list items by a left button single click on their icon. +++ Attribute Stamping. The new scripting command AttrStamp allows for automated changing of file attributes. (Pro Edition Only) +++ Thumbnails. Added configurable multi-line captions (up to eight lines), so also longer filenames can be fully displayed in Thumbnails and Large Icons views. +++ Auto-Rotate. Now Image Preview and Thumbnails support auto-rotate for JPEGs and TIFFs. .......... XYplorer ver 10.20 ....................................................... v10.20.0014 - 2011-09-18 12:28 ! Toolbar: Drag-and-dropping stuff on a drive button had stopped working since the introduction of DUBs in v10.20. Fixed. v10.20.0013 - 2011-09-17 11:07 + Auto-Rotate: Added Auto-Rotate to Image Preview, Full Screen Preview, Thumbnails, and Mouse Down Blow Up. Digital cameras with orientation sensors allow auto-rotation of portrait images by reflecting the positioning of the camera with respect to the ground in the picture's EXIF data. So, the Auto- Rotate feature works only with picture files that contain EXIF data, usually JPEGs and TIFFs (extensions: jpg, jpeg, tif, tiff). To enable Auto-Rotate for the Image Preview, its Mouse Down Blow Up, and the Full Screen Preview, tick Configuration | Preview | Auto-rotate preview. To enable Auto-Rotate for the Thumbnails and their Mouse Down Blow Up, tick Configuration | Thumbnails | Auto-rotate thumbnails. Tip: You can as well toggle Auto-Rotate for the Image Preview in the orange button dropdown menu on the Preview panel. * Configuration | File Operations | No progress dialog on intra- volume moves: The setting now also controls whether the Summary Report is shown. ! Info Panel | Report: Various Reports did not work anymore after the ESC key had been pressed. The bug emerged around 20110616. Fixed. * Updated the help file. v10.20.0012 - 2011-09-14 12:10 + Configuration | General: Added option "Mixed sort on path columns". Check to use a mixed sort (mix folders and files when sorting) always on the columns Path (Search Results) and Original Location (Recycle Bin). + Toolbar | Delete: The button now has a context menu. * Updated the help file. v10.20.0011 - 2011-09-13 10:44 + SC run enhanced: Added parameter "show". Syntax: run command, [directory], [wait=0], [show=1] [show]: 0 = Hides the window. 1 = [Default] Activates and displays the window. 2 = Activates the window and displays it as a minimized window. 3 = Activates the window and displays it as a maximized window. Examples: ::run "notepad \startup.ini", , , 0; //hidden ::run "notepad \startup.ini", , , 1; //normal ::run "notepad \startup.ini", , , 2; //minimized ::run "notepad \startup.ini", , , 3; //maximized Note: It depends on the called application whether it honors the show parameter. Some ignore it. * SC attrstamp: Now the attr argument is case-insensitive. Both lines work identically: attrstamp("r", 3); //toggle readonly in selected items attrstamp("R", 3); //toggle readonly in selected items ! Drop Context Menu: "Create Folder(s) Here" and "Create Branch(es) Here" both acquired two bugs recently. - They renamed the top folder on collision. This was not the original behavior of the commands. - They would not process multiple selected items at once anymore. Both fixed. v10.20.0010 - 2011-09-12 20:22 % List | Multi-line captions: Improved the display (the wrapping) of long file names without spaces. v10.20.0008 - 2011-09-12 15:54 + Configuration | Thumbnails: Added configurable multi-line captions. Under "Number of caption lines" you can customize the number of caption lines shown. This setting affects Thumbnails and Large Icons views. Notes: - Captions without spaces don't wrap around the lines currently. I'm still tring to understand what's causing this. - The Spot function does not work very well together with multi- line captions. I don't think this can be improved easily. + Toolbar: Added button "Enable Background Processing". IMO this button is more useful than the "Queue File Operations" button, the latter being more of a set-and-forget setting. ! Custom Copy: Drag and drop to another tab while foregrounding the target tab by hovering it could lead to undesired results since the last BETA version (v10.20.0005). Fixed. ! Custom Move: Did not suppress the progress dialog on intra-volume moves triggered by paste from clipboard. ! List Management: The Browse button did not work as expected on items with a caption. Fixed. ! Catalog | Insert as new category here | Favorite Folders: Did break at the first "-" item (=horizontal menu line). Fixed. v10.20.0005 - 2011-09-07 16:23 +++ Configuration | File Operations: Added option "For all move operations". Tick it (and also "Use Custom Copy") to use Custom Copy for move operations instead of the standard Windows Shell move. This means you now have Custom Move, a fully configurable move operation with all goodies that Custom Copy has to offer. Intra-Volume Moves vs Cross-Volume Moves ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Custom Move comprises intra-volume and cross-volume moves. Since intra-volume moves are just changes in the volume's Master File Table (MFT) and do not involve any copying of bytes, they are very fast and notably will ignore some of the configuration options, namely: - Verification (not applicable/necessary: no bytes are copied) - Safe overwrite (not applicable/necessary: no bytes are copied) - Remove read-only attribute (unlikely to be useful with moves) - Preserve all item dates (not necessary: they are preserved anyway) Note, however, that both intra-volume and cross-volume custom moves optionally provide automatic rename-on-collision, which is a wonderful thing for everybody who up to now has wasted his life with the Shell's move implementation. On cross-volume moves, each file is first copied and then (after optional verification of the copy's correctness) the source file is deleted. When all files are moved, the source folders are deleted (unless they are not completely empty for whatever reason). * Configuration | File Operations: Renamed "Use Custom Copy for all copy operations" to "Use Custom Copy", and added a new checkbox "For all copy operations". This reorganization was necessary to accomplish for the new sister option "For all move operations". + Configuration | File Operations: Added option "No progress dialog on intra-volume moves". These moves are extremely fast since no bytes are copied, so a progress is not really necessary. Instead you get a summary feedback in the statusbar (at least on foreground jobs; on background jobs another statusbar message will overwrite it -- but usually you will exclude intra-volume moves from background processing anyway because they are so fast). Note that this setting overwrites the setting of "Show progress dialog" in the general Custom Copy configuration. (However, if "Show progress dialog" is off, then unticking "No progress dialog on intra-volume moves" will not make it show, of course.) * XYcopy 2.00.0051: Internal changes and fixes. + Scripting got a new function. Name: AttrStamp Action: Sets the attributes for files or folders. Syntax: attrstamp([attr], [mode=1], [itemlist]) attr: a = FILE_ATTRIBUTE_ARCHIVE (32) h = FILE_ATTRIBUTE_HIDDEN (2) r = FILE_ATTRIBUTE_READONLY (1) s = FILE_ATTRIBUTE_SYSTEM (4) They can be combined in any order, e.g. "rah". mode: 0=get, 1=set [Default], 2=replace, 3=toggle, 4=remove itemlist: |-separated list of items (full path) to attrstamp; if empty then the currently selected list items are attrstamped. return: Old attributes of the last processed item. Examples: attrstamp("r"); //set readonly to selected items attrstamp("rh"); //set readonly and hidden to selected items attrstamp("r", 2); //set readonly to selected items (any other existing attributes are removed) attrstamp("r", 3); //toggle readonly in selected items attrstamp("r", 4); //remove readonly from selected items attrstamp("r", , "E:\Test\x"); //set readonly to "E:\Test\x" If no attributes are passed it just returns the old attributes of the last processed item. The return value is made from summing up the attributes bit values. e.g.: text attrstamp(); //e.g. 5 = 1+4 (readonly and system) v10.20.0003 - 2011-09-05 15:34 + Toolbar | Find Files: The button now has a context menu. ! Custom Copy: Did not support Undo and Select-On-Paste when target items were renamed on collisions. Fixed. v10.20.0002 - 2011-09-01 10:50 + Configuration | Extended: Added option "Single click on icon opens items in list". Tick it to open list items by a left button single click on their icon. It will trigger the same action as if you double-clicked the item. The action is triggered on MouseUp. Note: In Thumbnails view the new Single Click Open works only if Mouse Down Blow Up (On left mouse down) is OFF, else both features would conflict. ! Properties tab: The new Compressed Size ("Compress.") display crashed on compressed files > 2 GB. And the cluster count for files smaller than the size of one cluster was wrongly shown as "0" where it should be "1". Both fixed. v10.20.0001 - 2011-08-31 19:06 + Custom Copy: Now it supports Undo. Note: Undo/Redo here works exactly as with normal shell copy. It's meant as a last resort safety belt and has to be used with a bit of care: Undoing a copy generally means deleting the target(s). It will not magically bring back any overwritten target(s). Also be aware that on mixed results (some files were copied, others not for whatever reasons) Undo will delete ALL targets. Note also that Redo does not use Custom Copy and any of its settings but is hardcoded to use a foregrounded call to the CopyFile API for each file, and a foregrounded call to shell copy for each folder. * XYcopy 2.00.0049: Internal changes and fixes. + The actual size on disk of compressed files is now shown on the Properties tab of the Info Panel under "Compress." (XP or later only!). "Space used:" in such cases should now be read as "Space that would be used if the file would not be compressed:" -- but that was a bit too long for the UI. + SC gettoken: Now it supports negative indices to reference items from the right end of the list. text gettoken("one,two,three,four,five", -1, ","); //five text gettoken("one,two,three,four,five", -4, ","); //two * Labels: If the back color of a label is white (resp. identical to the window background color) then the icons in the toolbar and the dropdown menu show the text color of label instead. The shape changes from rectangle to square to mark the difference. ! Tree: In a locked Tree the current location was un-highlighted after toggle-expanding the current folder under certain conditions. Fixed. v10.20.0000 - 2011-08-29 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Droppable User Buttons. Create custom toolbar buttons within seconds which point to a location or an executable and function as drop targets. (Pro Edition Only) .......... XYplorer ver 10.10 ....................................................... v10.10.0108 - 2011-08-29 11:41 + Configuration | Advanced | History per tab: Now it's the factory default. ! Droppable User Buttons (DUB): Couldn't be unset on the fly. Fixed. * SC folderreport: No more error message when a report correctly returns nothing. v10.10.0107 - 2011-08-24 21:03 + Configuration | Startup & Exit | Remember most-recently-used lists | Apply To...: Added item "Tabs Focused Item and Scroll Position" which lets you control whether each tab remembers the focused item and scroll position across sessions. v10.10.0106 - 2011-08-24 14:20 * List Column Widths: Changed the logic like this: - BEFORE: All column widths were limited to a max of 1024 pixels. You could not make them any wider by any means. - NOW: On manual setting the column widths have no max limit; auto- sizing columns is limited to 600 pixels. + Tweak: Customize the max width for autosized columns in pixels. AutosizeColumnsMaxWidth=666 The factory default (when you don't use the tweak) is 600. v10.10.0105 - 2011-08-23 22:46 ! Custom Copy Blacklist: Did not work alright when the copy command contained wildcards in the source. Fixed. v10.10.0104 - 2011-08-23 22:03 ! Custom Copy Blacklist: Well, the function was logically reversed. Shame on me. Fixed. v10.10.0103 - 2011-08-23 20:52 +++ Droppable User Buttons (DUB): Now it's an official feature. The initial short comings have all been removed in the meantime and passed the test of time: - Command line parameters work when dropping onto the buttons. - Custom icons can be defined using the Icon field. - A special overlay marking the buttons as drop targets is not really necessary and would rather add visual irritiation (dirt) to the toolbar. Instead a note was added to the tooltip. * Custom Copy Blacklist: Now you have to append an * (asterisk) to mark a folder as being blacklisted including all subfolders. An example using recursive and non-recursive paths: %HOMEDRIVE% %ALLUSERSPROFILE%* %ProgramFiles%* %ProgramFiles(x86)%* %WinDir%* v10.10.0102 - 2011-08-23 12:19 + Configuration | Templates | Incremental Suffix: Now you can pass any non-numeric characters along with a numerical increment. Example: Template: -copy01 First increments: *-copy01, *-copy02, *-copy03 ... Before, some of those characters, e.g. "y", would be interpreted as date templates leading to undesired results. + Custom Copy: Now you can state a Custom Copy Blacklist containing any number of target paths which shall be excluded from Custom Copy (and automatically use normal Shell Copy instead). The data should be provided in a file placed in and named "CustomCopyBlacklist.dat". The paths should be listed one per line in any order. All sorts of variables and portable syntax are supported. Here's an example for the contents of the file on 64-bit Windows (on 32-bit Windows you would drop the line "%ProgramFiles(x86)%"): %ALLUSERSPROFILE% %ProgramFiles% %ProgramFiles(x86)% %WinDir% The typical reason for blacklisting folders is that Custom Copy will fail where UAC disallows writing to them, whereas Shell Copy will prompt for elevation. ! SC tab: The tab icon was not refreshed if necessary due to a "rename" operation that changed the custom tab icon. Fixed. ! Configuration | General | Sort filenames by base: Sorting of files where the base name only differed in capitalization lead to wrong (actually slightly unpredictable) sort oders. Fixed. v10.10.0101 - 2011-07-29 21:20 ! Scripting: SC copyto failed (nothing was copied) if Custom Copy was enabled and the source contained wildcards. Fixed: Now, if the source contains wildcards shell copy is used instead of Custom Copy. Later, support for wildcards in the source will be added. v10.10.0100 - 2011-07-28 12:00 = MAINTENANCE RELEASE. +++ Custom Tab Icons. Now you can customize the icon of each Tab. +++ Custom Catalog Icons. Now you can customize the icon of each Catalog item. +++ Custom Openwith Icons. Now you can customize the icon that's shown for each item in the Portable Openwith Menu (POM). +++ Bug fixes. v10.10.0010 - 2011-07-28 09:11 * Updated the help file. ! For a couple of builds, Toolbar and Address Bar could get completely wiped visually when drives were plugged in/out while the app was minimized. Fixed. ! Tabs: A named tab could be reused by a "Search Results" tab. Fixed. v10.10.0009 - 2011-07-27 19:44 + Select Items: Now there's a feedback on the status bar. ! Tabs: A named tab could lose its name under certain conditions. Fixed. ! Configuration | General | Sort filenames by base: Sorting of folders with a dot in the name went wrong (the resulting sort order depended on the previous sort order in an apparently unpredictable way). Fixed. v10.10.0008 - 2011-07-27 14:09 + Tabs: Now you can define the icon for each Tab. Simply append any file or folder spec to the caption of the tab, i.e. to the name you give to a tab by the "Rename Tab" function (found in the tab headers context menu), separated by a | (pipe). It can be an icon file or any other file. XY variables, environments variables, and all the usual portable stuff is supported. Examples: fav|E:\Test\Kiss.ico xy| co|MyComputer + Configuration | Advanced | Use generic icons for super-fast browsing: Added sub-option "Apply to all controls". Tick it to have super-fast generic icons everywhere (Catalog, Status Bar, Properties, various other lists), not just in the file list. Note that the Toolbar is an exception and will always show specific icons for Droppable User Buttons (DUB). * Configuration | Advanced | Use generic icons for super-fast browsing: Was too aggressive since 20110416 in that it applied not only to the List but also to the Catalog, the Toolbar, the Status Bar, and various lists in List Management and elsewhere. Changed: Now it applies only to the List (= the main file list). The new option "Apply to all controls" can be used to replicate the previous behavior. + Tweak to suppress overlays for Catalog items with "Action on click" set to anything other than "Go to Location": CatalogNoActionOverlays=1 * Configuration | Extended | Dbl-click on empty space goes up: Now it's ticked by factory default. Win7's Explorer now mimics this old XY feature, so it's time to meet the expectations. v10.10.0006 - 2011-07-25 20:43 * Catalog Custom Icons: Now you can also use folders and special folders ("Desktop") for the icon spec. Before, only files were supported. ! Catalog Custom Icons: Did not auto-update the displayed icon after changing the custom icon in Properties. Fixed. * Check for updates on startup: Slightly improved the UI of the dialog you see when there is a new version available. v10.10.0004 - 2011-07-23 13:11 + Portable File Associations: Now you can define the icon that's shown in the OpenWith menu. Simply append any file spec to the caption, separated by a | (pipe). It can be an icon file or any other file. XY variables, environment variables, and all the usual portable stuff is supported. Examples: "PS|E:\Test\Kiss.ico" jpg;png;gif>Photoshop "PS|" jpg;png;gif>Photoshop "Say hi!|E:\Test\Kiss.ico" jpg>::msg "hi"; "Say hi!|C:\WINDOWS\notepad.exe" jpg>::msg "hi"; |"Append date|E:\Test\Kiss.ico" \;*>::rename b, '*-' As before, if no icon is defined the icon is taken from the associated application. If a script is associated, then the default script icoin is taken (white arrow on blue). + Catalog: Now you can define the icon for each Catalog item. Simply append any file spec to the caption, separated by a | (pipe). It can be an icon file or any other file. XY variables, environment variables, and all the usual portable stuff is supported. Examples see above. It works just the same. v10.10.0003 - 2011-07-22 12:15 + Configuration | Advanced | Show icon overlays: Added "In network locations as well". Tick to show icon overlays also in network locations. Note that this can slow down network browsing considerably. ! Toolbar | Drive button groups: The toolbar width did not auto- adjust correctly to the (dis)appearance of drive buttons. Fixed. v10.10.0002 - 2011-07-21 20:05 ! Configuration | General | Sort filenames by base: When sorting items with identical base (and consequently different extensions) by a column other than Name or Ext, the sort order of those items could get wrong IF "Sort filenames by base" was enabled. Fixed. ! Configuration | Startup & Exit | Check for updates on startup: Did not handle an offline situation correctly. Fixed. ! Configuration | Startup & Exit | Check for updates on startup: On some systems the message box got hidden behind the main window. Attempted fix #2. v10.10.0001 - 2011-07-20 10:54 * Selection Filter: Now there's a feedback on the status bar. ! New Tab button: Did not work as expected on the combination - Show X close buttons on tabs: never. - Visual style: XYplorer classic. Fixed. ! Backup / Custom Copy: Using byte-to-byte verification on files of 20 GB or larger always resulted in a claimed verification failure whereas the real failure was an overflow in the verification function. Fixed. ! Configuration | Startup & Exit | Check for updates on startup: On some systems the message box got hidden behind the main window. Attempted fix. ! Tabs: Dbl-clicking the X-close button (which is not a useful action, but possible to do) triggered also a dbl-click-on-empty- tab-bar event. Fixed. v10.10.0000 - 2011-07-18 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Drive Bar. Now XYplorer offers a smart drive bar that flexibly integrates into the toolbar. The availability of drives is reflected in real time, and the individual drive buttons function as drop targets. +++ Tab Bar. Now you can show a New Tab button on the tab bar of each pane. It lets you quickly open a new tab. +++ Sort Order. Now you can sort filenames primarily by base, and secondarily by extension. This is the Win7 way and it's usually preferable to the XP way (sort by full name). +++ Empty Folder. The context menu of folders in Tree and List now optionally features a command to empty the right-clicked folder. .......... XYplorer ver 10.00 ....................................................... v10.00.0011 - 2011-07-17 12:27 ! Backup / Custom Copy: The Name Collision dialog did not show "(older)" behind the date when it should have. Fixed. ! SC writefile: Would not write to network paths for a couple of versions. Fixed. ! Toolbar: The hover effect was not always reset when clicking a button that opened another app setting XY into the background. Fixed. * XYcopy 2.00.0046: Internal changes and fixes. v10.00.0010 - 2011-07-16 21:25 + New variable: = XYplorer executable path and name. It's just a handy equivalent to \. ! Tab Bar: Fixed a recent drawing glitch with the New Tab button. * Updated the help file. v10.00.0009 - 2011-07-15 14:59 + Droppable User Buttons (DUB): Command line parameters now work also when dropping onto the buttons. Fictive example for an executable identified by basename and with a command switch, in the Name field: "ACDSee32" /fullscreen * Catalog: Better support for basenames as referrers to executables. v10.00.0008 - 2011-07-14 15:42 + [UNOFFICIAL FEATURE] Droppable User Buttons (DUB): Now you can enter a Location or EXE or File into the Name field of a CTB. Leave the "On Click" field empty! The button will now automatically show the matching icon and certain matching behaviors: Location EXE File ~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ Click: Go to Run EXE Open with Associated (PFA) Drop: Copy/Move to Open with EXE (Nothing) Note that all portability feats are fully supported. Also basenames (e.g. "Photoshop" can stand for the full path to the EXE) are supported for registered applications. The feature is UNOFFICIAL (and will not be mentioned in the Help) because it is inherently lacking. E.g. the icons are not very telling in the case of locations (almost all have the same folder icon) and files with non-specific icons. Nevertheless it can be useful and fun, so I mentioned it. The feature is also incomplete: Command line parameters do work for EXEs, but not for the dropping part (they are ignored). And the icons should have an overlay marking them as drop targets. * Configuration | General | Expand tree nodes on single-click: Now it only affects left button clicks. Before, it also affected also middle button clicks. * XYcopy 2.00.0045: Internal changes and fixes. * SC backupto: Any progress dialog will now be strictly modal, otherwise the correct sequence of script statements can not be ensured. * SC backupto: Any progress dialog will be kept open, so "Keep progress dialog open" (a setting that's not available as argument) is internally ON when the progress dialog is popped via SC backupto. ! Menu Edit | Paste Special: Commands "Paste (Move)" and "Paste (Copy)" did not work as advertised. Fixed. v10.00.0007 - 2011-07-13 12:31 + Toolbar: The drive buttons now support drops. You can drag-drop files, folders, and even texts right onto the buttons. Also supported is right-mouse dropping, which pops the usual extensive drop context menu. + Toolbar: Added more button groups: - Network Drives (Group) = mapped network drives (connected and unconnected) - CD-ROM Drives (Group) = CD-ROM drives (empty or not) + Customize Toolbar Dialog: The Available Buttons list now has a Live Filter Box. * Spot & Jump: Jump now shows "(no other matches)" in the status bar when the jump ends up in the current position. v10.00.0006 - 2011-07-12 11:00 + Toolbar: Now the toolbar got smarter about drives. You get a couple of "button groups" which softly and automatically (when you plug in/out a removable drive) react to the current drives setup. The groups have different scopes and partly contain each other, so for your toolbar you would typically choose one of them: - All Drives (Group) = all drives as listed in MyComputer - Available Drives (Group) = all drives apart from empty CD drives and unconnected mapped network drives - Hard Drives (Group) = only hard drives - Removable Drives (Group) = only available removable drives (e.g. a floppy drive, thumb drive, or flash card reader) These soft groups make the drives section of the toolbar perfectly portable. Notes: - The soft groups are sensitive to the following settings in Configuration | General: Show floppy drives, Show hidden drives. - If Show floppy drives is ticked then floppies are displayed even if empty to spare the annoying hardware check. - You can use the normal drive buttons parallely to the soft groups without problems. > Toolbar: Using scripting, permanent variables and SC toolbar() you can easily build a user button that lets you quickly switch between different toolbar layouts. * Drive Buttons: Now right-clicking the buttons pops the drive's shell context menu if the drive is available, else it pops all available drives. * SC writefile: Now the path of the file to be written is auto- created if necessary. * XYcopy 2.00.0044: Internal changes and fixes. * Configuration | Startup & Exit | Auto-backup settings: Now also the file catalog.dat is auto-backupped. * Backup / Custom Copy Configuration Dialog: Renamed "Preserve item dates" to "Preserve all item dates". Reason: Also when unchecked, at least the Modified date of files (but not of folders) is preserved; this is Windows standard behavior. ! List: Label "View is empty" would sometimes be printed in an unexpected color. Fixed. ! File Info Tips: Would flicker when tips got extremely large and were popped under the mouse cursor. Fixed. v10.00.0005 - 2011-07-09 12:20 + Toolbar: Added buttons for drives A: to Z:, so now you can build your own Drives Bar section within the main toolbar. If the toolbar has large icons the buttons show the specific drive icon plus the drive letter, else just the letter. The icons react on adding or removing of removable drives if Auto-Refresh is enabled. The buttons' tooltips show the drive display captions. The buttons' right-click menu offers all available drives. Note that there are plans for a more flexible approach in a later version: Only and all available drives will be shown as buttons. To achieve this the toolbar definition will allow for a "soft" pseudo button like "Available Drives" which is then on-the-fly resolved to a row of buttons. ! Backup / Custom Copy Configuration Dialog: Did not honor non- standard DPI settings. Fixed. * XYcopy 2.00.0043: Internal changes and fixes. v10.00.0004 - 2011-07-08 13:20 + Configuration | Extended | Custom items in shell context menu | Folder Tree: Added one item: Empty Folder Empties the right-clicked tree folder. + Configuration | Extended | Custom items in shell context menu | File List: Added one item (for folders only): Empty Folder Empties the right-clicked folder. + Thumbnails: Added "Refresh Selected Thumbnails", as opposed to "Refresh Thumbnails" which refreshes them all. You find the new command in the right-click menu of the view related toolbar buttons. The command is only available when the current list is in thumbnails mode. + SC rotate enhanced: Added a flags parameter where you can control refreshing of the list, preview, and thumbnails. Name: rotate Action: Rotates JPG images. Rotation is lossless for typical digital camera images. Syntax: rotate [mode=90|180|270|h|v], [jpgfile_src], [jpgfile_trg], [only_if_lossless=0|1], [flags] flags = 0: [default] no refresh 1: refresh Remarks: Thumbnails are refreshed only when in thumbnails mode. Example: ::rotate 90, , , , 1; ! XYcopy: Closing XYplorer while a background Backup or Custom Copy was still in progress could lead to an error and undesired abortion of the copy job. Fixed. * XYcopy 2.00.0042: Internal changes and fixes. v10.00.0003 - 2011-07-07 20:37 + Configuration | Tabs: Added "Show 'New Tab' button". Check to show the "New Tab" dummy tab or button or whatever it is. v10.00.0002 - 2011-07-07 12:45 + Tabs: Added a "New Tab" dummy tab that is positioned right of all real tabs and offers a mousy way to open a new tab. This is currently bound to the setting Configuration | Tabs | Always keep right end of tab bar empty and will replace it in future. Still looking for a good caption... * SCs download and readurl: Tried a different approach to fetch data that might fix a problem with certain code pages. Attempt #4. v10.00.0001 - 2011-07-06 13:49 + Configuration | General: Added "Sort filenames by base" (ON by factory default). Check it to sort filenames primarily by base, secondarily by extension. Note that Explorer in Windows XP sorts by full name (base + extension) whereas Explorer in Vista/Win7 sorts by base. ====================================== Natural numeric sort order ON -------------------------------------- Sort by base ON Sort by base OFF ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ a.txt a2.txt a2.txt a10.txt a10.txt a.txt Test.txt Test-01.bam Test-01.bam Test-01.bim Test-01.bim Test-01.bum Test-01.bum Test-01.txt Test-01.txt Test-02.txt Test-02.txt Test.txt xxxxxxxxx.BBB xxxxxxxxx.AA.CCC xxxxxxxxx.AA.CCC xxxxxxxxx.BBB ====================================== Natural numeric sort order OFF -------------------------------------- Sort by base ON Sort by base OFF ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ a.txt a.txt a10.txt a10.txt a2.txt a2.txt Test.txt Test.txt Test-01.bam Test-01.bam Test-01.bim Test-01.bim Test-01.bum Test-01.bum Test-01.txt Test-01.txt Test-02.txt Test-02.txt xxxxxxxxx.BBB xxxxxxxxx.AA.CCC xxxxxxxxx.AA.CCC xxxxxxxxx.BBB ! List: Label "View is empty" appeared quickly after going anywhere from a blocked list (i.e. location unavailable). Fixed. * XYcopy 2.00.0041: Internal changes and fixes. v10.00.0000 - 2011-07-05 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Custom Copy. A widely configurable alternative copy method that exceeds the Windows standard copy in many ways, e.g. verification, reporting, and logging. Custom Copy operations can be backgrounded and queued. +++ Backup. Backup operations now can be backgrounded and queued. .......... XYplorer ver 9.90 ........................................................ v9.90.1125 - 2011-07-05 08:56 ! Menu File | Swap Names: Suffered from the bizarre Windows bug described in v9.90.1124, i.e. the Created dates did not come out as expected. Fixed. FYI, Swap Names now provides a perfect name swap, something you cannot achieve manually (by a sequence of inline-renames) due to the Windows bug. * XYcopy 2.00.0040: Internal changes and fixes. v9.90.1124 - 2011-07-04 17:59 ! Safe Overwrite: On "Safe Overwrite" enabled, "Preserve Item Dates" did not work for the Created date because of an old and bizarre Windows bug where a new or renamed file inherits the created date of the last deleted or renamed file with the same path/name. Fixed (successfully worked around the Windows bug). * Various Drives Popups: Removed the recent change (v9.90.1123) because drive items were not accessible by accelerators keys anymore ("C" to go to drive C: etc). * XYcopy 2.00.0039: Internal changes and fixes. v9.90.1123 - 2011-07-04 13:06 + Configuration | General | Tree: Added option "Select parent of deleted folder". Check it to always select the parent of a deleted folder. If unchecked the next sibling is selected (if there is any, otherwise the parent is selected). This raises the tweak TreeSelectParentOfDeleted to UI level. * Various Drives Popups: Simplified the menu items. OLD: C:\ - (C:) Drive Caption NEW: (C:) Drive Caption v9.90.1122 - 2011-07-03 21:30 * XYcopy 2.00.0038: Internal changes and fixes. ! List: Select on paste did not work on Custom Copy right-click drops and paste from clipboard. Fixed. v9.90.1121 - 2011-07-02 12:22 * Minor improvements. v9.90.1120 - 2011-07-01 13:29 * Backup / Custom Copy Configuration | "Rename folders on collision". From now on, folders that are copied in-place (copied onto themselves) are unconditionally auto-renamed (incremental suffix) even if this option is not ticked. Everything else would be nonsense. * Backup / Custom Copy: From now on, files that are copied in-place (copied onto themselves) are unconditionally auto-renamed (incremental suffix) IF the setting for "On name collisions" is "Ask" or "Overwrite if newer" or "Overwrite". Before, you got a stupid overwrite dialog asking whether you want to overwrite a file with itself. * XYcopy 2.00.0037: Internal changes and fixes. v9.90.1118 - 2011-06-30 20:02 + Toolbar: Added button "Use Custom Copy". Gives you a handy toggle and status feedback for Custom Copy. The context menu is the same as the "Queue File Operations" button's. * Progress Dialog: Caption is now only updated when percentage changes. Less distracting overkill action in the UI. * XYcopy 2.00.0036: Internal changes and fixes. v9.90.1117 - 2011-06-30 11:53 + Custom Copy: Now Rich Copy is supported. In other words, all Rich Copy operations are now handled by Custom Copy (if Custom Copy is enabled). + Custom Copy: Now all Copy Here operations are supported. FYI, those operations are found in menu File | Duplicate and in the right-button drop context menu. + Backup / Custom Copy Configuration: Added option "Log to default location". If checked (and "Create log file" is enabled) then the factory default locations are used for the log file location and name. If unchecked you are prompted for a name when triggering the copy operation. The factory defaults are: Backup: \Log\Backup_.txt Custom Copy: \Log\CustomCopy_.txt The defaults can be changed by tweaking the INI file (see v9.90.1114). * XYcopy 2.00.0035: Internal changes and fixes. ! Error "Subscript out of range" on start up under certain conditions since v9.90.1113. Fixed. v9.90.1115 - 2011-06-29 12:17 * SCs download and readurl: Tried a different approach to fetch data that might fix a problem with certain code pages. Attempt #3. * XYcopy 2.00.0033: Internal changes and fixes. * Updated the help file. v9.90.1114 - 2011-06-29 10:05 + Tweaks to streamline logging (option "Create Log File") of Backup and Custom Copy operations by defining templates for the log file location and name. You have three possibilities for each tweak: - Path/File name: Log file is created as defined. - File name only: Log file is created in the target location with the defined name. - Nothing: You will be prompted for a location and name. Example for Backup operations: [Settings] BackupLog=Backup_.txt Example for Custom Copy operations: [CustomCopy1] Log=E:\Test\Log\CustomCopy_.txt The date variables are resolved to the current date/time. Note that also other variables and Environment variables are supported. The log file path is auto-created if it does not exist yet. Here is another example for a portable log file location: [CustomCopy1] Log=\Log\CustomCopy_.txt Note that the tweaks are found in different sections in the INI file, [Settings] and [CustomCopy1], and have different key names. This has internal reasons. + SC recase enhanced: New named argument for parameter "mode": mode: sentence: First letter upper case, all others lower case. Example: text recase("the caMel can't.", "sentence"); //The camel can't. + SC recase: Parameter "mode" now works with passing just the first letter, e.g. "s" for "sentence". + SC recase enhanced: New named argument for parameter "mode": mode: removediacritics: Strips accents and the like from letters, e.g. converts "à" to "a" and so on. Example: text recase("Motörhead", "r"); //Motorhead * SCs download and readurl: Tried a different approach to fetch data that might fix a problem with certain code pages. Attempt #2. ! Recycle Bin: Now displays names with wide characters (Unicode) correctly. ! Recycle Bin: Further improved auto-refresh. ! Raw View: Overflow error on doing a raw view of a file of > 2GB. Fixed. v9.90.1113 - 2011-06-28 15:46 + Backup / Custom Copy Configuration: Added option "Rename folders on collision". If checked then all copies of folders in your selection are auto-renamed (incremental suffix) on collision. Else overwritten. Note that this concerns only the top folders, not any subfolders, of the items selected for the copy. Subfolders are never renamed on a Backup or Custom Copy. * Drag and drop right-click menu: Dropped the "(Copy of...)" part in the Copy Here command caption. It does not make sense anymore since with Custom Copy all kind of renaming schemes can take place, even none in the case of copied folders where just the contents are overwritten or rename-copied. Actually it never was very clever in the first place since the actual renaming was conntrolled by the OS locale (e.g. "Kopie von..." in German). * SCs download and readurl: Tried a different approach to fetch data that might fix a problem with certain code pages. * Configuration | Extended | Use sorted column: Added Label, Tags, and Comment column. So now when checked: Name, Ext, Type, Path, Label, Tags, or Comment column are used when sorted. When unchecked always the Name column is used. * XYcopy 2.00.0032: Internal changes and fixes. v9.90.1112 - 2011-06-27 21:01 ! Color Filters: Changing the attributes of a tree folder could lead to nonsense coloring of certain folders in the tree and other disturbing display effects. Fixed. v9.90.1111 - 2011-06-27 12:19 + Backup / Custom Copy Configuration: Added option "Keep progress dialog open". If checked the dialog stays open after the operation is completed. If unchecked the dialog is auto-closed. In the latter case, if "Show summary report" is checked the dialog is auto-closed only after 5 seconds, otherwise it is auto-closed immediately. * Backup / Custom Copy: Now HIDDEN files can be overwritten without "Access Denied" error. * XYcopy 2.00.0030: Internal changes and fixes. ! Tree: In a locked Tree the last location was highlighted (even if it didn't match the current path) after drag and drop to some tree folder. Fixed. v9.90.1110 - 2011-06-26 20:32 * Updated the help file. * XYcopy 2.00.0025: Internal changes and fixes. * Progress Dialog: Titlebar caption reorganized so that more of the important info is seen in the taskbar. ! Positioning of dialogs opened from Progress dialog was not always as expected. Fixed. ! Backup: On "Overwrite if newer" with verification, when copying was paused during verification then Resume would not start the copy again but skip it because the target file with the new date was now existing. Fixed. Now the newly created target file is deleted on Pause. v9.90.1109 - 2011-06-26 09:21 * Backgrounded Progress Dialog: Position back to centered. Better with dual monitor setups. * XYcopy 2.00.0024: Internal changes and fixes. ! Fixed the not-seen-in-taskbar issue for the Foregrounded Progress Dialog. A side-effect of the fix is that the dialog is not modal anymore, so you can continue working while the foreground backup / custom copy is in progress. You cannot, however, start a second parallel Backup / Custom Copy. Note that *Background* Processing is the preferred way to go if you intend to keep on working while heavy copying is in progress. v9.90.1108 - 2011-06-25 17:40 ! Backgrounded Progress Dialog: Was not reliably seen in the taskbar. Fixed. A side-effect of the fix is that the position of the dialog is now controlled by Windows. Not a bad thing since now it's more out of the way. Note that the not-seen-in-taskbar issue is not solved yet for the Foregrounded Progress Dialog. * XYcopy 2.00.0022: Internal changes and fixes. ! Menu Scripting | Run Script: Scripts larger than 32,767 characters were not editable anymore after toggling Word Wrap. Fixed. v9.90.1105 - 2011-06-24 14:08 +++ Configuration | File Operations: Added "Custom Copy", a widely configurable alternative copy method based on Kernel API. Custom Copy exceeds shell copy in lots of ways as you will immediately notice when you open its configuration dialog. To use Custom Copy in place of the standard Windows shell copy simply check the new option "Use Custom Copy for all copy operations". Note that this includes operations like Copy To, Paste (copy) from clipboard and drag and drop. Currently not included is Rich Copy (might be added later). Custom Copy operations currently do not support Undo/Redo. This is planned for a later version. * Configuration | File Operations: Reorganized the configuration of Backup which now shares a common configuration dialog with the new Custom Copy. FYI, in a later version this dialog will be accessible directly from the Progress Dialog. As you will have already guessed, "Backup" and "Custom Copy" are just labels for two independent configurations of one and the same copy machine. > Tip: You can configure Custom Copy directly from the right-click menu of the toolbar button "Queue File Operations". * XYcopy 2.00.0012: Internal changes and fixes. ! Backup Progress: Pressing Cancel in a unfortunate moment shortly before a file was completely copied could lead to inconsistent messages in the dialog. Fixed. v9.90.1104 - 2011-06-22 20:42 * Toolbar | Queue File Operations: Now when the queue is in Pause state the button shows a pause overlay. * Backgrounded Backup: Now the XYplorer main interface (incl. Tree and List) and the Background Jobs dialog are refreshed when the operation is completed, not only after the progress dialog is closed. * XYcopy 2.00.0009: Internal changes and fixes. ! Backgrounded Backup: Fixed a couple of glitches. v9.90.1103 - 2011-06-22 12:59 + List: The time before partial contents are shown has been raised from 250 ms to 1000 ms (1 second). FYI, to completely prevent that partial contents are shown before all items have been retrieved and sorted use this tweak from v7.10.0030 - 2008-05-30 11:53: [Settings] NoDisplayBeforeSort=1 * XYcopy 2.00.0006: Minor internal changes. ! Progress Dialog: Error when clicking X-close while operation in progress. Fixed. v9.90.1102 - 2011-06-21 11:57 +++ Backup operations now can be backgrounded and queued. This is accomplished by a new version of XYcopy.exe (XYcopy 2.0). + Tree: Added tweak to always select the parent of a deleted folder. TreeSelectParentOfDeleted=1 Without the tweak the next sibling is selected (if there is any, otherwise the parent is selected). Factory default is ON. Also for upgraders it is set to ON. v9.90.1101 - 2011-06-18 19:58 * Edit | Compare: Moved back to the byte-by-byte algorithm (after shortly turning to SHA-1 in v9.90.1014 - 2011-06-02 14:36). Reason: The byte-by-byte algorithm has some valuable smartness in checking the tail first, and the moving chunk by chunk through the files. This is likely to save time in real digital life. * Catalog: Browse button (labeled "...") now adjusts to the "Action on click" setting. * Various lists in the interface now adjust to the Vista/Win7 line spacing, i.e. the lines are 2 pixels higher than in XP. This is Vista/Win7 only. You can tweak it: WinVistaExtraLineSpacing. ! Progress Dialog: Different Transfer Rates were shown in interface and reports. The latter weren't up-to-date. Fixed. ! List: Could not rename a file to its own DOS name. Fixed. v9.90.1100 - 2011-06-15 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Progress Dialog. Backup operations now come with a progress dialog featuring the ability to pause/resume copying and detailed reports. +++ Verification. Backup verification now supports the following methods: Byte-to-byte, MD5, SHA-1, SHA-256, SHA-512. +++ Safe Overwrite. Backup operations now feature "Safe Overwrite", a clever logic that minimizes the risk of data loss due to failures while overwriting (e.g. power out). +++ Live Filter Box. Various lists in the interface now are provided with a live filter box, aka "Instant Search". +++ Type Ahead Find. Now there's an option to "Match anywhere", not just at the beginning of the file names. +++ Empty List Message. Now when the file list is empty a message is displayed right in the list. +++ Overlong Filenames. Now you can delete a folder with overlong name (more than 260 characters) with all its contents. +++ Access Control. An administrator now can define any number of disallowed locations. v9.90.1025 - 2011-06-14 11:48 * Updated the help file. v9.90.1024 - 2011-06-13 13:11 + Access Control: Added key "DisallowedDirs" where you can state disallowed paths. Syntax is analog to "AllowedDirs". If both keys are given in Admin.ini then the logic is like this: First AllowedDirs is checked; if the path in question passes then it is checked against DisallowedDirs. Examples: [AccessControl] AllowedDirs=E:|F: DisallowedDirs=E:\Test|E:\Secret Result: The user is allowed to operate only in drives E: and F:, but not in the folders E:\Test and E:\Secret. [AccessControl] DisallowedDirs=E:\Test|E:\Secret Result: The user is allowed to operate anywhere apart from E:\Test and E:\Secret. ! SC readurl: Did not support https. Fixed. ! Access Control: Inline Rename in List was forbidden when it should be allowed. Fixed. ! Shortcuts for overlong targets could not be created correctly. The shell simply does not support this. Fixed: Now they are simply not attempted anymore. v9.90.1023 - 2011-06-12 18:57 ! Menu File | File Special | Delete (Skip Locked): Did not recognize certain locked files as "Locked". Fixed. ! Backup: Crashed on backing up an empty folder (since about 10 days ago). Fixed. ! Fixed a couple of typos and wording glitches in various places. Thanks to Dmitry Fedorov for pointing them out to me! v9.90.1022 - 2011-06-10 12:36 ! CKS: Submenu View | Tab | Columns was wrongly placed as View | Columns. Fixed. ! File Find | Follow Folder Links: Did not work reliably under all circumstances when the linked folders were network locations. Fixed. v9.90.1021 - 2011-06-08 10:03 ! Backup: Fixed an overflow error that could happen in the elapsed time calculation. ! Backup Progress: Something was not correctly reset between calls so the overwrite prompts could get confused. Fixed. % Backup Progress: Removed some superfluous painting with caused a flicker on some systems. * Tabs: A unlocked search results tab called "Search Results" now auto-loses this special name when it is used for normal browsing. FYI, this is relevant when you opted for 'Show search results in' = '"Search results" tab (unlocked)'. This change made another change necessary to prevent undesired multiplication of tabs on each search: Now, with setting '"Search results" tab (unlocked)', the search is performed in the current tab, not in a new tab. Unless the current tab is locked, or another tab named "Search results" already exists. v9.90.1020 - 2011-06-06 13:37 + Configuration | File Operations | Backup Operations: Added "Remove read-only attribute". Tick it to remove the read-only attribute on target files if present on the source files. + Configuration | File Operations | Backup Operations: Added "Ask before overwriting read-only files". Tick it to get prompted before a READONLY or SYSTEM file is overwritten. (SYSTEM is not mentioned in the caption because it would be too long.) * Backup: Now READONLY files can be overwritten without "Access Denied" error. * Backup: Now, if "Skip junctions" is off, then symbolic links are copied as symbolic links. If the source file is a symbolic link, the destination file is also a symbolic link pointing to the same file that the source symbolic link is pointing to. Before, the linked files were copied. BTW, if "Skip junctions" is on, symbolic links are skipped. v9.90.1018 - 2011-06-05 19:22 + Overlong filenames: Now you can delete a folder with overlong name with all its contents. Before, you could delete it only if it was empty. + Backup: Now the available free space on the target drive is checked before each copy operation (per job or per file, depending on the circumstances). The operation is only initiated if enough space is available. This might save you frustration when copying very large files to already packed drives. * Backup: Without Safe Overwrite, pausing or cancelling processing while a target file was being overwritten did effectively lead to the deletion of the target. Assuming that this can hardly be a desired outcome of pressing Pause or Cancel, from now on an ongoing overwrite operation will be allowed to finish before processing is paused or cancelled. Note that this is not necessary (and therefore not done) when Safe Overwrite is enabled. % Backup with Progress Dialog: Improved the logic behind updating the progress. It's now much smoother and, even better, processing got notably faster because paint work has been dramatically reduced. ! Progress Dialog: In Windows classic mode (no themes) no progress bar was shown. Fixed. v9.90.1017 - 2011-06-04 20:03 + Configuration | File Operations | Backup Operations: Added "Safe overwrite", an option to minimize the risk of data loss due to failures while overwriting. See how it works compared to normal overwrite: Normal Overwrite ~~~~~~~~~~~~~~~~ - Source overwrites target. If there is a failure (e.g. power out) while copying the bytes the target is lost and nothing will bring it back. So you are without any backup now. Safe Overwrite ~~~~~~~~~~~~~~ - Copy: Source is copied to a new temporary target file in the target folder. - Optional Verification (you set this under "Verification"): The temporary target is compared with the source. - Rename: If the copy (and optional verification) succeeds then the target to be overwritten and the temporary target swap names. - Delete: If the name swap succeeds then the target to be overwritten (which now has the temporary name) is deleted. Note that due to its logic Safe Overwrite needs enough space on the target device to hold the target to be overwritten and the temporary target (same size as the source) at the same time. ! Progress Dialog: Fixed a couple of further glitches. v9.90.1016 - 2011-06-04 10:51 * Progress Dialog: Now pressing ESC while the operation is in progress will Pause, pressing ESC while the operation is not in progress (paused or cancelled or completed) will close the dialog. ! Progress Dialog: Fixed a couple of further glitches. ! List: Size column was wrongly sorted for items of 1 TB or larger. Fixed. v9.90.1015 - 2011-06-03 09:56 * Configuration | File Operations | Backup Operations: Now you can choose between various verification methods: - None (no verification) - Byte-to-byte - MD5 - SHA-1 - SHA-256 - SHA-512 Note that the latter two are not available on all systems. * SC backupto enhanced: The "verify" parameter now takes the following values: verify: Verify each copy operation on the fly. Empty = Use global setting from Configuration. 0 = None (no verification) 1 = Byte-to-byte 2 = MD5 3 = SHA-1 4 = SHA-256 5 = SHA-512 ! Progress Dialog: Fixed a couple of glitches. v9.90.1014 - 2011-06-02 14:36 % New comparison algorithm uses SHA-1 instead of byte-to-byte comparison. It's clearly faster with large files (but slightly slower with small files) and much nicer to your hard disks. The new algorithm is applied to Edit | Compare and to verification in Backup operations. ! Menu Edit | Compare: Comparisons would still error out with "overflow" on huge files. Fixed. v9.90.1013 - 2011-06-01 20:55 * Progress Dialog: - Renamed "Abort" to "Cancel". "Cancel" appears most expected at this position, although "Stop" would be maybe more correct functionally. - Renamed "Continue" to "Resume". - Various reports are now found under the new Reports button. - Dropped showing msecs, it's overkill. - Reorganized the display of progressing copying and verifying. - Made it smaller. * Backup reports: Redesigned the format. Now only one line per file. Slightly different wording. % Verification and Comparison functions: Now the optimal chunk size is determined with more smartness. The result is faster processing and considerably less strain on your hard disks. ! Verification and Comparison functions: Would error out with "overflow" on huge files. Fixed. v9.90.1012 - 2011-05-31 21:09 * Progress Dialog: Wider progress bar. More expected, more "natural", and the progress appears faster ;). * Backup with Progress: Now you can Abort or Pause processing also *while* a large file is being copied or verified (not only between the files). Note that after Pause the process will resume with the file that was being processed when Pause was clicked. So it will be copied/verified again. * Backup with Progress: Now the stats are also updated *while* a large file is being copied or verified (not only between the files). You will note that estimating the remaining time is difficult when verification is enabled, especially when you copy few large files. ! List Empty Message: Was shown too early sometimes. Fixed. v9.90.1011 - 2011-05-31 12:38 * Progress Dialog enhanced: - Now also verification has its own numeric progress. - Now the currently processed file is shown without full path. * Backup: Verification now ensures that the target file is read from disk, not from the Windows write cache. This makes it slower, but more secure. It actually makes it useful. + List: Now you get a message when the list is empty. There is some additional information if items are present in the folder but currently not shown. Examples: - This view is empty. - This view is empty. 1 item is hidden. - This view is empty. 349 items don't match the current filter. - This view is empty. 1 item is hidden. 7 items don't match the current filter. v9.90.1010 - 2011-05-31 10:10 +++ Backup operations now come with a detailed progress dialog. The dialog contains information about the elapsed and remaining time, the average transfer rate, number of done and remaining files and bytes, etc. ... the usual progress dialog stuff. But there is also something interesting: - There is a Pause button which allows you to Pause and Continue an operation. - For files larger 10MB you get a per-file progress (numeric percentage only, no separate progress bar, to keep the UI as plain as possible). FYI, while this service theoretically should slow down copying a tiny bit, I wasn't able to measure any difference. - When the operation is paused or completed you can view the details (button "View details"). Note that this works also when "Create log file" is off. - You also can view the log file from this dialog (button "View log file") if you enabled Configuration | File Operations | Create log file. The contents are identical to the "View details" contents, but here they are shown in a file opened in the system default editor. - In the unlikely case of failures (e.g. verification failed) you get a button "View failures" which lets you see a detailed list of all failed files. - When the operation is completed, the dialog (optionally, see next section) stays up so that you can check the results. Showing the progress dialog is optional, see next section. + Configuration | File Operations: Added "Show progress dialog". Check it (= factory default) to show a modal progress dialog while the backup is in progress. If unchecked the progress is shown in the statusbar as in previous versions. Note that if "Show progress dialog" is enabled then "Show summary report" causes the progress dialog to stay open after the operation is completed. The progress dialog IS the summary report in this case. If "Show summary report" is off then the dialog is auto-closed after 2 seconds, unless there are any failures in which case the dialog unconditionally stays open. * Backup logs and summary reports: New format, more information. ! Configuration | File Operations | Skip junctions: Did not honor Symbolic Links in Vista/Win7. Fixed. Now they are skipped as well. + SC backupto enhanced: Added parameter show_progress. Syntax: backupto location, [source], [on_collision], _ [preserve_dates], [create_log], [pop_stats], _ [skip_junctions], [verify], [show_progress] show_progress: Show progress dialog. Empty = Use global setting from Configuration. 0 = Don't. 1 = Do. * Catalog: The properties dialog now shows the full file spec of the current catalog, resp. of the mother catalog of the current item. ! Backup Operations | On name collisions: The option "Affix last modified date to copy" wrongly took the date of the existing target and affixed it to the copy. Of course, it should have taken the date of the source. Fixed. ! Browsing: Since v9.90.0104 - 2011-01-26 15:28 you could break into a locked tab by using a hidden destination (e.g. a SYSTEM folder when system folders were hidden by user settings). Fixed. Now a new tab is opened as expected. * SC tab: Now the "new" parameter also supports explicit browsing to locations which are hidden from by user settings. * Refreshing Tree and List: Now the statusbar gives a short feedback when you explicitly refresh. v9.90.1006 - 2011-05-26 20:02 * Configuration | General: The options related to type ahead find moved to the "Extended" tab, section "Type Ahead Find". One of them got renamed: OLD: Type ahead find uses sorted column NEW: Use sorted column + Configuration | Extended | Type Ahead Find: Added option "Match anywhere". Check to count matches anywhere, not just at the beginning of the file names. * List: Selection box now also shows in an empty list. This is useless but consistent with Windows Explorer, so it might generate confidence in the user which in turn is useful. ! Find Files: Under certain conditions available network locations were not searchable ("Search location currently not available."). Fixed. v9.90.1004 - 2011-05-25 21:50 * Create Folders Here, Create Branches Here, Paste Folder Structure: Now can create a duplicate folder structure under the same parent as the source. It will be auto-renamed (incremental suffix) to avoid the collision. ! Find Files: A search attempt in unavailable folders could lead to a crash since a couple of days ago. Fixed. ! The new "Always keep 1st pane visible" didn't work in all contexts yet. Fixed. v9.90.1003 - 2011-05-25 11:36 + Configuration | Dual Pane: Added option "Always keep 1st pane visible". Well, it ensures that the first pane is always visible. E.g., when you are in single pane mode / 1st pane, and do "Toggle Active Pane", then dual pane mode is auto-enabled before activating the 2nd pane so that the first pane is still visible. In other words, check this option to never see only the 2nd pane. * Dialogs with Live Filter Box: UI polishing. Some buttons have been turned into a toolbar, and the LFB got a bit wider. When the list is filtered the colors of the line numbers are now inverted. * Live Filter Box: Now the last filter is updated also when you OK the dialog with an active filter (not only when toggling the filter). ! Live Filter Box: Filtering an empty list crashed. Fixed. * Scrolling by Wheel: Experimentally the scrolling direction for horizontal wheels has been inverted. v9.90.1001 - 2011-05-24 12:05 + The various lists in List Management and other dialogs now are provided with a live filter box. - Matching is case-insensitive (A=a). - Partial matching is supported. E.g. a filter pattern "o" will match "dog". However, if the pattern has wildcards * or ? then the pattern is taken as is, so "o*" will not match "dog". - In List Management | Editor Mode no filtering is applied. - Patterns are not retained between calls. - Patterns don't support Boolean logic. - Line numbers in filtered lists still refer to the position in the unfiltered list. Cool! - Sorting is supported in filtered lists. - Click the icon to toggle between "no filter" (stores the current filter as "last filter") and "last filter". The last filter is shared across all lists, and retained across sessions. v9.90.1000 - 2011-05-23 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Access Control. An administrator now can easily control which paths can be accessed by the user of XYplorer, and which file operations are allowed. A powerful corporate feature. +++ Eye Candy. Now there's a Translucent Selection Box with freely configurable color. +++ Tag-Based File Management. Now you have immediate access to the tags database (containing per-file Labels, Tags, and Comments) in its current state in memory. v9.90.0938 - 2011-05-23 08:51 ! Color Filters by Date: Exclusion operators for absolute dates without times did not work as expected. Fixed. ! Catalogs: INI references to recent catalogs were not saved in a portable manner anymore for a while. Saved. v9.90.0937 - 2011-05-22 21:28 * Color Filters by Date: Now when you just give a date without the time part it is interpreted as a time range covering that whole day. Examples (valid date syntax depends on your locale): dateM: 2011.05.22 ' covers the whole day dateC: 05/22/2011 ' covers the whole day Similarly, when you give time ranges without the time part then the ending date is now taken to cover that whole day. Examples (valid date syntax depends on your locale): dateM: 2011.05.21 - 2011.05.22 ' covers two whole days dateC: 05/01/2011 - 05/02/2011 ' covers two whole days * SC folderreport: Sorting of item names improved (for report types tree, dirs, dirsrel, items, itemsrel, files, filesrel). Now direct child files are listed before subfolders and their contents. Old order: E:\Test\sort\a.txt E:\Test\sort\b E:\Test\sort\b\a.txt E:\Test\sort\b\b E:\Test\sort\b\b\a.txt E:\Test\sort\b\c.txt E:\Test\sort\c E:\Test\sort\c\b.zip E:\Test\sort\z.txt New order: E:\Test\sort\a.txt E:\Test\sort\z.txt E:\Test\sort\b E:\Test\sort\b\a.txt E:\Test\sort\b\c.txt E:\Test\sort\b\b E:\Test\sort\b\b\a.txt E:\Test\sort\c E:\Test\sort\c\b.zip ! List Management: Some buttons were disabled since v9.90.0936. Fixed. v9.90.0936 - 2011-05-21 21:56 + SC folderreport enhanced: New named arguments for parameter "type": type: files: List of files in current folder (absolute paths). filesrel: List of files in current folder (relative paths). These types work identically to the types "items" resp. "itemsrel" with the only difference that they only return files, not folders. + SC folderreport enhanced: New parameter [separator] Syntax: folderreport([type=dump], [target=clipboard], [folder], _ [flags], [outputfile], [separator]) separator: Separator between records. Applied only to types tree, dirs, dirsrel, items, itemsrel, files, filesrel. If missing records are returned one per line. For example, this returns a pipe-separated list of all files in the current path (recursive): text folderreport("files", "r", , "r", , "|"); v9.90.0935 - 2011-05-21 15:32 * File Find: Before, when only one folder in a multi-location search was not available the whole search was automatically cancelled. Now, the search is only cancelled when all folders are not available. Increases portability and tolerance against shaky network environments. ! File Find: An ongoing search could be mixed with a new search under certain conditions. Fixed. Now an ongoing search will be stopped by a new search. ! Popping menu Window | Tabs could crash under certain conditions. Fixed. v9.90.0934 - 2011-05-20 09:44 + Custom Event Actions (CEA): Added another action to the custom events "right-click on the tree's white space" and "right-click on the list's white space" (currently only as a tweak). 4 = Popup the Tabs menu Examples: CEA_TreeRightClickOnWhite=4 CEA_ListRightClickOnWhite=4 * Improved the overwrite prompt on each name collision. Now differences are verbally marked (larger/smaller, newer/older). - Tweak CtxMenuLetShellCopyPaste removed. v9.90.0931 - 2011-05-18 15:31 + SC formatlist enhanced: Added format "p" for perforate. Syntax: formatlist(list, [format], [separator=|], [param]) format: Switches for the desired formatting. Can be freely combined in any order. p = perforate (split by length of parts, not by separator) param: On format p: Length of parts the list shall be split into. If missing or smaller than 1 it is set to 1. Examples: text formatlist("abcdefg", "pr", , 2); //g|ef|cd|ab text formatlist("abcdefg", "p", "." , 1); //a.b.c.d.e.f.g * Updated the help file. v9.90.0930 - 2011-05-17 20:15 ! Scripting: Integer division results were "1" when they should be "0" for numbers larger than 2147483647. Fixed. ::echo 2147483647 \ 2147483648; //0 is correct! * Toolbar Scrolling: Now the wheel works in the expected direction. v9.90.0929 - 2011-05-17 11:18 + Access Control: Now the menu popped by the AC status bar button has a toggle item "Use Status Bar for Messages". Check it if you need it. The setting is retained across sessions via the normal INI file, so this part of AC is customizable by the user. Watch out for a little attention seeking gimmick there... :) v9.90.0928 - 2011-05-16 20:09 + Access Control: Now the status bar shows a button with the AC icon when AC is active. Click it to get some information about how you are limited by AC. + Menu Tools | Customize Toolbar: New option "Scrolled toolbar wraps". Check it to have the scrolled toolbar wrap around edges (as it did all the time before v9.90.0924). + Menu Window | Tabs: Now the tabs of both panes are shown. v9.90.0927 - 2011-05-15 20:22 + Scripting got a new function. Name: hextodec Action: Converts a hexadecimal number into a signed decimal number. Syntax: hextodec(hexnumber) hexnumber: The hexadecimal number to convert. Can be in any of these formats: "0x499602D2" (0x-prefix as used in C++, PHP etc) "&H499602D2" (&H-prefix as used in VB) "499602D2" (no prefix) Anything above 8 digits (after the prefix) is ignored. return: The signed decimal number. Notes: The highest value is 0x7fffffff (2147483647), the lowest value is 0x80000000 (-2147483648). Example: text hextodec("0x499602D2"); // 1234567890 * SC formatlist: Now the seed can also be 0 (and still function as expected). v9.90.0926 - 2011-05-15 13:50 + SC formatlist enhanced: Added format "x" for shuffle (randomize order), and a special parameter for a seed. Syntax: formatlist(list, [format], [separator=|], [seed]) format: Switches for the desired formatting. Can be freely combined in any order. x = shuffle (randomize order) seed: Seeds the randomizer used for shuffle. Can be any number. If a seed is passed, the randomizer always generates the same random sequence for this seed. Examples: text formatlist("b|a|c", "x"); //a|c|b ... b|c|a ... c|b|a ... text formatlist("b|a|c", "x", , 19); //always b|a|c + SC formatlist enhanced: Now you can pass an empty separator in order to treat the list as a list of single characters. Examples: - With default separator: text formatlist("b|a|c", "s"); //a|b|c - With empty separator: text formatlist("bac", "s", ""); //abc ! Toolbar: Fixed some drawing glitches. * Tweak CtxMenuLetShellCopyPaste is now by factory default OFF (see v9.90.0904 - 2011-05-06 22:00). Reason: If the shell handles cut, copy, and paste, the operations bypass XYplorer's undo/redo log. v9.90.0925 - 2011-05-14 18:09 + Custom Event Actions (CEA): Added another custom event, "right- click on the tree's white space" (currently only as a tweak). [Settings] CEA_TreeRightClickOnWhite=0 You can currently choose between the following actions: 0 = Popup the Favorites Folders menu (factory default) 1 = Popup the full Favorites menu 2 = Popup the Drives menu 3 = Popup the Drives with Special Folders menu (any other value) = Do nothing ! Menu Tools | Customize File Associations...: Wrong icons (for a couple of beta versions). Fixed. ! File operations by drag and drop were not always backgrounded when they should (for a couple of beta versions). Fixed. ! Toolbar: Did not always show the last button when scrolled. Fixed. v9.90.0924 - 2011-05-14 10:07 * Toolbar: The scrolling toolbar doesn't wrap anymore. Makes it much more usable. ! List: You could create an "orphaned selection" when using Left or Right arrows to select the currently focused item. Fixed. v9.90.0923 - 2011-05-13 15:55 + Access Control: Added further means to limit user power. The new key DisallowedOperations can be used to disallow certain file related operations. The value is a made by OR-ing (here equivalent to adding) the values of the following bit field: eAACFO_Move = 1 eAACFO_Copy = 2 eAACFO_Delete = 4 eAACFO_Rename = 8 eAACFO_New = 16 eAACFO_Open = 32 eAACFO_Tag = 64 eAACFO_ShellCtxMenu = 128 For example, to disallow Move, Delete, and Rename, add 1 + 4 + 8 = 13: [AccessControl] DisallowedOperations=13 + Access Control: Added further means to limit user power. The new key DisabledFeatures can be used to disable certain features. The value is a made by OR-ing (here equivalent to adding) the values of the following bit field: eMdlScripting = 1 eMdlUDC = 2 eMdlCKS = 4 eMdlPFA = 8 eMdlCacheServers = 16 eMdlCatalog = 32 For example, to disable Scripting: [AccessControl] DisabledFeatures=1 > Access Control: Here's an example for how to set up XYplorer to limit activity to Desktop and \\ServerB\Work, disallow Move, Delete, and Rename even in this allowed locations, and generally disable Scripting and UDC: Create Admin.ini in the path of XYplorer.exe and paste this: [AccessControl] AllowedDirs=Desktop|\\ServerB\Work DisallowedOperations=13 DisabledFeatures=3 v9.90.0922 - 2011-05-12 16:50 + Access Control: Backup operations weren't covered yet. Done. * Access Control: Changed the icon. Credits and thanks for the new icon go to http://www.brightmix.com/. Their generous WTFPL license allowed me to pimp it up a bit. ! Access Control: The Mini Tree still would have displayed disallowed paths when browsing to them via various location ports (Favorites, Address Bar, ...). Fixed. + Command Line: Now you can set a session title via the new command line switch /title=. If the title contains any spaces it has to be quoted. Example: Run: XYplorer.exe /title="Mars Project" A session title is useful when you need to distinguish several parallel sessions. See next paragraph... + Configuration | Templates | Titlebar Template: Added new field which is set to the title of the current session. Example: Run: XYplorer.exe /title="Mars Project" Template: <path> - <app> - <ver> - <title> Caption: E:\Test\c - XYplorer - v9.90.0922 - Mars Project v9.90.0912 - 2011-05-12 10:17 + Access Control: The context menu of toolbar button "Mini Tree" now features two extra items "Allowed Locations" (lists all allowed locations) and "Mini Tree from Allowed Locations" (creates a Mini Tree from just the allowed locations), which are only visible when Access Control is active. + Access Control: When Access Control is active the titlebar caption now has "[AC]" at its right end. * Configuration | Tags: Packed some of the advanced buttons into a popup menu under "Advanced Options..." and differentiated between "Edit Orphans (All Drives)..." and "Edit Orphans (Fixed Drives Only)...". ! List Management: The edit box in Editor mode was limited to hold only 32,767 characters. Fixed. This limit has been raised to about 4 gigabytes. ! SC report: A script line like the following produced an error when no item was selected: ::text report("{Basename}<crlf>", 1); Fixed. ! List: Under certain conditions the list was auto-refreshed even if inline-rename was in action. This should not happen. Fixed. + SC copyas: Now the itemlist parameter supports relative (to current list path) paths, e.g.: ::copyas "copy-*.png", ,"1.png|2.png"; v9.90.0911 - 2011-05-11 21:50 +++ Access Control: A powerful corporate feature by which an admin can easily control which paths can be accessed by the user of XYplorer. If this feature is enabled then browsing and file operations are only possible in, from, and to the explicitly allowed paths. Access Control is invoked using Admin.ini, a plain text file located in the path of XYplorer.exe. If it is not there yet, simply create it. Create with admin rights so that the normal user cannot modify it. The following section and key in Admin.ini are used to enable and define Access Control. In this example, access is allowed only for Desktop, D:\, and E:\Test (all subfolders included). [AccessControl] AllowedDirs=Desktop|D:|E:\Test Any number of paths can be concatenated, separated by a | (pipe). If the key AllowedDirs is not empty then Access Control is enabled. If Access Control is enabled then the Mini Tree mode is forced on the user. + Configuration | Tags: Added button "Edit Orphans...". It pops a list of all current orphans (if any) which can be manually edited. Note that in this interface, you cannot add or remove items. v9.90.0910 - 2011-05-10 15:43 + List Management: Added "Tagged Items..." which offers backdoor access to the tags database in its current state in memory. You can edit the records (of course you should know what you do, there is no error checking concerning the syntax), remove records, add records. Using Editor Mode you can outsource the work to a text editor of your choice. You will already see that this feature is a very powerful addition to Tag-Based File Management. It also comes in handy at checking out orphans and maybe manually reviving them by updating the paths. FYI, here is the tag.dat record syntax: filename|label|tags|reserved1|reserved2|reserved3|comment + Configuration | Tags: Added button "Edit Tagged Items..." which pops the above described "Tagged Items..." section of List Management right from the Configuration window. + Configuration | General: Added option "Mixed sort on tag columns". Check to use a mixed sort (mix folders and files when sorting) always on the columns Label, Tags, and Comment. v9.90.0909 - 2011-05-09 14:42 + Configuration | File Operations | Backup Operations | On name collisions: Added option "Ask". Choose it to pop an overwrite prompt on each name collision, allowing you to decide case by case. The overwrite prompt tells you a bit about the conflicting files and offers you not to be asked again during the current job. * On name collisions: Renamed some of the existing options to a more standard wording: OLD NEW Overwrite only older files Overwrite if newer Overwrite never Skip Suffix increment to copies Suffix increment to copy Affix current date to copies Affix current date to copy Affix last modified date to copies Affix last modified date to copy * Configuration | File Operations | Backup Operations. Renamed "Create detailed log file for each backup" to "Create log file". Renamed "Show summary report when done" to "Show summary report". + SC backupto enhanced: The on_collision parameter got a new value (-1 = Ask) which pops an overwrite prompt on each name collision. Syntax: backupto location, [source], [on_collision], _ [preserve_dates], [create_log], [pop_stats] on_collision: -1 = Ask For example, backup all selected items to E:\Test; on collision ask what to do: ::backupto "E:\Test", , -1; + Configuration | File Operations | Backup Operations: Added option "On failures" with three choices: - Ask Pops a prompt on each failure. - Continue Just continues processing. - Cancel Cancels the whole job. On "Ask" you get a prompt with three buttons: - Continue All Continues on all such failures (no more asking). - Continue Continues (ask again next time). - Cancel Cancels the whole job now. FYI, currently three types of failures are recognized: - Verification failed: May happen if the "verify" option is enabled. - Decryption failed: May happen when copying an encrypted file to a medium that does not support encryption. - Something else failed: Well, something bad happened that cannot be further specified. v9.90.0904 - 2011-05-06 22:00 * Tree and List | Items' context menu: From now on the shell's clipboard commands Cut, Copy, and Paste (shown in your locale in the shell context menu) are actually executed by the shell. Before, the shell was bypassed and execution was handed over to XYplorer. Now you have an easy and intuitive alternative to XYplorer's native clipboard commands, which are still accessible via the Edit menu and KS (Ctrl+C etc.), or the List's white space context menu. If you prefer the old behavior, use this new tweak: CtxMenuLetShellCopyPaste=0 v9.90.0903 - 2011-05-06 12:40 + Tweak to configure the translucent selection box transparency. Allowed values: 1 (almost fully transparent) to 255 (fully opaque). The factory default is 70. TSBTransparency=50 * Icons for unavailable locations: Changed the icon to something more standard. Credits and thanks for the icon (free for commercial use) goto http://pixel-mixer.com/! * Unavailable locations icon: No such icon is shown anymore in the Address Bar if it is dirty (if you are typing in it). + New variables <get curitem> and <get curitemprev>. They returns the current resp. previous current item on whatever pane. Both take optional parameters path, file, base, and ext. Examples: echo <get curitem>; //E:\Test\b\c\Jane.txt echo <get curitem path>; //E:\Test\b\c echo <get curitem file>; //Jane.txt echo <get curitem base>; //Jane echo <get curitem ext>; //txt As always, SC get supports the same argument: echo get("curitemprev", "path"); ! List: Select on paste did not always work on right-click drops. Fixed. ! Showed a "hand" icon in various places in the UI for paths on unavailable CD drives. Fixed. v9.90.0901 - 2011-05-05 15:14 + List: Added translucent selection box. Windows 2000 Professional or later. + Configuration | Colors & Styles: Added option "Translucent selection box". If unchecked the old-school dotted focus rectangle is used instead of the translucent selection box. + Configuration | Colors & Styles: Added color selector "Selection Box". Lets you freely configure the color of the new translucent selection box. Of course, this setting is ignored if "Translucent selection box" is OFF. + Tweak to hide certain drives by letter. The drives are hidden from the Maxi Tree and from the Drives listing under the "Computer" node. E.g. this will hide drives A and B: HideDrivesByLetter=AB Note that this tweak supersedes the setting of Configuration | General | Show hidden drives (which retrieves the systemwide HIDDEN property for drives from the registry). An attempt to browse to such hidden drives will fail in MaxiTree mode. The MiniTree, however, is not affected by this tweak. * Icons for unavailable locations: Now an "alert" icon is shown in the Address Bar, on Tab headers and in various file listings for unavailable locations resp. items. Before, simply now icon was shown. v9.90.0900 - 2011-05-03 12:00 = MAINTENANCE RELEASE. +++ Bug fixes. v9.90.0812 - 2011-05-03 11:07 + Scripting got a new function. Name: isset Action: Determines if a variable is set. Syntax: isset($var) $var: The variable to be checked. return: 0 = The variable is not set. 1 = The variable is set. For example, check whether a permanent variable is set before using it: $contents = isset($p_filenamestore)?$p_filenamestore:""; + New variable <curitemprev>: Returns the previous current item on whatever pane. echo <curitemprev>; + Menu Scripting | Permanent Variables: Now you can double-click a variable in the listing to show its value. The same trick works in the variable listings in the "Stepping through a Script" dialog. ! File Info Tips: Tips for clipped items did not show on network locations when they should. Fixed. v9.90.0811 - 2011-05-02 14:14 + New variable <get find_contents>. Returns the contents of the Contents field of the last search in the current pane in this session. For example: echo <get find_contents>; As always, SC get supports the same argument: echo get("find_contents"); + SC folderreport enhanced: New named arguments for parameter type: type: items: List of items in current folder (absolute paths). itemsrel: List of items in current folder (relative paths). Type "items" supports a format template. The template is appended to the type selector separated by a ":" (colon), and it fully supports the syntax of the template argument in SC report! Examples: - Return similar to dos command 'dir /b /s': ::text folderreport("items", "r", , "r"); - Returns path and name for an folder, additional size and mod date for files: ::text folderreport("items:{dir {fullname}|{fullname}; {size kbr}; _ {modified yyyy-mm-dd}|}", "r", , "r"); - Returns CSV with user chosen info and self-defined separator TAB: ::text folderreport("items:{fullname}<tab>{size kbr}<tab>{modified}", _ "r", , "r"); - Returns recursive CSV list with info good for diff comparing after an installation: ::text folderreport("items:{fullname}; {FileVersion}; _ {size B}; {modified}", "r", , "r"); ! Icon Overlays were refreshed even if Auto-Refresh was off. Fixed. v9.90.0810 - 2011-05-02 10:57 + Added preview of *.m4v files (iTunes Video File). As always: XY can play it if WMP can play it. You just need the codec. * Updated the help file. ! Dual Pane: The position of the vertical splitter was not remembered correctly under certain conditions. Fixed. v9.90.0809 - 2011-05-01 20:53 + Configuration | Templates | Incremental Suffix: Now you can configure the start value of the increment. Simply set the start value directly in the template, for example: - To start numerical increments with "0": Template: -00 First increments: -00, -01, -02 ... - To start numerical increments with "1": Template: -001 First increments: -001, -002, -003 ... - To start alphabetical increments with "a": Template: -aaa First increments: -aaa, -aab, -aac ... - To start alphabetical increments with "zz": Template: _azz First increments: _azz, _baa, -bab ... Upgraders: Your existing templates will be smoothly auto-upgraded, e.g. "-00" is converted to "-01". + Rename Special | Batch Rename: Now letter increments (same syntax as described above) now also works for batch rename patterns, for example: *-<#aa> *-<#aac>.text /e + Command Line: Improved for passing startpaths relative to app path. Now you can also pass things like "..\..\". * Command Line: Now passing "." will startup at app path. Before it started at the Current Windows Directory. ! Spot & Jump: On lists with just one item the status bar message "no matching items name" was not reset when a match happened later. Now you get a message like "jump: match in line 33" on each match. Also on lists with more than one item. v9.90.0808 - 2011-04-30 13:38 * Reorganized parts of the "View" menu: Submenu "Columns" is now located in submenu "Tab". Consequently it is now available as well in the tab headers' context menu, and in the list's white space context menu. ! Paste Folder Structure: When source and target overlapped the target was created twice (containing a duplicate of itself). Fixed. v9.90.0807 - 2011-04-29 13:08 + Menu View | Tab | Views: Added new view "Large Icons". Shows large (32x32) icons with the filename below, in horizontal rows. Boils down to a thumbnails view without the thumbnails. Tip: Using View | Columns | Grow/Shrink Name Column, you can modify the column width of the view. ! Mini Tree: Did not respect the setting of "Configuration | Advanced | Use generic icons for super-fast browsing", and thus would generate long delays when unavailable network paths were featured in the Mini Tree. Fixed. v9.90.0806 - 2011-04-28 18:12 + Aliases with arguments: Now you can define a default value for each placeholder. The default is used when the respective argument is missing or empty. Syntax: The default value is optionally stated within the placeholder, separated from the beginning by a space: <@1 DefaultValue> Example: Define alias (the second placeholder has a default): @Greet=::echo "Hello, <@1>! It's <@2 Dewey>!"; Use alias 1 (all arguments are given, so the default is not used): @Greet Don, Daisy Resolved alias: ::echo "Hello, Don! It's Daisy!"; Use alias 2 (the second argument is missing so the default is used instead): @Greet Don Resolved alias: ::echo "Hello, Don! It's Dewey!"; Use alias 3 (the first argument is missing but no default has been defined for it, so it is replaced with nothing): @Greet Resolved alias: ::echo "Hello, ! It's Dewey!"; Remarks: The default value can have all characters apart from >. + SC hash enhanced. Added algo CRC-32 (Cyclic Redundancy Check). algo: Hash algorithm. crc32: CRC-32. Examples: ::text hash("crc32", "abcdefgh"); //AEEF2A50 ::text hash("crc32", , 1); //CRC-32 of current file Note: The CRC-32 algorithm is not available as Window API (!?), so I had to write it myself. To my shame it came out slower than e.g. the API-based MD5 hashing. Probably VB's lack of bit shifting operations is to blame... I might do something with assembly code snippets later. + Menu Edit | Paste Special: Added command "Paste (Backup)" by which you can trigger the Backup operation for items on the clipboard with the current folder as target. v9.90.0805 - 2011-04-27 19:19 + Scripting got a new function. Name: now Action: Returns the current date/time. Syntax: now([format]) format: Either the usual date format, or "msecs" which returns the number of milliseconds that have elapsed since the system was started, up to 49.7 days. If missing the default system time format is used. return: The formatted current date/time. Examples: echo now(); // 27.04.2011 18:46:12 echo now("hh:nn"); // 46:12 echo now("yyyy"); // 2011 echo now("msecs"); // 1221097715 Notes: The slash stands for the current system date separator, which might be set to a dot. To force a slash you have to escape it with a backslash: echo now("dd/mm/yyyy"); // 27.04.2011 in Germany text now("dd\/mm\/yyyy"); // 27/04/2011 in Germany % SC hash: Now file are streamed rather than processed in a single chunk. With huge files this means far less CPU strain and quicker performance. Here's a little script -- using the function now(), see above -- that times md5-hashing of the currently focused file: // md5-hash the current file with timing $start = now("msecs"); $hash = hash("md5", , 1); $duration = format(now("msecs") - $start, "#,0"); status "hashing took $duration msecs: " . $hash * Configuration | Startup & Exit | Auto-backup configuration: Now also the file tag.dat is auto-backupped. Reason: This is probably the data file you would be most sad about losing. The option consequently has been renamed to "Auto-backup settings". More files might be included later. ! Menu View | Tab | Filter by Selection(s): Failed with filenames containing the sequence [*], e.g. test[3].txt. Fixed. v9.90.0803 - 2011-04-17 20:44 + Tweak to allow backgrounding file operations that were initiated by drag'n'drop from outside (= from another app into XYplorer). BJAllowDropFromOutside=1 v9.90.0802 - 2011-04-17 13:40 + Environment Variables: New XY-only environment variable: %commondesktop% = path to All Users Desktop Usage example: To show the contents of the Current User Desktop and the All Users Desktop in one list run this non-recursive multi-location name search through the Address Bar: %desktop%; %commondesktop%? / ! Menu View | Tab | Filter by Selection(s): Failed with filenames containing the character # (it was falsely taken as wildcard for digits). Fixed. ! Manage User-Defined Commands Dialog: Duplicating a Run Script command with multi-line script did not disable the "Script" edit field so the multi-line contents would not be correctly handled on editing. Fixed. ! SC download: An error condition was not reset so any download statement after the last failed download statement (on the current script stack) would error out as well. Fixed. v9.90.0801 - 2011-04-16 12:55 % Network browsing: Before, you would get long delays when browsing a folder with LNK files pointing to unavailable network locations, as well as when selecting such a file. These delays should be gone now. v9.90.0800 - 2011-04-15 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Scripting. Added Permanent Variables. They stay alive during the whole XYplorer session, or optionally even across sessions. +++ Aliases. Aliases now support arguments. +++ Command Line Interpreter. Now you can define a custom command line interpreter with arguments. +++ Bug fixes. v9.90.0711 - 2011-04-15 10:10 * Updated the help file. v9.90.0710 - 2011-04-14 21:33 + Aliases with arguments: Added placeholder <@0> to stand for the non-split input, i.e. it will be replaced with everything following the first space. Example 1: Define alias: @Greet=::echo "Hello, <@0>!"; Use alias: @Greet Don, Daisy, Huey, Dewey, and Louie Resolved alias: ::echo "Hello, Don, Daisy, Huey, Dewey, and Louie!"; * Aliases with arguments: From now on they are limited to a max of 9. So the possible placeholders go from <@0> (non-split input) through <@9>. Also, any abundant placeholders are not kept anymore, but removed. * Aliases: From now on, foreward slashes (/) are not allowed anymore in alias names. Your current aliases will be smoothly auto-upgraded to the new rules if necessary. Those slashes are reserved for future use... v9.90.0709 - 2011-04-14 12:42 +++ Aliases now support any number of arguments. In the alias definition the arguments are referred to by placeholders <@1>, <@2>, <@3> etc. On using the alias the argument values are passed as a comma-separated list, separated from the alias name by at least one space. Any surrounding spaces are trimmed. Then <@1> is replaced with the first argument, <@2> with the second, etc. Example 1: Define alias: @Greet=::echo "Hello, <@1>! It's <@2>!"; Use alias: @Greet Don, Daisy Resolved alias: ::echo "Hello, Don! It's Daisy!"; Example 2: To use the separator within an argument or have surrounding spaces you need to quote the argument: Define alias: @Greet=::echo "Hello, <@1>! It's <@2>!"; Use alias: @Greet Don, "Duck, Daisy Duck" Resolved alias: ::echo "Hello, Don! It's Duck, Daisy Duck!"; Notes: - From now on, spaces are not allowed anymore in alias names. Your current aliases will be smoothly auto-upgraded to the new rules if necessary. - If you define <@2> but pass only one argument, <@2> is kept unchanged. - If you define only <@1> but pass two arguments, the 2nd argument is ignored. - Quotes inside quoted arguments have to be doubled. - This feature takes aliases to the next level. + Configuration | Advanced | Scripting: Added option "Remember permanent variables". Has been available as tweak since v9.90.0705. + Configuration | Templates: Added section to define a custom command line interpreter and the arguments it should use. This is the recent CLI tweak elevated to UI level. Note that a checkbox has been added to control whether the custom CLI should be used. - Removed the following change from v9.20.0006 - 2010-06-22 20:39. Reason: The experiment failed, it's counter-intuitive. * Menu File | Rename (in List): Now, always the focused item is renamed, completely independent of the current selections. ! Renaming a folder in the list didn't update its caption in the tree correctly if "Show localized folder names" was enabled. Fixed. v9.90.0708 - 2011-04-13 09:21 + Tweak to define arguments for the custom Command Line Interpreter set by CustomCLI: General form: CustomCLIArgs=args [<command>] For example: CustomCLIArgs=/k <command> /b If CustomCLIArgs contains "<command>" (case-sensitive!), XY replaces it with the input from the Address Bar, if not, XY appends the input to the end. Note that when CustomCLI is empty (= CLI defaults to cmd.exe) and CustomCLIArgs is empty then command line switches /c and /k are automatically applied (see Help). * Menu Scripting: Renamed "List Permanent Variables" to "Permanent Variables". v9.90.0707 - 2011-04-12 14:59 + Configuration | Extended | Custom items in shell context menu | Folder Tree: Added one item: Hide Siblings from Mini Tree Removes all siblings (folders under same parent) of the current folder from the Mini Tree. + Configuration | General: Added option "Show localized folder names" to show special display names (that differ from the real path name) for certain folders in non-English Windows installations. Real Path Component Localized Folder Name ------------------------------------------- Examples from German Windows XP: Dokumente Gemeinsame Dokumente Eigene Musik Gemeinsame Musik Eigene Bilder Gemeinsame Bilder Eigene Videos Gemeinsame Videos Examples from German Windows 7: Program Files Programme Users Benutzer Public Öffentlich Program Files (x86) Programme (x86) Notes: - These localized folder names are currently only provided for the tree. Providing them for the list would be a major overhaul. - The real name is shown in the tree name hover tooltip. - When you inline-rename a folder with a localized name, the real name is used instead. v9.90.0705 - 2011-04-11 15:34 + Scripting got a new command. Name: writepv Action: Write all permanent variables to a file. Syntax: writepv [file] file: The file to write to. Can be relative to the current path. If empty it defaults to "<xydata>\pv.dat". Example: ::writepv; //write to "<xydata>\pv.dat" + Scripting got a new command. Name: readpv Action: Read permanent variables from a file. Syntax: readpv [file] file: The file to read from. Can be relative to the current path. If empty it defaults to "<xydata>\pv.dat". Example: ::readpv; //read from "<xydata>\pv.dat" Remarks: - The file should have been previously created by writepv, otherwise it will not match the expected format. - The PVs will be added to the current PVs. Current PVs of the same name will be overwritten. + Tweak to retain Permanent Variables (PVs) across sessions. ScriptRetainPVs=1 Scripting enters a new dimension... * Custom CLI: Now the Address Bar shows the icon of the current CLI. ! Scripting: SCs global and perm didn't check whether the given variable names were valid. Fixed. ! Some modal windows were not correctly positioned on a dual monitor system. Fixed. v9.90.0704 - 2011-04-10 20:06 + Tweak to define a custom Command Line Interpreter (CLI): CustomCLI=[full or portable path to EXE] This CLI is used when you use the DOS command syntax in location ports like the Address Bar, e.g. !dir. Note that if the tweak isn't used (left empty) the factory default CLI is cmd.exe (usually in C:\WINDOWS\system32\). ! List Management: Keyboard shortcuts were out of synch since "Recently Included Catalogs" was added. Fixed. v9.90.0703 - 2011-04-09 13:23 ! Preview: Would not preview text files anymore (since v9.90.0702). Fixed. v9.90.0702 - 2011-04-08 20:24 + Menu Scripting: Added command "List Permanent Variables". Pops a list of any Permanent Variables that are currently in memory. There's a right-click menu (see here below). + Scripting | Dialog "Stepping through a Script" | Variables listing: Now the right-click menu allows you to show the full variable value (useful when it does not fit in the list), and copy the name or value of each variable to the clipboard. - Show Value: Only the first 256 KB are shown for ASCII strings, the first 32KB for binary strings in Hex format. - Copy Name/Value: The menu shows the size of the string in characters (it's unicode, so one character needs two bytes). And, if this string is huge you might blow the clipboard. Just as an idea. ;) If the value contains Null characters these are removed before it is put on the clipboard. Reason: The clipboard cannot handle Nulls other than as string terminators, so the string would be cropped at the first Null. ! Trouble with foreward slashes in paths since v9.90.0700. Fixed. v9.90.0701 - 2011-04-07 14:21 +++ Scripting: Added Permanent Variables. Permanent Variables stay alive in memory during the whole XYplorer session, and hence can be easily shared between scripts. Permanent Variables are defined by means of a new command: Name: Perm Action: Define one or more variables as permanent. Syntax: perm variable(s) variable(s): A single variable, or a comma-separated list of up to 10 variables. If a variable has already been defined as global before, then the perm command makes it permanent. Examples: - Run the following scripts one after the other through the Address Bar: ::perm $foo; $foo = "hi!"; ::echo $foo; //"hi!" ::unset $foo; echo $foo; //$foo - These two scripts illustrate that you can "perm" a global variable even after it was set: ::global $foo; $foo = "hi!"; perm $foo; ::echo $foo; //"hi!" Remarks: - Permanent Variables are always also global. However, contrary to normal globals, they don't need to be initialized to the current scope in order to be accessed. They are always available everywhere. - To remove a Permanent Variable from memory use the "unset" command. Note: The "global" command will *not* make it non-permanent; to use "global" on a Permanent Variable is not necessary and has no effect. - The number of Permanent Variables is not limited. - It's recommended that you reflect the nature of a Permanent Variable in its name, for example by prepending $p_. It will make your code easier to read and maintain. + Scripting got a new command. Name: releaseglobals Action: Release all global/permanent variables from memory. Syntax: releaseglobals Examples: - These two scripts illustrate that the Permanent Variable $foo is gone after "releaseglobals": ::perm $foo; $foo = "hi!"; releaseglobals; ::echo $foo; //$foo Usage: - Theoretically Permanent Variables can get very heavy on your RAM. This is the way to free the memory. + Menu View | Tab: Added command "Filter Selected Items", so now it can have a keyboard shortcut. Default KS: Shift+Alt+J. See v9.90.0607 - 2011-04-04 20:30 for the description. v9.90.0700 - 2011-04-06 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Catalog. Added support for including multiple external catalogs. This is a corporate feature allowing teams to include multiple external sources for sharing items, and permitting management or leads to control who can modify these items. Items here include locations, drop targets, scripts, filters, searches, and programs. +++ Filter Selected Items. Have the file list show only a particular subset. Surprisingly useful little feature. +++ Bug fixes. v9.90.0610 - 2011-04-06 10:23 * The following INI keys have been renamed to match the new wording. - "mruCatalogsMerged" to "mruCatalogsIncluded" - "mruCatalogsMergedNow" to "mruCatalogsIncludedNow" * SC catalogload. Changed switch "m: merge" to "i: include" to match the new wording. Syntax: catalogload file, [switches=sp] switches: i: include catalog u: unload included catalog * Updated the help file. v9.90.0609 - 2011-04-05 21:11 + Configuration | Advanced: Added option "Address Bar relative to application path". Check to have the Address Bar resolve paths relative to app path. The new factory default is OFF (0): The Address Bar works relative to the current path. This behavior is standard in Explorer. This replaces the recently added tweak ABRelativeToCurrentPath (with reversed logic and name of the key (now ABRelativeToAppPath). * Address Bar: Now, on "Address Bar relative to application path" OFF, when you enter a relative path the Address Bar's edit field is automatically set to the resolved absolute path after the browsing is done. This absolute path is also stored in the dropdown MRU. v9.90.0608 - 2011-04-05 16:59 + Tweak to make the Address Bar work relative to the current path: ABRelativeToCurrentPath=1 Without the tweak it works relative to XY's app path. Notes: - This tweak allows you to quickly type a pathless file or foldername (that you know or assume is present in the current path) into the Address Bar and goto resp. open it on ENTER. The icon shown in the Address Bar will already tell you whether the typed item exists. - With the tweak ON paths entered through the AB are NOT added to the dropdown MRU because they wouldn't be useful in many other locations. - A similar feature had been unsuccessfully added in v7.90.0125 - 2009-02-21 13:18. The improvement now is that only the Address Bar is affected; the paths saved in the Catalog continue to work fully portable relative to XY's app path. - On success this tweak will be elevated to UI level, or maybe even hardcoded because it's so cool. + CKS | Miscellaneous | Go To: Now there are three commands: Open Folder in New Tab Open Folder in Other Pane (NEW) Open Folder in Other Pane in New Tab (NEW) Note that all three commands work for Tree and List, and in case of the List they work not only for folders but also for files (which will be focused and selected in the target tab). v9.90.0607 - 2011-04-04 20:30 + Visual Filters: Added command "Filter Selected Items" to the context menu of the Toggle Visual Filter toolbar button. It makes the list show only those items that are selected in the moment you apply the command. The filter is hardcoded to the caption "sel". The command has no keyboard shortcut since it doesn't exist in the main menu, but I needed it quickly and, well, since this is my program, I just added it. :) Hope you find it as useful as me. A nice thing about it is that the "Toggle Visual Filter" command will restore the filtered view even when the items are not selected anymore. Even across sessions. Even in other tabs or folders if their contents share the same filenames. * Catalogs: Replaced the term "Combine" by "Include". ! Find Files | Content Search: Error 6 (Overflow) when searching files of 2 GB or larger. Fixed. v9.90.0606 - 2011-04-04 15:32 + Configuration | Advanced: Added option "Support overlong filenames". Check it to support filenames with more than 260 characters. In NTFS, the total length can be up to 32,765 characters with each component limited to 254 characters. Support of overlong filenames includes file operations, file search, preview, thumbnails and many other things. You will find a detailed list in the Help file once it is updated. Note that this setting has been hardcoded to ON in previous versions. So now you got the option to turn it OFF for the first time. A reason to turn it off would be that you don't want to create files that other apps (which usually don't support overlong filenames) cannot handle. Note that Backup Operations are not affected by this setting! They ALWAYS support overlong filenames. * Catalogs: Replaced the term "Merge" by "Combine". So now it's "Combined Catalogs". * Going back and forward by History: Before, you got a "Create Location?" prompt when a historical path was not available anymore. Now you get the usual "Location currently not available" screen. v9.90.0605 - 2011-04-02 14:47 * Menu View: Renamed submenu "Current Tab" to "Tab". Renamed command "Open New Tab" to "New Tab" (seems to be common standard). * Menu View | Tab: Moved command "New Tab" to the top of the menu. v9.90.0604 - 2011-04-01 17:03 * Backup Operations: Heavy internal rewrite. The only difference you should note for now is that the total number of items is shown in the statusbar progress. You also might notice that now all necessary folders are created first, and only then all files are copied. Before, these processes were intermingled. This work is part of the road to XYcopy 2.0. % Backup Logging: The detailed log is now created in RAM and later written to file. Before it was written to a temporary file which later was copied to the final file. The new way reduces head movements and disk strain, and is faster. v9.90.0603 - 2011-03-31 11:57 * Catalogs: Now catalogs are stored in their own special folder "Catalogs", a new subfolder in <xydata>. Upgrading should work smoothly. You don't have to move your current catalogs into the new folder. But if you like a perfect setup you can do so and then manually adjust the paths in List Management "Recent Catalogs" and "Recently Merged Catalogs" (the latter has been newly added to this version). The easiest way would probably be to simply clear both lists, and load/merge catalogs from the interface -- business as usual. * Configuration | File Operations | Backup Operations | On name collisions: Revised the wording of the following options: OLD: Suffix number to copies Suffix number to existing NEW: Suffix increment to copies Suffix increment to existing Also changed this: OLD: Pop up stats when done NEW: Show summary report when done ! Catalog Merging: Icons of merged catalog needed a refresh. ! SC resolvepath, with the abs2rel flag set, returned a leading slash: // returned "\XY\XYplorer.exe" ::text resolvepath ("C:\Apps\XY\XYplorer.exe", "C:\Apps\", 1); However, this does not work well with the reverse function: // returns "C:\XY\XYplorer.exe" !! ::text resolvepath ("\XY\XYplorer.exe", "C:\Apps\", 0); Therefore from now on the leading slash is cut: // returns "XY\XYplorer.exe" ::text resolvepath ("C:\Apps\XY\XYplorer.exe", "C:\Apps\", 1); // returns "C:\Apps\XY\XYplorer.exe" ::text resolvepath ("XY\XYplorer.exe", "C:\Apps\", 0); v9.90.0601 - 2011-03-29 14:50 +++ Catalog Merging: Now you can merge any number of catalogs with the current catalog. Contrary to imported catalogs (using the Import command) merged Catalogs are read-only and kind of temporary: Their contents are not saved with the parent catalog, and you can remove them from the parent catalog at any time. On the other hand, as long you don't explicitly remove them they are retained across sessions (i.e. they are auto-merged with the current catalog on start up). Interface: - The category context menu features a new submenu "Merge" where you find commands to open a catalog to merge, and to Reload or Unmerge all merged catalogs. At the bottom of the menu you find a MRU list of recently merged catalogs. A click on any of them will merge it with the current catalog. If it is already merged, it will be reloaded (remerged). Above that MRU list, catalogs that are currently merged are shown with a checkmark. To unmerge any of them simply click on their name (as if to remove the checkmark). Both lists are limited to 8 items, although the number of merged catalogs is not limited. - Merged items are marked by a colored square symbol at the right end of the row. Currently 6 colors are predefined and cycled if more are needed, i.e. items from the 7th merge source will get the same color as items from the 1st source. Later you might get a way to define those colors yourself. - The items' tooltips show the merged source if any. Mechanics of Merging: - The current and the merged catalog are compared category by category. If a category with the same caption (case-sensitive) already exists the items inside the merged category are appended to the existing category. If a category does not exist yet, it is appended to the existing categories with all its items. - After merging you can move the position of the merged items just like normal items. But note that they will not be retained across sessions as the catalogs are freshly merged at next start up. - You may also alter the Properties of a merged item. However, also these edits are not retained across sessions! You are warned about this in the Edit dialog. - When XYplorer is closed with merged catalogs, their names are stored in the INI file (but their contents are not saved), and they are freshly reloaded (remerged) on next start up. Remarks: - On exporting merged categories (or categories containing merged items), they will be locally saved as normal catalogs. - Also when duplicating merged categories or items, the "merged nature" is not inherited. - The MRU list of merged catalogs is stored in a portable manner, so you can carry merged catalogs around on a USB stick without problem (the drive letter is not hard-coded). Usage: - This is mainly a company-oriented feature. Employees can access read-only catalogs that are centrally stored on a server and thus include extended functionality such as scripts, links, drop targets, text data, etc. right into their XYplorer interface. - However, the feature also provides an elegant way to temporarily load read-only functionality into the interface. + SC catalogload enhanced. Now this command can be used for (un)merging catalogs. Syntax: catalogload file, [switches=sp] switches: m: merge u: unmerge Examples: ::catalogload "catmerge.dat", "m"; ::catalogload "catmerge.dat", "u"; + SC writefile enhanced. Added new value "r" (rename) for parameter on_exist. Name: WriteFile Syntax: writefile(filename, data, [on_exist], [mode]) on_exist: r: create new file/if existing: rename by appending the default suffix as defined in Configuration | Templates | Incremental Suffix. return: 0 = failed 1 = data written 2 = file existed 4|filename = file was renamed | new filename For example, if "a.txt" exists in the current folder, a new file "a-01.txt" is created if the Incremental Suffix is "-00": ::text writefile("a.txt", "ab", "r"); The text window will shown a return like this including the full filename. The "5" (1 OR 4) means "data written" and "file was renamed": 5|E:\Test\a\K\1-01.txt ! Thumbnails: Changing the time zone or a change from or to daylight saving time would stimulate thumbnails to be freshly created instead of being read from the disk cache (because date stamps did not match anymore). Fixed. Note that this fix only affects newly created / cached thumbnails. It is not possible to fix this for existing caches because XY doesn't know in which time zone they have been written. ! List: With "Show Age" enabled in Details view, an age of "-1 secs" could be claimed. Fixed. ! Auto-Refresh: Improved on files created by other apps like WinZip. v9.90.0600 - 2011-03-26 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Catalog. Added Import/Export functionality. +++ Scripting. New functions round, floor, and ceil. +++ Scripting. Added integer division (\), modulo (%), and exponentiation (^) operators. +++ Verify. On backing up files this new option provides a very fast byte-by-byte verification of each copy for ultimate reliability. +++ Bug fixes. v9.90.0519 - 2011-03-24 09:50 * Manage User-Defined Commands Dialog: Now ESC resets any dirty Command Properties (asterisk shown). Only when all is clean ESC will quit the dialog without saving. * Manage User-Defined Commands Dialog: Restored the behavior pretty much to what it was before v9.90.0515, minus a bug where dirty settings were lost instead of applied when changing the Category. v9.90.0518 - 2011-03-23 15:54 * Manage User-Defined Commands Dialog: Now you are prompted before you lose un-applied changes to Command Properties when switching Categories or Commands. v9.90.0517 - 2011-03-23 14:08 * Raw View: Slightly reorganized the controls interface. The ASCII and Binary checkboxes now are always enabled so you can control what will happen before you select a file. * File Find: Now when a locked "Search Results" tab is unlocked the "Search Results" caption is auto-removed. Otherwise it would be irritating when you later used the tab as normal browsing tab. v9.90.0515 - 2011-03-22 22:28 + Tweak to auto-optimize the Catalog, i.e. to auto-collapse non- current categories: AutoOptimizeCatalog=1 * Manage User-Defined Commands Dialog: Re-added the buttons Apply and Reset to the Command Properties section. They had been removed in v8.80.0014 - 2010-01-09 16:12, but now I think it was a bad idea. ! Scripting | Math: The following line was not parsed correctly (the precedence of ^ over / was not honored): echo -1/4^2; //-0.0625 Fixed. v9.90.0512 - 2011-03-22 11:39 + Scripting: Added integer division (\) and modulo (%) to the math operators. With integer division, the portion of the result after the decimal point is lost. Modulo is the remainder of integer division. Examples: echo 5 \ 2; //2 echo 5 / 2; //2.5 echo 5 % 2; //1 echo 2147483648 \ 2147483647; //1 echo 2147483648 % 2147483647; //1 echo 5.9 \ 2.1; //3! Numbers are rounded before the division! echo 5.9 % 2.1; //0! Numbers are rounded before the modulo! echo 7.9 % 2.5; //2 (8 % 3 = 2) echo 7.9 \ 0.4; //ERROR: Division by zero. echo 7.9 % 0.4; //ERROR: Division by zero. + Scripting: Added exponentiation (^) to the math operators. echo 2 ^ 3; //8 echo 4 ^ 0.5; //2 echo 4 ^ -1; //0.25 ! SCs ceil and floor did not handle non-fractional numbers right. Fixed. echo floor(5); //5 echo ceil("-28.0"); //-28 echo ceil("a"); //0 * Updated the help file. v9.90.0510 - 2011-03-21 19:53 ! Catalog: Fixed another issue concerning the new import/export functions. v9.90.0509 - 2011-03-21 13:18 + Configuration | File Operations | Backup Operations: Added option "Verify". Tick it to verify the correctness of each copy operation on the fly. Source and target file are compared byte by byte. This takes some time, of course, but it is clearly faster than hashing and more reliable. If a verification fails you are prompted to continue or abort the backup operation. You additionally get the option to continue without further such messages. Notes: - The verification is only done when bytes are copied, i.e. when a new file is created in the target or when an existing file is overwritten. No verification is done when there is no copying, e.g. when overwriting an existing target file is skipped because the user configured name collision behavior like this. - Verifying a file copy is not necessary under normal conditions. Windows copying is reliable. However, when copying over a network, things can get interesting. If you are backing up files over a shaky network you might want to use the new Verify feature for ultimate reliability. + SC backupto enhanced: Added parameter verify. Syntax: backupto location, [source], [on_collision], _ [preserve_dates], [create_log], [pop_stats], _ [skip_junctions], [verify] verify: Verify each copy operation on the fly. Empty = Use global setting from Configuration. 0 = Don't. 1 = Do. + Scripting got a new function. Name: floor Action: Rounds fractions down. Syntax: floor(number) Examples: echo floor(3.7); //3 echo floor(-3.7); //-4 echo floor(0); //0 + Scripting got a new function. Name: ceil Action: Rounds fractions up. Syntax: ceil(number) Examples: echo ceil(3.2); //4 echo ceil(-3.2); //-3 echo ceil(0); //0 * Menu Edit | Paste Special | Paste Folder Structure: Now it tolerates pasting files; their parent folder will be used. Before, pasted files were simply skipped. ! SC new: The following line did only create the folder "new" in the current path: new "sub\new", dir; Fixed, now it creates the subpath "sub\new" as expected. v9.90.0505 - 2011-03-20 16:57 + Scripting got a new function. Name: round Action: Rounds a number. Syntax: round(number, [precision=0]) number: Number to round. precision: Number of digits after the decimal point. precision can also be negative or zero (default). A negative precision refers to digits before the decimal point. Examples: echo round(172.7368, -3); //0 echo round(172.7368, -2); //200 echo round(172.7368, -1); //170 echo round(172.7368, 0); //173 echo round(172.7368, 1); //172.7 echo round(172.7368, 2); //172.74 echo round(172.7368, 3); //172.737 echo round(172.7368, 4); //172.7368 * SC folderreport enhanced. New named argument for parameter type: type: dirsrel: List of subfolders relative to current folder. Example: text folderreport("dirsrel", "r", , "r"); * SC replace enhanced. Added optional parameters start and count. Syntax: replace(string, search, replacement, [matchcase], _ [start=1], [count=-1])) start: Position from left where the replacement starts. count: Maximal number of replacements. Examples: echo replace("aaa", "a", "b", , 2); //abb echo replace("aaa", "a", "b", , 2, 1); //aba echo replace("aaa", "a", "b", , , 1); //baa * SC recase enhanced. New named argument for parameter mode: mode: invert: Invert the case of each letter. Example: text recase("the caMel can't.", "invert"); //THE CAmEL CAN'T. * Menu Edit | Paste Special: Changed some captions. OLD: Create &Shortcut(s) Create &Hard Link(s) Create Sy&mbolic Link(s) Create &Junction(s) NEW: Paste As &Shortcut(s) Paste As &Hard Link(s) Paste As Sy&mbolic Link(s) Paste As &Junction(s) ! Tree: In Vista/Win7 the icons of folders with HIDDEN attribute were not shown ghosted anymore for a couple of versions. Fixed. ! Catalog: Fixed various glitches (and some crashes) concerning the new import/export functions. v9.90.0504 - 2011-03-20 09:15 + Catalog: Added Import/Export functionality. Find the new commands "Import Catalog..." and "Export Category..." in the Catalog context menu under the submenu "Catalog". Import Catalog: Here you can import other catalogs into the current catalog at the position right before the currently selected category. Export Category: Here you can export the current category as a self-contained catalog. This one-category-catalog can later be imported, but also be loaded stand-alone. This feature provides a new elegant way of sharing extended functionality (scripts, filters ...) between users. ! Rich Copy: Did not work when the copied items were found only in sub-sub-folders (or deeper) of the rootpath instead of just in subfolders. Fixed. BTW, this bug did not surface in Win7 because this OS handles the issue internally. ! Icons were not shown on certain exotic DPI settings under Vista/Win7. Fixed. v9.90.0503 - 2011-03-17 10:57 * Configuration | File Operations: Both "Enable background processing" and "Queue file operations" are factory default from now on. (Nothing changes when upgrading.) ! Select-on-paste did not work reliably when copying/moving items by dragging them on tab headers. Fixed. v9.90.0502 - 2011-03-16 14:34 + Date Variables: Now you can pass an optional extra argument to shift the date to the past or the future by a certain number of time units. The following script line for example will show the modified date of the current file shifted 8 hours into the future: echo <datem +8h yyyymmdd_hhnnss>; Of couse, this works also for date variables in Batch Rename patterns. The following pattern will rename all selected files to their current base names appended with the files' created dates shifted into the past by 8 days: *-<datec -8d yyyymmdd> Practical usage: Suppose you come from a holiday in a different time zone, but forgot to adjust the clock in your digital camera. Now all your photos have an incorrect time stamp (in relation to the local time of the place you visited). You now want to rename all your 2000 photos in one go to have the date when you took each photo right in the filename. This pattern is an example that will do the job for files that have an EXIF date embedded: Chicago-<dateexif -8h yyyymmdd_DDD_hh-nn-ss> This pattern will retrieve the date from the Created date property: Chicago-<datec -8h yyyymmdd_DDD_hh-nn-ss> Supported time units are: y = years m = months w = weeks d = days h = hours n = minutes s = seconds * Rename Special: Renamed the following commands: - OLD: Replace Umlauts (ä > ae ...) NEW: Replace Umlauts - OLD: Remove Diacritics (ä > a ...) NEW: Remove Diacritics ! Rename Special: A* A*.* and Aaa Aa.* would raise an error on file names like "name(1).png", i.e. where the last character is a word separator (since v9.90.0403). Fixed. ! UTF-8: Improved detection logic. Some false positives were possible. Fixed. v9.90.0501 - 2011-02-24 12:30 + Menu File | Duplicate: Copy Here As... and Move Here As... now support variables that refer to the selected items individually. For example: Pattern: *_<datem yyyymmdd>.? Sources: Che.txt, Fidel.txt Targets: Che_20100918.txt, Fidel_20101111.txt + SC copyas: The above enhancement also concerns copyas. Now can run a line like this to backup each item with its modified date in the target name: ::copyas '*_backup_<datem yyyymmdd>.?'; Note that you have to pass the argument in single quotes to make it work as expected -- otherwise the date variable is resolved to the modified date of the *current item* before the argument is passed to CopyAs. * Configuration | Thumbnails: Renamed "Show thumbnails for non- picture files" to "Enable shell thumbnails". Reason: With the appropriate CODECs installed ticking this option enables XYplorer to show thumbnails of RAW image formats (e.g. CRW, DNG, NEF). * Thumbnails: From now on, if all other means failed thumbnails creation will automatically try to have the Shell create the thumbnail -- IF "Configuration | Thumbnails | Enable shell thumbnails" is ticked. v9.90.0500 - 2011-02-21 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Reporting. Enhanced reporting functionality through powerful new scripting commands folderreport and catalogreport. +++ Scripting. Scripting now supports Foreach Loops. +++ Safety. New Auto-backup Configuration feature, a smart little safety precaution to protect you from mishap. +++ Bug fixes. v9.90.0405 - 2011-02-21 09:29 ! Visual Filters: Changing the filter did not always update a list in a non-Details view. Fixed. * Updated the help file. v9.90.0404 - 2011-02-18 12:12 + Color Filters: Color Filters by Size ("size:"-selector) now also work on folders. Note that "Configuration | General | Show folder sizes in file list" has to be ticked to make it happen. + SC folderreport enhanced: Types "tree" and "dirs" now support a format template. The template is appended to the "dirs"/"tree" selector separated by a ":" (colon), and it fully supports the syntax of the template argument in SC report! Examples: - Recursive report on the current folder: ::text folderreport("dirs:{fullname}; {size kbr}; _ {modified yyyy-mm-dd}", "r", , "r"); - Non-recursive report on C:\Temp: ::text folderreport("dirs:{name} ({size} bytes)", "r", "C:\Temp"); - Recursive tree report on C:\Temp: ::text folderreport("tree:{name} ({size mb}, {count} items)", "r", "C:\Temp", "r"); Remarks: - When the template contains the {size} field the size of each listed folder is freshly calculated! This can take time with large folders. * SC folderreport enhanced with a new flag: flags: j: Include Junctions. + SC report: Added special field {Count}. Returns the (recursive) count of items (files and folders) contained within a folder. For files it returns nothing. Note that calculating the count can take time with large folders. Example, using the meta-field {dir} to fork returns between dirs and files: ::text report("{name}{dir , <DIR> with {count} items| ({size kbr})}<crlf>"); ! Remember most-recently-used lists | Apply To...: Not remembering Rename Special did not work completely yet. Fixed. v9.90.0403 - 2011-02-17 11:00 + Configuration | File Operations | Backup Operations: Added option "Skip junctions". Tick it to exclude folder junctions and their contents from the backup. Note that if this option is OFF (which is the factory default) then folder junctions are not backed up as junctions but as if they were real folders with contents. In other words, the junctions are resolved before the copying. This is in accordance with Explorer behavior. + SC backupto enhanced: Added parameter skip_junctions. Syntax: backupto location, [source], [on_collision], _ [preserve_dates], [create_log], [pop_stats], _ [skip_junctions] skip_junctions: Skip folder junctions and their contents. Empty = Use global setting from Configuration. 0 = Don't. 1 = Do. + Tweak to force shell preview for file types of your choice. For example (list of extensions separated by dots): DoPrevShell=dng.nef This will force shell preview for DNG and NEF files on the Preview tab and with Thumbnails. ! Rename Special: A* A*.* and Aaa Aa.* would drop the last character in file names like "name_1.png". Fixed. v9.90.0402 - 2011-02-16 09:27 + Configuration | Startup & Exit: Added "Auto-backup configuration". If ticked the current INI file is auto-backupped to the new folder <xydata>\AutoBackup before it is modified if the last auto-backup is older than 24h. Factory default is ON. + CKS | Miscellaneous | Focus: Added command "View First Selected Item" (#1049). In the List, moves the first selected item into view (top position). Also focuses the list if necessary. If no item is selected nothing is done. ! Scripting: SC sel did not update the list fast enough which could lead to endless tight loops (experienced as program hang by the user) depending on the script structure. Fixed. ! Shell error when opening a SymLink to an executable file. Fixed. v9.90.0401 - 2011-02-15 14:13 ! Most-recently-used lists were not loaded from INI when upgrading to v9.90.0302 or later. Fixed. v9.90.0400 - 2011-02-15 12:00 = MAINTENANCE RELEASE. +++ Bug fixes. v9.90.0305 - 2011-02-14 14:16 ! Info Panel: Crash on opening the Version tab when a file with version info is selected (since v9.90.0304). Fixed. v9.90.0304 - 2011-02-13 11:26 + Scripting: Added foreach loops. General syntax: foreach($variable, listoftokens, [separator=|]) { statement(s); } Remarks: - $variable is the variable which receives the value of the next token in each round of the loop. You can use a new variable or an already used one, it does not matter. - The last value of $variable remains even after the foreach loop. - listoftokens is a string of tokens, separated by a separator. - The separator defaults to "|" (pipe), but can be set to anything, also multi-character strings. - Surrounding spaces are not trimmed off on each side of the tokens. - If listoftokens is nothing ("") the loop will still be executed one time with $variable set to nothing. - SC break and SC continue are supported. Example 1: // returns 3 strings (moon, sun, venus): foreach($token, "moon,sun,venus", ",") { echo $token; } Example 2: // nested foreach loops foreach($token, "a|b|c") { foreach($token2, "1,2,3", ",") { echo $token . $token2; } } Example 3: // walk selected list items foreach($token, <get selecteditemspathnames |>) { echo $token; } ! Catalog: For a couple of versions newly added items defaulted to colors Black on Black. Fixed. v9.90.0303 - 2011-02-12 11:34 * Rename Special: The popup list "Items that have not been renamed" has been renamed to "Items that could not be renamed" and now only features items where a rename should have happened but failed for some reason. So items that were not renamed because they simply did not match the rename pattern are not listed anymore. ! Remember most-recently-used lists | Apply To...: Not remembering history did not work in v9.90.0302. Fixed. v9.90.0302 - 2011-02-11 10:22 * Configuration | Startup & Exit: The following options - Don't save history - Don't save tabs - Don't save most-recently-used lists have been replaced by the global - Remember most-recently-used lists accompanied by an "Apply To..." button which offers some granularity. Note that, of course, those lists are only remembered when you actually save the settings, either manually or automatically on exit (tick "Save settings on exit"). v9.90.0301 - 2011-02-09 15:49 + Toolbar | Find by Labels: Now you can configure the button to - "Search Everywhere" - "Search This Branch" (including subfolders) - "Search Here" (not including subfolders) The options are found at the bottom of the button's dropdown menu. ! Menu Edit | New: The "New Folder" and "New Text File" commands took the path for the new folder from the tree even if the tree was locked or blocked (because the path could not be displayed in the Tree for whatever reasons). Fixed. Now the path is taken from the list unless the "New [...]" command is invoked directly from within the Tree. v9.90.0300 - 2011-02-06 20:00 = MAINTENANCE RELEASE. +++ Bug fixes. v9.90.0207 - 2011-02-05 14:19 ! Menu Favorites: Toggle Favorite Folder and her sisters did not work anymore on special paths (e.g. Desktop\Blah) since about 3 weeks ago. Fixed. v9.90.0206 - 2011-02-04 19:10 + Toolbar | Toggle Visual Filter: Now the button's context menu features two settings that are only available here: - Persist Visual Filters Across Folders - Toggle On Same Filter The latter one is new. If checked then applying the same filter to a filtered list again will remove the filter. So now you can have e.g. a Catalog item "|*.txt" that works as a VF toggle. % List paints faster when toggling Visual Filters. ! Folder Reports: Minor sorting bug since v9.90.0204. Fixed. v9.90.0205 - 2011-02-04 12:38 + Scripting got a new function. Name: catalogreport Action: Creates a report on the Catalog. Syntax: catalogreport(template_category, template_item, _ [currentcategory=0]) template_category: Template for categories. The following variables are supported: {Caption} = Caption field. {Location} = Location field ("Description" in Categories) {RGB Text} = Text color in RRGGBB format. {RGB Back} = Background color in RRGGBB format. template_item: Template for items. Variables see template_category above. currentcategory: 0: [Default] Report on whole catalog. 1: Report on current category. return: The report. Remarks: - The variables are case-sensitive: "{caption}" won't work. - If a field is empty the variable is left unresolved. - If "Apply Colors" in Catalog Properties is OFF then the color variables are left unresolved. - Multi-line data in location fields (i.e. scripts) are folded into one line. The CR+LF sequences are replaced by PILCROW+TAB. Examples: ::text catalogreport("{Caption}","- {Caption}: {Location}"); ::text catalogreport("Category: {Caption}", _ " {Caption}, {Location}, {RGB Text}, {RGB Back}"); * SC folderreport enhanced: type: dirs: List of subfolders (like a flat Tree structure). flags: p: Prompt to view output file. Only for target "file". v9.90.0204 - 2011-02-03 10:52 + Scripting got a new function. Name: folderreport Action: Creates a report on a folder. Syntax: folderreport([type=dump], [target=clipboard], [folder], _ [flags], [outputfile]) type: Type of report, one of the following: dump: [Default] Classic directory dump. bcsv: Basic info to CSV. ecsv: Extended info to CSV. tree: Tree structure only. dirs: List of subfolders (like a flat Tree). list: The current list contents. target: Target of report, one of the following: c, clipboard: Copy to clipboard. f, file: Write to file. p, printer: Print. r, return: Return data to running script. folder: Folder to report on; defaults to the current folder. flags: a: Append to output file. Only for target "file". p: Prompt to view output file. Only for target "file". r: Recurse subfolders. Not for type "list". v: Include version information. Only for types "dump" and "bcsv". outputfile: Output file. Only for target "file". return: The report data (if target is "return"). Remarks: - The function provides scripting access to the commands available on the Report tab in the Info Panel. - The behavior is not fully controlled by scripting, but also by settings in Configuration | Report, and in Info Panel | Report. However, the properties that *are* controllable by scripting overwrite the interface settings. E.g. the state of the "Include subfolders" checkbox has no impact on the behavior of folderreport; this property is only controlled by the "flags" parameter. Examples: ::folderreport("dump", "clipboard", "E:\Test\", "r"); ::folderreport("dump", "file"); ::folderreport("dump", "file", <xypath>, "a", "C:\temp\test.txt"); ::folderreport("bcsv", "c", "C:\Program Files\XYplorer\", "v"); ::text folderreport("dump", "r", "C:\Programme\XYplorer\", "v"); v9.90.0203 - 2011-02-02 15:02 + Info Panel | Report | Current List: Now names with wide characters (Unicode) are supported. + Info Panel | Report | Current Folder: Added a 4th report type "Basic info to CSV". It only returns PathName, Size (Raw), and Modified Date for each file item (folders are not returned, just like in "Extended info to CSV"). * Info Panel | Report | Current Folder: Simplified the Version choices under "Classic directory dump". Now it's always the String File Version. * Rename Special: Now, by smart internal auto-resorting of the rename jobs, you can batch rename also nested bulks (that contain folders and their contents, both being renamed). ! List: For a couple of versions the current file (shown in Info Panel) got reset when lasso-selecting other files in the list. Fixed. v9.90.0202 - 2011-02-01 20:50 + Info Panel | Report | Current Folder: Now names with wide characters (Unicode) are supported. ! List: Drawing glitch when renaming file in non-details list. Fix #2. v9.90.0201 - 2011-01-31 19:50 ! List: Drawing glitch when renaming file in non-details list. Fixed. v9.90.0200 - 2011-01-31 12:00 = MAINTENANCE RELEASE. +++ Junctions and Symbolic Links. Support for creating junctions and symbolic links. +++ Bug fixes. v9.90.0113 - 2011-01-31 14:39 ! List: Drawing glitch when renaming file in scrolled list. Fixed. v9.90.0112 - 2011-01-31 11:53 * Menu Edit | Move/Copy/Backup To: The "Tabs" submenu now features the tabs of both panes. * XYcopy: Attempt to fix popping on wrong monitor. Updated to 1.00.0031. ! Configuration window popped on wrong monitor (in multi-monitor setup). Fixed. v9.90.0111 - 2011-01-30 20:05 * XYcopy: Minor changes. Updated to 1.00.0030. ! Various minor drawing glitches fixed. v9.90.0110 - 2011-01-30 13:55 + Tweak for better reuse of existing tabs. Set to 1 to autoselect the first tab with a matching locked homezone when the current tab is locked. Tabs are scanned from left to right, first in pane 1, then in pane 2. TabBinding=1 Note that the feature is not applied when you force opening the location in a new tab (e.g. by holding SHIFT). ! Tags: Sort order wrong in non-Details views when sorted by tags column (Label, Tags, Comment). Fixed. v9.90.0109 - 2011-01-29 10:40 + Configuration | Undo & Action Log | Prompt before undo/redo: Added tweak to customize the number of minutes in "If action is older than 10 minutes": PromptUndoAfterMinutes=10 Factory default is 10. + Menu Edit | Paste Special: Renamed "Create Folder Junction(s)" to "Create Junction(s)". KISS. ! Info Panel: Selecting Preview tab did not trigger preview since v9.90.0106. Fixed. ! Tags: In certain constellations Tags (Labels, Tags, Comments) would not display in their List columns in Details mode. Fixed. * Updated the help file. v9.90.0108 - 2011-01-28 15:27 * Configuration | Tags: Renamed button "Database Clean Up..." to "Database Check..." and reorganized the button's logic somewhat. ! Sort folders always ascending: Incorrect sort order at the top of the list when there were no folders at all. Fixed. v9.90.0107 - 2011-01-27 20:20 + Configuration | General: Added option "Sort folders always ascending". Tick it to have the folders always sorted by name in ascending order. Especially useful if also "Keep folders on top" is ticked. Note that "Mixed sort on date columns" will overwrite this setting for the Date columns. v9.90.0106 - 2011-01-27 14:28 + Menu Edit | Paste Special: Added command "Create Symbolic Link(s)". Creates a symbolic link (aka symlink or soft link) to the item currently on the clipboard, in the current location. It also works for more than one item at a time. Notes: - This command needs Vista or later! - Contrary to Folder Junctions this command can be applied to files (not just folders). - Currently no relative symbolic links are supported. It might come later... - The targets of Symbolic Links are shown as "Junction Target" in the interface (File Info Tips, List context menu) just like the targets of Folder Junctions proper, in order to keep things a bit tighter. - Also the Color Filters make no difference between Symbolic Links and Folder Junctions, since all share the FILE_ATTRIBUTE_REPARSE_POINT file attribute. - And, consequently, when you uncheck "Show Junctions" in Configuration | General, then also any Symbolic Links are hidden. + Menu Edit | Paste Special: Added command "Create Folder Junction(s)". Creates a folder junction to the folder currently on the clipboard, in the current location. It also works for more than one folder at a time. Note that it does not work on files. + New variable <get visualfilter [pane=a]>. Returns the currently active visual filter (or nothing if none). The optional "pane" argument can be: a = [default] active pane i = inactive pane 1 = pane 1 2 = pane 2 For example: <get visualfilter> //active pane's visual filter <get visualfilter i> //inactive pane's visual filter As always, SC get supports the same argument: echo get("visualfilter"); //active pane's visual filter echo get("visualfilter", i); //inactive pane's visual filter v9.90.0104 - 2011-01-26 15:28 + Command Line: Now the /script switch to run a script directly from the command line also works in a re-used previous instance. So if you really want you now can feed scripts into the running instance via command line. * Tree: Revised the experiment concerning browsing hidden paths (v9.90.0102). Now you can browse any destination in the List even if it is hidden by user settings, BUT the Tree will not follow. This solves numerous problems that did arise with a Tree that's inconsistent with the user settings. v9.90.0102 - 2011-01-25 20:09 * Configuration | Startup & Exit: Now, if "Open command line start path in new tab" is ON and "Don't save tabs" is ON then no new tab is opened on startup when a command line start path is given. This avoids a useless "(My)Computer" background tab. * Tree: Experimentally, in Maxi Tree mode, you now can go to items that are not visible by configuration (because they are HIDDEN, SYSTEM, or JUNCTION, and you opted to hide those items). Before you would have gotten a message like this: You can't access C:\Donald\Data\Mozilla\Firefox\ Reason: You opted in configuration to not show HIDDEN items. Notes - In Mini Tree mode this has always been possible anyway. - The visit is only temporary. Once you refresh the Tree the current node will vanish and selection will jump to the next available (= conforming to user settings) parent node. v9.90.0101 - 2011-01-24 20:06 + UDC | Open With: Added the new variable <title> which is only meaningful when you call multiple instances. You can use it like this, for example: "winzip32" -a "<title>.zip" <items> This will add all currently selected items, each to an archive auto-named to the title (= base and extension) of the respective item. + Variable <get [Command ID] [ReturnOnTrue = 1] [ReturnOnFalse = 0]> now also supports the following Command IDs: #660 = Show Address Bar #661 = Show Toolbar #662 = Show Tab Bar #663 = Show Navigation Panel #664 = Show Catalog #665 = Show Info Panel #668 = Show Tree #669 = Show Background Bar #670 = Show Status Bar #685 = Wide Info Panel Example: echo get("#665", "IP Visible", "IP Hidden"); * Command Line Switches: Now the app is more tolerant about the order of switches and attempts to parse a command line correctly where the startpath not given as the last argument. ! Menu Edit | Select | Select By Selected Type(s): If the Type of a selected extension contained the character "#" ( e.g. "Visual C# Source File") then the command would not work as expected. Fixed. v9.90.0100 - 2011-01-16 12:00 = MAINTENANCE RELEASE. +++ Preview and Find Files by Contents now support UTF-8 encoded text files (with or without BOM). +++ Bug fixes. v9.90.0021 - 2011-01-15 14:17 * Updated the help file. ! Raw View | Extract Text | International: Did not work alright in Russian and probably some other locales (two letters were not recognized). Fixed. v9.90.0020 - 2011-01-14 20:17 + Tweak to limit the column width by Autosize Columns to a certain value (in pixels), e.g. 200 pixels: AutoSizeColumnsLimit=200 - Removed this feature from v9.90.0012: List: Autosize columns now increases the Tags and Comment columns width to maximally 200 pixels. Since tags and comments can have any length, some arbitrary limit has to be enforced here. - Removed tweak to show tags and comments in view Details with Thumbnails in multiline format: CommentMultiline=1 Reason: This setting works so well, it is now hard-coded! * List: Autosize Columns now works alright for the Comment column when it is in multiline mode. * List | Comment column: Now in multiline comments that have to be shown in a single line, the pilcrow character (¶) is replaced by two spaces for better looks. v9.90.0012 - 2011-01-14 11:20 + Version information in Info Panel and File Info Tips now supports Unicode. * List: Now when a new file or folder has been added to the bottom of the list, the sorting currently sorted column turns "dirty". In that state pressing the column header will not reverse but refresh the current sorting. * List: Now, when the sorted column is "dirty" i.e. the sort order is probably not perfect (e.g. because a new folder has been added to the bottom of the list), the little pyramid symbol changes its color (to color "Marked Text 1") to show the dirtiness. ! Find by Tags: Quick search for tags disregarded the flag to do a non-recursive search (since 20101217). Fixed. Examples: ?tags:"melanoxylon" / = do not include subfolders ?tags:"melanoxylon" /r = do include subfolders ?tags:"melanoxylon" = use the setting in Find Files + Toolbar | Find by Tags: Now you can configure the button to - "Search Everywhere" - "Search This Branch" (including subfolders) - "Search Here" (not including subfolders) The options are found at the bottom of the button's dropdown menu. * List: Autosize columns now increases the Tags and Comment columns width to maximally 200 pixels. Since tags and comments can have any length, some arbitrary limit has to be enforced here. + Tweak to show tags and comments in view Details with Thumbnails in multiline format: CommentMultiline=1 * Configuration | Startup & Exit | Don't save most-recently-used lists: Now this setting also applies to Find Files Name and Location. v9.90.0010 - 2011-01-13 15:25 + Menu Favorites: Added command "Reload Tags Database" by which you can reload the tags database from disk, aka revert to saved. Especially useful when XYplorer is run in a company where many users share read-only access to a common tags database which can be altered only by the administrator. + Admin Settings: Added another thing to hide resp. disallow: eAPDisallow_Write_Tags = 512 This setting in Admin.ini will disallow the user to modify tags (Labels, Tags, and Comments): [Settings] Profile=512 + Menu Edit | Move/Copy/Backup To: Now dbl-clicking a destination in the destination list triggers the default action (Move, Copy, or Backup) with that destination. * Folder Sizes: Rewrote large parts of the folder size calculation. Now you can switch Tree nodes smoothly while the calculation for the current folder is still in progress. ! Find Files: A name search (e.g. via Address Bar) would return *all* files regardless of their name if the Name filter on the Find Files tab was unchecked. Fixed. v9.90.0009 - 2011-01-12 12:34 + Find by Tags: A new shorthand syntax (for tags only) allows for easily OR-ing a bunch of tags: You can use the | (pipe) as an OR operator, just as you can already use the comma as an AND- operator. Name Pattern Find all items with --------------------------------------------------------------- tags:cats,dogs,ants tag "cats" AND "dogs" AND "ants" tags:cats|dogs|ants tag "cats" OR "dogs" OR "ants" Notes - You cannot mix commas and pipes. - When manually entering tags into "Find by Tags..." you don't have to enter the pipes. When "Match all" is unticked your commas will be auto-converted to pipes. % Find by Tags: Increased the speed by increasing the cleverness of the search algorithm. v9.90.0007 - 2011-01-11 15:31 + Toolbar | Find by Tags: The commands "Tag List..." and "Find by Tags..." now offer a "Match all" checkbox. Tick it to AND-combine all entered/ticked tags (= all must match), or leave it unticked to OR-combine them (= at least one must match). Note that the new factory default for these interfaces is OR- combine (unticked). ! Environment Variables: The rule "An environment variable that returns a full path is not resolved when found within a path." was not correctly applied to special paths, e.g. a path like "Desktop\%AppData%\". Fixed. % Mini Tree: If "No network browsing on startup" is enabled and the last path was on a network location then the next startup will be NOT be auto-redirected to "Computer" as in Maxi Tree. It's not necessary in Mini Tree mode. v9.90.0006 - 2011-01-10 14:00 % Mini Tree: The Mini Tree now is tolerant about potentially unavailable network locations. They will simply be added to the Mini Tree without any check for existence. % Maxi Tree: If "No network browsing on startup" is enabled and the last path was on a network location then the next startup will be auto-redirected to "Computer". % Maxi Tree: If "Remember state of tree" and "No network browsing on startup" are both enabled then any network locations are not expanded in the Tree on startup. > Recommended settings to speed up browsing and startup when you often have to deal with unavailabe network locations: In Configuration: - OFF: General | Check existence of subfolders in tree | In network locations as well - ON: Startup & Exit | No network browsing on startup And a Tweak (will speed up icon retrieval in List Management, Catalog, and some other places of the interface): - ON: GenericIconsForNetworkLocations = 1 % Folder Size Calculation: Now when you click on another tree folder while folder sizes are being calculated for the current folder, the calculation is stopped. You have to click again to do the browsing. v9.90.0005 - 2011-01-09 17:52 ! List | Context Menu | Rename Special: The commands "Unicode to UTF-8" and "UTF-8 to Unicode" were dysfunctional for a couple of versions. Fixed. ! List: The Shell context menu's help texts still not ok. Fix #2. ! Auto-Refresh: On adding or removing removable drives the inactive pane was not refreshed when it was pointing to a path on that drive. Fixed. v9.90.0004 - 2011-01-08 18:25 ! List: The little square between vertical and horizontal scrollbar was not painted reliably since the new fast icon retrieval. Fixed. ! Find Files: Contents search did not work anymore for non-Text files since v9.90.0003. Fixed. v9.90.0003 - 2011-01-08 16:15 + Tweak to add custom extensions for UTF8 check: TextUTF8CheckCustomExtensions=pip.pap.pup * UTF-8: Improved detection logic. + New variable <get status [section]>. Returns the current contents of the Statusbar. [section]: 1,2,3: Index of the section, the first section being number 1. help: Last displayed help text (shell context menu hovering). If missing all numbered sections are returned. Examples: text <get status>; //all sections text <get status 1>; //first section text <get status 3>; //third section text <get status help>; //last displayed help text As always, SC get supports the same argument: text get("status"); //all sections ! List: The Shell context menu's help texts displayed on the statusbar when hovering the menu items were not correctly resolved for some Russian (and probably others using wide unicode characters) shell extensions. While this is probably a bug in the shell extensions XYplorer now is smart enough to auto-correct the obvious mess. ! List: Missing repaint when changing to an empty list in List view (since v9.90.0002). Fixed. v9.90.0002 - 2011-01-07 19:46 + Configuration | Preview: Added option "UTF-8 auto-detection". Tick it to attempt to auto-detect BOM-less UTF-8 files. This setting also controls UTF-8 detection in Find Files Contents search. Note that this option elevates the CheckForBOMlessUTF8 tweak to UI level. + SC readfile: With mode="t" the function now decodes UTF-8 encoded text files. * UTF-8: Now Raw View does not resolve UTF-8 encoding anymore but shows raw ASCII as advertised. ! Go Up: Rewrote this functionality to cope with issues caused by the Tree not fully representing the current path for whatever reasons (e.g. access rights). v9.90.0001 - 2011-01-07 15:14 + UTF-8: Preview, Raw View, and Find Files by Contents now support UTF-8 encoded text files that begin with the UTF-8 BOM (or signature) "" (EF BB BF). + UTF-8: Added an experimental tweak for auto-detection of BOM-less UTF-8 files: CheckForBOMlessUTF8=1 The detection will very slightly slow down the preview of text files, and has a very slight chance of a false positive detection (file is in fact not UTF-8), and a larger chance of a false negative detection (file is in fact UTF-8). + SC rename enhanced: Added a flags parameter to control messages on failures. Syntax: rename [mode (b|r|s|k|e)], pattern, [preview (p)], _ [itemlist], [flags=1] flags: (binary field, defaults to 1) 1: PromptOnFailure (prompt on each failed rename attempt) 2: ShowListOfUntouched (show list of all items that kept their old name) ! Scripting | SC focus: The focus command did not work as expected since v9.80.0119 under certain conditions. Fixed. ! In some locales, e.g. Castilian, the "Long Date" (LOCALE_SLONGDATE) did not format as it should. Fixed. v9.90.0000 - 2011-01-05 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Tag-Based File Management. With version 9.90 XYplorer offers tagging as a radically new approach to file management and alternative to the hierarchical tree-based file management. You can assign any number of tags to any file or folder. Yes, any file, not just media files. +++ Transparency Grid. Now, in Image Preview and Thumbnails, you can optionally have a checkered grid shining through the transparent parts of an image (PNG, GIF, ICO, etc). +++ Admin Settings. Now you can pass the path to a file where the license data are stored. This is quite useful when installing XYplorer in companies for large numbers of users that are covered by a single Corporate License, or when you have many parallel XY installations on your machine. +++ Scripting. The new command renameitem() allows for easy-to-set-up point-and-click renaming. Very useful when archiving large numbers of sound or image files, especially in combination with the sound and image preview. +++ Inline Rename. Now when an item with the same name already exists you can choose between Suffix, Overwrite, and Cancel. +++ Incremental Suffix. Now, additionally to numbers, also lower case letters are supported as incremental suffix on name collisions. +++ Address Bar. Now right-clicking the dropdown arrow pops an all-in- one menu giving you quick access to the main areas of your file system. +++ Folders in List. Now the middle-click optionally opens a folder in a new tab. And a folder's right-click menu optionally features commands to open the folder in a new tab or in the other pane. +++ Thumbnails Speed. Creating thumbnails got much faster. +++ List Speed. Due to a total rewrite of icon retrieval, the file list now loads and scrolls much faster and smoother also in folders with lots of specific icons (e.g. many EXE or ICO files). .......... XYplorer ver 9.80 ........................................................ v9.80.0136 - 2011-01-05 13:50 + Configuration | Startup & Exit: Added option "No network browsing on startup". Will block any network location browsing on startup similar to the (hard-coded) blocking of searches at startup. Check it to prevent any delays when starting up on an unavailable network location. v9.80.0134 - 2011-01-05 12:21 + Toolbar: Added button "Enable Color Filters" to quickly enable/disable Color Filters in the List. Credits for the icons go to http://www.olawolska.com/! v9.80.0133 - 2011-01-04 15:36 * Tabs: Visual Filter suffixes in the tab headers are now cropped if there are longer than 20 characters. ! List | Labels: Selecting by Labels would not work when none of the Tags columns were visible. Fixed. v9.80.0132 - 2011-01-04 10:44 + Toolbar | Find by Tags: Now you can configure the button to "Search Everywhere" or "Search Here". The options are found at the bottom of the button's dropdown menu. * List: Reorganized the Tags column right-click menu. ! Tags: Tags and Tag List got confused when you entered a tag with an opening quote without a matching closing quote. Fixed. Now quotes in tags are treated just like any other character. ! Quitting the trial version welcome screen crashed the app since v9.80.0011 - 2010-12-04. Fixed. v9.80.0131 - 2011-01-03 18:59 * Updated the help file. ! CKS: The indices for sections View | Current Tab | Sort By, View | Columns, and Tools | List Management were missing and/or confused. Fixed. ! Tags: Find by Tags did not work correctly since the tags are separated by comma and space, not just by comma (v9.80.0126). Fixed. v9.80.0130 - 2011-01-01 14:18 + New variable <get instance [on_first=1], [on_nonfirst=2]>. Tells you, if you have multiple instances of XY, whether the current instance is the first instance or not. [on_first]: String to return if current instance is the first instance. Defaults to "1". [on_nonfirst]: String to return if current instance is not the first instance. Defaults to "2". For example, this line returns "First" if the current instance is the first, else "Second"). ::echo <get instance First Second>; As always, SC get supports the same argument: ::text get("instance", "First", "Second"); Usage: This variable can be useful in the main window title bar template (Configuration | Templates), e.g.: <path> - <app> @ <ini> - <ver> - (<get instance>) Or like this to show a prefixed (2) on non-first and nothing on first instances: <get instance "" "(2) "><path> - <app> @ <ini> - <ver> ! List Management: Showed idiotic message "The current list exceeds the maximum of 0 items." when OK-ing some lists. Fixed. :) Happy New Year! v9.80.0127 - 2010-12-31 10:50 - End of the WMP experiment (v9.80.0121). Too many problems. v9.80.0126 - 2010-12-26 10:42 + Configuration | Extended | Mouse: Added option "Middle-click goes to file in new tab". Applies to files in List. Especially useful in search results, where it works identically to the right-click menu command "Go to Focused Item in New Tab". * Tags: Now the Tags column in Details view displays the tags separated by comma and space, not just by comma. For performance reasons this style is also reflected in the tag.dat database. Nevertheless adding spaces has been just an esthetical decision with no consequences for compatibility. Tag lists without a space after the comma are correctly parsed everywhere in the app. Note for upgraders from the 9.80 BETA versions: This new style is applied to your already tagged items in the moment you edit their tags. So you will slowly shift to the with-space style. ! SC report: Did not resolve the field {path} correctly since a couple of versions ago. Fixed. v9.80.0125 - 2010-12-23 09:26 + Image Preview: Now the transparency grid is also shown in the preview for icon files. + Thumbnails: Now the transparency grid is also shown in thumbnails for icon files. * Tags: Now, with "Add Tags..." the edit box is not prefilled anymore with the tags of the current item, contrary to "Edit/Set Tags..." and "Remove Tags...". ! Stupid little thing called exclamation mark hung out at almost all text input dialogs. Fixed. v9.80.0124 - 2010-12-22 20:09 + Preview: Added MKV (Matroska Video Stream) to the previewed Video formats. Whether you can actually preview MKV depends on your installed codecs. + SC tweak (officially undocumented): Added "PreviewWmpVideo": ::tweak("PreviewWmpVideo", 1); //on ::tweak("PreviewWmpVideo", 0); //off Also, SC tweak now supports toggling by passing "" as param: ::tweak("PreviewWmpVideo", ""); //toggle on/off ! Fixed a couple of WMP related glitches. v9.80.0123 - 2010-12-22 11:53 + Media Preview: Added three tweaks to use an embedded WMP instance for previewing audio and video files. PreviewWmpAudio=1 ; use WMP for audio preview PreviewWmpVideo=1 ; use WMP for video preview PreviewWmpProgress=1 ; show XY progress on WMP preview v9.80.0121 - 2010-12-21 20:07 + Experimental WMP edition! This special edition has an embedded WMP (Windows Media Player) hard-coded for Video preview. It's still a bit rough around the edges. Enjoy. v9.80.0120 - 2010-12-21 10:06 + Configuration | Extended | Custom items in shell context menu | File List: Added three items, all for folders only: Open in New Tab Open in New Background Tab Open in Other Pane ! SC report: Did not resolve the fields {comment} and {tags} correctly. Fixed. v9.80.0119 - 2010-12-20 14:16 ! Background Jobs: Elapsed time display buggy since v9.80.0118. Fixed. v9.80.0118 - 2010-12-20 11:24 * Statusbar: Elapsed time display after search or backup operation is now smarter on smaller (< 1 sec) and larger (> 1 min) durations. ! Rename Special: When one or more items within a mass rename could be renamed they were not listed as failures after the job when the reasons for the failures had alreday been detected in the rename preview before. Fixed. Now any items that were not renamed should be listed under all circumstances after a mass rename. ! List: Drawing glitches with the combination of Full Row Select and Color Filters or Labels. Fixed. ! Recycle Bin: Further improved auto-refresh. v9.80.0117 - 2010-12-18 15:56 * Configuration | Extended | Mouse: The option "Middle-click opens folder in new tab" now also applies to middle clicks in Tree and Catalog. It is now enabled by factory default. * Main window caption: Very long paths are now ellipsed. ! The Open Overlong Prompt (v9.80.0115) did not cover all possible opening scenarios. Fixed. v9.80.0116 - 2010-12-18 15:20 + SC filter enhanced. New optional parameter flags allows automatic handling of open square brackets in the pattern. Action: Apply a visual filter to the current tab. Syntax: filter [filterspec], [flags] filterspec: the filter pattern flags: (binary field) 1: Handle open square brackets, i.e. convert "[" to "[[]" to allow matching "[". Without this conversion "[" and "]" are interpreted as group markers by the pattern parser. Note that setting this flag is necessary only if the closing square bracket is present as well right of the opening bracket. Otherwise there is no ambiguity and XY does the necessary things automatically even without the flag. Examples: ::filter "*.zip;*.rar"; = show only ZIP and RAR files ::filter "*[*"; = show only items with [ ::filter "*[ab]*", 0; = show only items with "a" or "b" ::filter "*[ab]*", 1; = show only items with "[ab]" ::filter; = remove any filters ! List: Fixed strobo effect on icons and icon overlays in a list that's being auto-refreshed in fast repetition. v9.80.0115 - 2010-12-17 19:42 + Find by Tags: Now tags can have wildcards ("*" or "?") and still be searched for in an easy manner. Before, searching for those tags was difficult because these characters are treated as wildcards in the search term. For example, you have a tag "a*" (w/o the quotes). Now you can search for "a*" and only items with this tag will be found. Before, this search would have returned all items with a tag matching the pattern "a*". To enable searching for wildcards you use the new switch /v ("verbatim"), which is exclusively used for label, tags, and comments search: Address Bar Finds (recursing subfolders) all items with ------------------------------------------------------------ ?tags:a* /rv a tag "a*" ?tags:a* /r a tag matching pattern "a*" ?cmt:"*" /rv a comment "*" Note that, of course, even without the verbatim flag you can search for wildcard characters by enclosing them in square brackets. For some jobs there is no other way, for example to find all items with a "*" anywhere in the tags: tags:*[*]* /r + List: Added "Find Items with Same Tags" to the Tags column right- click menu. > Tips for Find by Tags: - To find all tagged items with no Tags use this search term: tags:"" - To find all items with tag "quotedtag" (including the quotes!): tags:""quotedtag"" ! Find by Tags: On non-recursive searches the search might not have returned all matches due to a flawed optimization. Fixed. + Configuration | Extended | Mouse: Added option "Middle-click opens folder in new tab". Check it to open folders in a new tab by middle- clicking them in the file list. + Opening items with associated apps: Now when you attempt to open an item with an overlong filename you are prompted: ----------------------------------------------------------------- Open Overlong Item? You are about to open an item with an overlong filename (> 260 characters). Most Windows applications do not support overlong filenames. They might even crash. Are you sure you want to continue? ----------------------------------------------------------------- You can turn off this prompting using the following tweak: OpenOverlongNoConfirm = 1 v9.80.0114 - 2010-12-16 21:11 * Tags 2.0: Minor improvements and glitch fixes. * Catalog: The recent catalog list in switch-catalog popup menus now show the catalog file names relative to app data path. Since this is the recommended location for catalogs the menu should be much more readable by now. v9.80.0113 - 2010-12-16 10:53 + Configuration | Tags: Added option "Apply tagging to all selected items". Check to apply the commands in the right-click popup menu to all selected items instead of to the right-clicked item. If nothing is selected this setting is ignored and the tagging applies to the right-clicked item. + Toolbar: Added a couple of commands to the new Tags buttons. v9.80.0112 - 2010-12-15 20:44 Tags 2.0, Phase 3 ~~~~~~~~~~~~~~~~~ + Toolbar: Added buttons to Add, Set, and Remove Tags, and to Find by Tags. They pop a menu with the top 20 tags from the tag list. All buttons work on the selected items only and show a "Nothing Selected" pseudo item in the popup menu if there are no selections. Especially interesting is the "Find by Tags" button because the "Tag List..." item allows for easy multi-tag searches (Boolean AND-ed: all ticked tags must match). Note that "Find by Tags" always scans the whole tag DB and returns matches from the whole Computer, not just from the current folder. Of course, the buttons also have a right-click menu with various useful commands. Credits for the icons go to http://www.icojoy.com/! + List: Added command "Add Tags to Tag List" to the Tags column right-click menu. * Tags: Added some icons to various input interfaces. v9.80.0111 - 2010-12-15 11:09 + Menu Favorites: Added another function and rename some. Also slightly changed the related function IDs (hey, this is BETA). Now it's - Add Tags...: Add tag(s) to the tags of all selected items. - Add Tags by List...: Add tag(s) to the tags of all selected items (select from the Tag List). - Add Last Tags: Add the last added tag(s) to the tags of all selected items. - Edit Tags...: Edit the tags of all selected items (based on the tags of the focused item). - Remove Tags by List...: Remove particular tags from all selected items (select from the Tag List). - Remove All Tags: Remove all tags from all selected items. + List: Reorganized the Tags column right-click menu. ! Tags: Fixed a couple of glitches. + Scripting got a new function. Name: taglist Action: Sets a new tag list. Syntax: taglist([tags]) tags: comma-separated list of tags empty: keep current return: the current (old) tag list Examples: // displays the current tag list: text taglist(); // defines a new tag list taglist("may,june,july"); Remarks: With a little simple scripting you can now easily switch tag lists and make tagging new files a snap. + SC tag enhanced. Now you can choose whether to add, replace, or remove tags. This is done via the new flag tagsmode. Name: tag Action: Tag item(s). Syntax: tag [tagid=0], [itemlist], [type=0], [tagsmode=0] tagid = Tag ID (missing or 0: remove any tag) itemlist = |-separated list of items (full path) to tag; if empty then current list selections are tagged type 0=Label 1=Tags 2=Comment tagsmode [only applicable if type=1 (Tags)] 0=Add 1=Set (Replace any existing tags with the new tags) 2=Remove Examples: //add tags "cats" and "dogs" to all selected items ::tag "cats,dogs", , 1; //set tags "cats" and "dogs" to all selected items ::tag "cats,dogs", , 1, 1; //remove tags "cats" and "dogs" from all selected items ::tag "cats,dogs", , 1, 2; v9.80.0110 - 2010-12-14 20:43 > Find Files: FYI, to find all items on your computer with any tags defined run this through the Address Bar: *?tags:?* /r ! Crash on startup depending a various factors when upgrading from v9.80.0106. Fixed. v9.80.0109 - 2010-12-14 20:02 ! Menu Favorites | Add Tags...: Did not work. Fixed. v9.80.0108 - 2010-12-14 17:14 Tags 2.0, Phase 2 ~~~~~~~~~~~~~~~~~ +++ Tags: Now you can define any number of Tags for any file or folder. The tags are stored between sessions (in tag.dat), you can show them in a new column "Tags" in Details view, they can be shown in the File Info Tips, and you can find files by them (with all Boolean splendor, and extremely fast because these searches are indexed). + Menu Favorites: Added a section for Tags management, with the following items: - Add Tags: Add tag(s) to the tags of all selected items (select from the Tag List). - Add Last Tags: Add the last added tag(s) to the tags of all selected items. - Edit Tags...: Edit the tags of all selected items (based on the tags of the focused item). - Remove Tags...: Remove particular tags from all selected items (select from the Tag List). - Remove All Tags: Remove all tags from all selected items. Further notes on tags: - Tags are not case-sensitive (A==a) - Tags can contain any characters apart from - , (comma) which is used as separator between the tags. - | (pipe) which is used as separator between the fields. - (space) at the left and right end of a tag. Spaces within a tag are okay. - The "Tag List" is your tag cloud. It is there to let you select tags rather than type them again and again. In the Edit Tags dialog there is a checkbox "Add new tag(s) to tag list" which auto-maintains your tag cloud. New tags are always added to the top of the list. You can also manually manage the Tag List in List Management. This way you can easily load a new cloud to have a different set of tags ready for selection. Note that editing the Tag List does not change or remove any tags from your files or folders! The Tag List is only your interface to selecting/attaching tags. + List: The new Tags column supports a right-click menu analog to that of the Comments column. * Tags Database (tag.dat): Updated the format to Version 2: Version 1: filename|label|comment Version 2: filename|label|tags|reserved1|reserved2|reserved3|comment + Configuration | File Info Tips | Extra Fields: Added "Label", "Tags", "Comment" to the bottom of the list. * Menu File | Settings: "Save Tags and Comments" is now "Save Tags". It includes Tags, Labels, and Comments. + Find Files: You can search by tags using the selector "tags". Here are some examples: Name Pattern Find all items with --------------------------------------------------------------- tags:cats tag "cats" tags:cats;dogs tag "cats" OR "dogs" (loose Boolean syntax) tags:cats dogs tag "cats" AND "dogs" (loose Boolean syntax) tags:"cats dogs" tag "cats dogs" tags:"cats dogs";ants tag "cats dogs" OR "ants" tags::cat* OR dog* tag "cat*" OR "dog*" (full Boolean syntax) tags::cat* AND dog* tag "cat*" AND "dog*" (full Boolean syntax) tags:?* any tag There is also a new special syntax that's only applicable for the tags selector: You can use the comma as an AND operator: tags:cats,dogs tag "cats" AND "dogs" tags:cats,dogs;ants tag ("cats" AND "dogs") OR ants tags:"birds,m m" tag "birds" AND "m m" The quotes in the last example are necessary because of the space in "m m". + SC tag enhanced. Now you can use this command to set Labels, Tags, and Comments. Name: tag Action: Tag item(s). Syntax: tag [tagid=0], [itemlist], [type=0] tagid = Tag ID (missing or 0: remove any tag) itemlist = |-separated list of items (full path) to tag; if empty then current list selections are tagged type 0=Label 1=Tags 2=Comment Examples: ::tag 3; //set label #3 to all selected items ::tag; //remove all labels from all selected items ::tag 3, <curitem>; //set label #3 to current item ::tag 0, <curitem>; //remove any label from current item ::tag 3, "C:\foo.txt|D:\bar.txt"; //set label #3 to these items //set tags "cats" and "dogs" to all selected items ::tag "cats,dogs", , 1; //set comment "wow" to all selected items ::tag "wow", , 2; - SC comment is now deprecated (fully replaced by SC tag). Other Stuff ~~~~~~~~~~~ ! Tags: Since v8.10.0022 the database was not correctly updated for declined moves (say No to overwrite prompts). Labels and Comments were transferred to the target items although the files themselves were not. Fixed. v9.80.0106 - 2010-12-12 14:43 Tags 2.0, Phase 1 ~~~~~~~~~~~~~~~~~ * List: The "Tag" column in Details view has been renamed to "Label". Note that this has been achieved by inserting a layer of abstraction between data and display, i.o.w. the internal data stored in INI-files and wherever else (e.g. Folder View Settings) continue to use "Tag" to refer to this column to ensure full backward compatibility. The upcoming "Tags" column internally uses "Tags" so there is no collision. * Selection Filter: Now any filters for the old "Tag" column won't work anymore and need to be adjusted. E.g., select all items where the Label begins with "s": OLD: tag:s* NEW: label:s* * SC report(): The fields {Tag} and {TagID} need to be updated to {Label} and {LabelID}. Example: OLD: ::text report("{name}, {tag} (ID={tagID})<crlf>"); NEW: ::text report("{name}, {label} (ID={labelID})<crlf>"); * Find Files: Now searching for Labels should be done using the selector "lbl": E.g., find all items where the Label begins with "s": Name: lbl:s* Note that the previous selector is kept for backward compatibility (but deprecated!): Name: tag:s* * Configuration | Tags: Adjusted the interface to the new "Label" term. Note that "tags" (and "tagging") is generally used as container term for Tags, Labels and Comments -- just like "tag.dat" is the file where all these data are stored. * Toolbar: The following button identifiers need to be updated: tags > labels findtag > findlabel For the main toolbar this is done automatically on upgrading to the new version. However, if you refer to buttons or button images in scripts you will need to update these places. Other Stuff ~~~~~~~~~~~ * Menu File | Duplicate: The item "Copy Here with Number" has been renamed to "Copy Here with Increment". * Configuration | Templates: The item "Number Suffix" has been renamed to "Incremental Suffix". ! List: Sometimes a missing repaint after icon retrieval. Fixed. v9.80.0104 - 2010-12-11 13:22 * Address Bar: Now the breadcrumb menu popped on right-clicking the dropdown arrow shows all-in-one, featuring the following sections: ================= breadcrumb ----------------- desktop personal user ----------------- drives ----------------- nethood recycle bin ================= Note that holding CTRL while right-clicking does not make a difference anymore, so you can forget about this old trick. FYI, you now get almost the same popup when right-clicking Toolbar | Up. The difference is that the Address Bar popup attempts to breadcrumb the current Address Bar contents, which are usually but not necessarily identical to the current list path. + Configuration | Templates | Number Suffix: Now also lower case letters are supported as what now maybe should better be called "Incremental Suffix". Use "a" as the placeholder for letters, and "0" for numbers. Note that, of course, you cannot mix them. Examples: Templates -00 -aa --------------- Numbers 1: -01 -ab 2: -02 -ac 25: -25 -az 26: -26 -ba 100: -100 -dw 675: -675 -zz 1000: -1000 -bmm You see, the hexavigesimal system saves space and is fun. :) Of course, also SC renameitem now supports this format. * Rename Special: Various improvements with the message-on-failure design. v9.80.0101 - 2010-12-10 11:00 * Rename Special: Now when one or more items within a mass rename cannot be renamed (e.g. because it is locked by another application) you get a message telling you about this and asking you whether you want to proceed (including an option "Don't ask again" which is honored during this Rename Special job). Further, when the job is finished, you are shown a list of all items that could not be renamed. + Address Bar: Now the breadcrumb menu popped on right-clicking the dropdown arrow features an additional item named "Computer" (or "MyComputer" depending on your system) which will pop another menu with virtual folders and drives (actually the same menu that is popped when you Ctrl+RClick the dropdown arrow). + Toolbar | Find Tag: Added item "Find All" to the bottom of the arrow drop down. Click it to list all tagged items. * SC renameitem enhanced. Now it supports the Name Collision dialog. Syntax: renameitem newname, [sourceitem=<curitem>], [flags=0], _ [numsuffix] flags 0: [Default] Smart (keep extension unless extension is passed) 1: Rename base (keep extension) 2: Rename extension (keep base) [1 + 2 = 3: Rename all (base and extension)] 4: Show dialog (Suffix / Overwrite) on name collision. Notes - 1 and 2 are only applicable if sourceitem is a file, not a folder. - On 4 numsuffix defaults to the number suffix defined in Configuration | Templates. Examples: //rename the current item to "John"; on name collision show the //dialog with options to Suffix a Number, Overwrite, or Cancel. ::renameitem("John", , 4, "-000"); //same as above using the number suffix defined in //Configuration | Templates. ::renameitem("John", , 4); v9.80.0100 - 2010-12-09 12:00 = MAINTENANCE RELEASE. +++ Speed gains. +++ Bug fixes. v9.80.0100 - 2010-12-09 09:28 % List: Smoother scrolling on lots of specific icons. v9.80.0020 - 2010-12-08 13:31 ! List: Renaming drives was not working correctly when you had opted to show drive letters in front. Fixed. FYI: - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer ShowDriveLettersFirst=4 - Reboot. v9.80.0016 - 2010-12-07 18:14 + Tweak to skip the confirmation prompt when choosing Overwrite on a name collision on inline rename in file list: RenameOverwriteNoConfirm=1 % List: Icon retrieval again faster. ! List: Sometimes a missing repaint after icon retrieval. Fixed. v9.80.0014 - 2010-12-07 14:20 ! Preview: Depending on the app associated with PDFs you could have problems opening a PDF by DblClick when the Preview tab was open, because the Preview tab stole the second click. Fixed. You now get a tiny delay before a PDF is previewed by mouse-select; during this delay the app waits whether the single click will eventually turn into a double click. ! List: v9.80.0012 could get unresponsive after tab switch. Fixed. ! Sync Select: Crashed. Fixed. ! Tabs: The second MouseUp event of a DblClick was treated as a normal MouseUp when it should not. This could lead to the unwanted closure of a tab when this happened right on the X-button. Fixed. * Shell context menu of Computer: Under 64-bit Windows the "Manage" item does work when you are not Admin. Now this item is removed from the menu in that case. v9.80.0012 - 2010-12-06 14:47 %%% List: Total rewrite of icon retrieval. Now the list loads and scrolls fast and smoothly also in folders with lots of specific icons (e.g. many EXE files). * SC renameitem is now a function. If the rename was successful it returns the new name, else it returns nothing (empty string). * SC renameitem: The newname argument now supports the following placeholders: * = original base ? = original ext For example, this renames a current file "hash.jpg" to "Copy of hash.jpg": ::text renameitem("Copy of *"); ! Shell context menu of Computer: Under 64-bit Windows the "Manage" item did not work. Fixed. + Menu View | Folder View Settings | Manage Folder Views: Redesigned the interface. Now you can directly jump to the "Edit Folder View" dialog from the list: Select a Folder View and click OK, or double-click a Folder View. You also can delete Folder Views from here: Select a Folder View and press DEL (or use the item's context menu). Note that deletions are only performed when you OK the dialog. v9.80.0011 - 2010-12-04 17:21 + Tree & List | Inline Rename: Now when an item with the same name already exists you are presented with a couple of useful options. For example, when you rename the current file to hash.jpg but a file hash.jpg already exists in the same location, you get the following choices: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name Collision A file of the same name already exists. hash.jpg 21,87 KB 14.11.2010 10:08:33 - Suffix Number to rename the current file to "hash-01.jpg". - Overwrite to overwrite the existing file. - Cancel to choose another name. [Suffix Number] [Overwrite] [Cancel] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Note: - The Overwrite action cannot be undone. * Tree & List | Inline Rename: When renaming a folder and a folder of the same name already exists, then under Vista/Win7 you are now prompted to integrate the folders. Under XP or earlier you have to choose a different name. + Scripting got a new command. Name: renameitem Action: Renames a file or folder. Syntax: renameitem newname, [sourceitem=<curitem>], [flags=0], _ [numsuffix] newname: The new name. Absolute or relative to current list path. sourceitem: The item to rename. Defaults to the current item. flags (only applicable if item is a file, not a folder): 0: [Default] Smart (keep extension unless extension is passed) 1: Rename base (keep extension) 2: Rename extension (keep base) 3: Rename all (base and extension) numsuffix: Number template to auto-suffix on collision. Use "0"s as placeholders for digits, e.g. "-00". Examples: // rename current file" to "John[.ext]" in current folder ::renameitem "John", , , "-00"; // rename "Paul.txt" to "John.txt" in current folder ::renameitem "John", "Paul.txt", , "-00"; // rename current file" to "<clipboard>[.ext]" in current folder ::renameitem <clipboard>; Remark: - Contrary to SC rename, SC renameitem is able to rename items that are not currently listed or selected, and it can auto- suffix numbers on collision. This gives you a number of fascinating new options. ! Admin Settings: Crashed when the Lic key contained a native variable, e.g. <xydata>. Fixed. v9.80.0010 - 2010-12-03 14:46 %%% Thumbnails: I discovered that the age-old "GDI Black Bug" has been finally fixed in Vista/Win7 and apparently also in the latest XP service packs! This allowed me to rewrite the whole thumbnailing and speed up thumbnail creation (in "super-fast thumbnails" mode) by factor 2 to 4 (!) depending on the various conditions. % Also the normal image preview of PNGs enjoys notable speed gains. * Thumbnails: Now transparent GIFs work just as well as transparent PNGs, so you get the checkered grid also for GIFs with Thumbnails, MouseDownBlowUp, and Full Screen Preview. * Image Preview: Now 64 bit PNGs with alpha channel are correctly displayed with and without grid. % Customize Toolbar Dialog: Due to a new GDI bug under Vista/Win7 scrolling the button lists was incredibly slow. Now I found the time to work around this. Painting is about 20 times faster now. ! Admin Settings: Since v9.80.0007 app would crash when Admin.ini did not contain all supported keys. Fixed. v9.80.0008 - 2010-12-02 20:54 + Configuration | Thumbnails: Added option "Show grid under transparent areas". Applies to PNGs only. So now you can (and have to) control the grid in thumbnails independently from the grid on the Preview Panel. + Toolbar: When the toolbar is scrolled you'll now find a "Scroll Home" command at the end of the overflow dropdown which will reset it to initial position. v9.80.0007 - 2010-12-02 12:02 + Image Preview: Now, when previewing a PNG image, you can have a checkered grid shining through the transparent parts of the image. The size of the grid adjusts to the size of the image (larger images get larger fields). Note that this feature is supported on the Info Panel as well as with Thumbnails, MouseDownBlowUp, and Full Screen Preview. To enable the grid check Configuration | Preview | Show grid under transparent areas. Tip: You can as well toggle the grid in the orange button dropdown menu on the Preview panel. * Image Preview: The same checkered grid as above is now applied to transparent GIF, WMF, EMF, EPS etc. However, with these file types it only works on the Preview Panel, not with Thumbnails, MouseDownBlowUp, and Full Screen Preview. + Admin Settings: Now you can pass the full path (or relative to app path, all variables and portability supported) to a file where the license data are stored. This is quite useful when installing XYplorer in companies for large numbers of users that are covered by a single Corporate License, or when you have many parallel XY installations on your machine. Examples for the new Lic key in Admin.ini: [Settings] Lic="appdata\Lic.ini" [Settings] Lic="\\CentralServer\XYdata\Lic.ini" The contents of Lic.ini (or whatever you call it) should look like this (fill in your reg data between < and >!): [Register] Name=<Your Registration Name> Code=<Your License Key> If Lic.ini is not found, not accessible, or empty, then the procedure silently falls back to reading the license data from XYplorer.ini. v9.80.0006 - 2010-11-30 20:16 + Portable Tabs: Now Portable Tabs also support portable drives, e.g. "?:\" or "?:\Stuff\". FYI, "?" stands for the drive letter of this XY instance; very useful when running XY from a USB stick where you have no control about the drive letter assigned by the host system. Tip: To point a tab to such a path enter it via Menu View | Current Tab | Relocate Tab. + Portable Home: Menu View | Current Tab | Set Home, Go Home, and Lock Home Zone now also support portable drives, e.g. "?:\" or "?:\Stuff\". ! List: Drawing glitch (pixel dirt) when renaming an item with a back colored Color Filter set. Fixed. v9.80.0000 - 2010-11-30 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Color Filters by Date. Now you can, for example, color all files that were modified on a certain day, or that were created before the year 2008. Now you can as well, for example, color files that were created from 8:00-10:00 in the morning (on any day), or last modified on a weekend, or last accessed on any Valentine's day. +++ Color Filters by Age. Now you can, for example, color all files that were modified today, or yesterday, or last week, or that were created more than 10 years ago. +++ Color Filters. Now you can combine color filters of any type and number with a Boolean AND. For example, give a nice blue back color to all TXT files larger than 1 MB and modified yesterday. +++ Serial Rename. Here's killer feature for everybody who frequently needs to do lots of manual renaming: Serial rename by Up and Down keys! Renaming files in a list now is almost like moving and typing around in a multi-line text box. You will never want to miss it. +++ Toolbar. New buttons "Move to Other Pane" and "Copy to Other Pane" make basic dual pane file management a snap. +++ Backup. Now, on name collisions, you can optionally have the copies renamed, or the existing files. +++ Scripting. Powerful new functions formatbytes(), formatlist(), hash(), and listpane(). +++ Size Formats. Now the units TB (Terabyte) and PB (Petabyte) are supported everywhere in the application. .......... XYplorer ver 9.70 ........................................................ v9.70.0050 - 2010-11-29 15:52 * Configuration | Color Filters: Added Reset buttons to reset the Text and Back colors to the factory defaults. Before, you would have to hold CTRL and use the Text and Back buttons (which still works now). v9.70.0049 - 2010-11-28 17:33 + Configuration | File Operations | Backup Operations | On name collisions: Added two new options and revised the wording of some of the old options: - Overwrite only older files - Overwrite always - Overwrite never - Suffix number to copies - Affix current date to copies - Affix last modified date to copies - Suffix number to existing - Affix current date to existing - Affix last modified date to existing + SC backupto enhanced: The on_collision parameter again got new values and now has the following: on_collision: 0 = [Default] Use global setting from Configuration | File Operations | Backup Operations | On name collisions 1 = Overwrite only older files 2 = Overwrite always 3 = Overwrite never 4 = Suffix number to copies 5 = Affix current date to copies 6 = Affix last modified date to copies 7 = Suffix number to existing 8 = Affix current date to existing 9 = Affix last modified date to existing * Updated the help file. v9.70.0048 - 2010-11-28 15:07 * Backup Operations: Removed the following possible reasons for failure from the reports because they are not possible anymore (since overlong names are fully supported): - "FAIL (source too long)" - "FAIL (target too long)" * Updated the help file. v9.70.0047 - 2010-11-28 14:08 + Configuration | File Operations | Backup Operations | On name collisions: Added a further option called "Suffix number to existing" which allows you to avoid collisions by renaming the existing instead of the copied file. If the existing file cannot be renamed for some reason, the copy will not happen. The format of the number suffix is determined in Configuration | Templates | Number suffix. The factory default is -00. + SC backupto enhanced: The on_collision parameter got a new value (7) which allows you to avoid collisions by renaming the existing instead of the copied file. Syntax: backupto location, [source], [on_collision], _ [preserve_dates], [create_log], [pop_stats] on_collision: 7 = Suffix number to existing For example, backup all selected items to E:\Test; on collision number-suffix the existing items in E:\Test: ::backupto "E:\Test", , 7; v9.70.0046 - 2010-11-27 20:05 * Updated the help file. ! Find Files: When one pane got auto-refreshed while a search was running in the other pane, the search could get confused about its target pane and list the results in the wrong pane. Fixed. v9.70.0043 - 2010-11-26 14:35 ! Tree: Under certain conditions there could emerge double entries in the Tree. Fixed. ! Find Files | Contents: When searching for patterns with wildcards there was the possibility of a crash under certain conditions. Fixed. ! Toolbar: Drawing glitch since v9.70.0041. Fixed. v9.70.0042 - 2010-11-24 20:40 ! Backup of items with overlong names: Contrary to what's advertised the Backup operation did not recurse and copy directories (and their contents) larger than 247 characters. Reason: A line of old pre-overlong-filenames code was still in action at one place. Embarrassing and fixed. Now the whole file system depth available in NTFS is supported (approx. 32,767 chars). v9.70.0041 - 2010-11-24 15:24 % General speed gain in painting. * IP | Find Files | Date: A couple of minor changes and a bug fix in the dropdown. * List | Details view: Autosize Columns now adds an extra 7 pixels to the Name column to make space for any color filters with background colors defined, and generally to create a more relaxed appearance. * Color Filters: Now Color Filters with background colors defined and Tags with background colors defined (and Coloring Style "Name column") can be shown combined in the Name column. Before, the Tag would suppress the Color Filter. ! Color Filters: The "name:"-selector did not work correctly when there was a space between it and the pattern. Fixed. v9.70.0038 - 2010-11-19 20:36 + Configuration | Color Filters: Now, in Details mode, the first matching filter *with* backcolor (if any) is displayed combined with the first matching filter *without* backcolor (if any). For example, if you have these filters defined and activated (copied from List Management to show the colors): ageM: < 3 h>FFFF00,6798E0 name: *.txt>38A050, then every TXT file that's younger than 3 hours is displayed with the Name column colored "FFFF00,6798E0" (Text, Background) and all the other columns colored "38A050" (Text only). Yeah! + Toolbar: Added buttons "Move to Other Pane" and "Copy to Other Pane". They work identically to the same-named commands in menu Panes and have small context menu. + Find Files | Date: Added item "Now" to the dropdown at the "between" field. Sets the "between" field to the current date/time and leaves the other field empty. The next search will find all items whose date was changed since you pressed "Now". v9.70.0029 - 2010-11-19 11:48 * Configuration | Color Filters: The filter type selectors now have no leading "/" anymore. The Attribute filter was adapted to the new syntax, and the Name filter optionally as well. The previous syntax is still supported for Attributes (/) and Size (/size:). Filter Type Selector Old Selector ---------------------------------------- Name [name:] Attributes attr: / Size size: /size: Date Created dateC: Date Modified dateM: Date Accessed dateA: Age Created ageC: Age Modified ageM: Age Accessed ageA: ---------------------------------------- Notes - The Name Selector is optional: if no other selector is found then Name is assumed by default. - The "Old Selector" is still supported but deprecated. - Case does not matter in Selectors. - If you used Date or Age Color Filters in the recent BETA versions you *MUST* remove the leading "/" manually after upgrading! +++ Configuration | Color Filters: Now you can combine color filters of any type and number with a Boolean AND. The operator is " AND " (mind the surrounding spaces); it's not case-sensitive, so " and " works as well. Notes: - The semi-colon (which works as Boolean OR) has a lower precedence than AND. - Color Filters which contain the strings " AND " or ";" can/should be quoted. Examples: - TXT files modified in any of the last 5 days at the 11th hour: ageM: <= 5 d AND dateC: h 11 AND *.txt - Files named "A AND B*" and larger than 1MB: "A AND B*" AND size: > 1MB - Files modified Mondays at 11 OR Tuesdays at 12: dateM: dw 1 AND dateM: h 11; dateM: dw 2 AND dateM: h 12; + Configuration | Color Filters: You now can add a comment to the end of each filter, separated from the filter by "//", e.g.: ageM: d //modified today % List: Serial rename much faster on key repetition because Info Panel update is suppressed while key is down. v9.70.0028 - 2010-11-18 13:50 + Configuration | General: Added option "Serial rename by Up and Down keys". Check it to use the cursor keys UP and DOWN to go to the next and previous file while renaming them. Additionally, the current caret position (e.g., your caret is at the 8th letter) is kept if possible (if the filename is long enough), so renaming files in a list now is almost like moving and typing around in a multi-line text block. Very intuitive and convenient! FYI, serial rename by (Shift+)TAB key is always enabled by design, independently of the above. * Rename boxes (anywhere in the app): Added special functionality to keys PageUp and PageDown. It's the same functionality that's already exhibited by Up and Down: - PageUp now moves the caret to the start of any selection, or, if there is no selection, to the start of the whole text. - PageDown now moves the caret to the end of any selection, or, if there is no selection, to the end of the whole text. * Configuration | Color Filters by Date: Changed the definition of Unit Selector "dw" (day of week): OLD: dw = day of week (Sunday = 0, Monday = 1, etc.) NEW: dw = day of week (Monday = 1 ... Sunday = 7) Examples: /dateM: dw 6-7 = last modified on a weekend /dateM: dw 7-2 = last modified from sunday to tuesday + SC hash enhanced. Added algo SHA-512. algo: Hash algorithm. sha512: SHA-512. NOTE: SHA-512 is NOT supported on all systems! Example: ::text hash("sha512", ""); v9.70.0027 - 2010-11-17 21:30 +++ Configuration | Color Filters: Added color filters by file age. All three file dates (Created, Modified, Accessed) are supported. You now can, for example, color all files that were modified today or last week, or that were created more than 10 years ago. A useful thing if you ask me. General syntax: /ageC: = Date Created /ageM: = Date Modified /ageA: = Date Accessed The usual operators apply; [n] is a number and [u] a unit selector; for example: /ageM: [n] [u] = specific unit /ageM: == [n] [u] = specific unit /ageM: < [n] [u] = less than so many units /ageM: > [n] [u] = more than so many units /ageM: <= [n] [u] = so many units or less /ageM: >= [n] [u] = so many units or more /ageM: [min] - [max] [u] = from min to max units (both included) Unit selectors: y = year q = quarter of year m = month w = week (Monday - Sunday) d = day [default unit!] h = hour n = minute s = second Examples: /ageM: < 5 n = modified less than 5 minutes ago /ageM: >= 3 h = modified 3 or more hours ago /ageM: 1 w = modified last week (previous Monday - Sunday) /ageM: 0 d = modified today (from 00:00:00 till 23:59:59) /age: = modified today (same as above, all defaults used) /ageM: 1 d = modified yesterday /ageM: < 0 d = modified in the future (tomorrow or later) Notes: - The Unit selectors must be separated from the unit number or range by at least one space. - The Age selector is not case-sensitive: /AgEm: would work as well. - /age: defaults to "Date Modified". +++ Configuration | Color Filters by Date: Now you can color items if their filetimes match certain subranges, e.g. created from 8:00- 10:00 in the morning, last modified on a weekend, last accessed in an April (of any year). To achieve this a unit selector is prefixed to a number or range (using the usual set of operators). Unit selectors: y = year (1601 - 32767) q = quarter of year (1 - 4) m = month (1 - 12) dw = day of week (Monday = 1 ... Sunday = 7) (EDIT 2010-11-18 10:55) dy = day of year (1st January = 1) d = day (of month) h = hour (0 - 23) n = minute (0 - 59) s = second (0 - 59) ms = millisecond (0 - 999) Examples: /dateC: h 8-10 = created from 8:00-10:00 (of any day) /dateM: m 4 = last modified in an April (of any year) /dateM: dw 6-7 = last modified on a weekend /dateM: dw 7-2 = last modified from sunday to tuesday /dateC: dy 1-100 = created in the first 100 days (of any year) /dateC: q 3 = created in the 3rd quarter (of any year) Notes: - The Unit selectors must be separated from the unit number or range by at least one space. + Configuration | Color Filters: Added a bunch of new operators that work for all Size and Date filters: -<, >-, >, and ==. Examples for Size: /size: min - max = from min to max (both inclusive) /size: min -< max = from min to max (max exclusive) /size: min >- max = from min to max (min exclusive) /size: min >< max = from min to max (both exclusive) /size: == n = exact (identical to the next example) /size: n = exact v9.70.0026 - 2010-11-17 12:16 +++ Configuration | Color Filters: Added color filters by file date. All three file dates (Created, Modified, Accessed) are supported. You now can, for example, color all files that were modified on a certain day, or that were created before the year 2008. A useful thing if you ask me. General syntax: /dateC: = Date Created /dateM: = Date Modified /dateA: = Date Accessed /dateM: [date] = exact date (down to the second) /dateM: == [date] = exact date (down to the second) /dateM: < [date] = earlier than /dateM: > [date] = later than /dateM: <= [date] = same or earlier /dateM: >= [date] = same or later /dateM: [date] - [date] = from earliest to latest (both inclusive) /dateM: [date] - = same or later (same as >= ) /dateM: - [date] = same or earlier (same as <= ) Examples: /dateC: < 2008.01.01 (all items created before 2008) /dateM: 2010.01.01 - (all items modified 2010 and later) /dateM: 2010.11.14 - 2010.11.15 (all items modified 2010.11.14) /dateM: == 2010.11.16 10:30:12 (all items modified then) /dateA: >= 11.11.2010 11:11:11 (all items accessed in this Carnival) Notes: - The date has to be given in a form that is recognized as a valid date format on your locale. The time part can be skipped in which case it is internally set to 00:00:00. - The selector is not case-sensitive: /DaTem: would work as well. /date: = defaults to "Date Modified". - A trailing ";" is optional. Like with all color filters, ";" can also be used to concatenate patterns assigned to the same colors. - These filters work for files and folders but only in the List (not in the Tree). * Color Filters: Now if you define a backcolor for a Color Filter, the shape is drawn slightly different depending on the type of the Color Filter (Name, Attribute, Size, Date), so that you can immediately recognize which sort of filter made the match. v9.70.0025 - 2010-11-16 20:25 + Scripting got a new function. Name: hash Action: Creates hash of a string or file. Syntax: hash([algo=md5], [string], [flags]) algo: Hash algorithm; one of the following: md5: [Default] MD5. sha1: SHA-1. sha256: SHA-256. NOTE: SHA-256 is NOT supported on all systems! It should work in Vista and higher. string: Data or file to be hashed (see flags). Defaults to current list file if flags AND 1. flags: (binary field) 0: [default] String is data to hash. 1: String is a file spec whose contents to hash. return: Hash. Notes: - The maximum supported size is 2GB data. - You cannot abort the process by ESC. XY will be blocked while the process is running. - SC hash("md5" ...) is about 20 times faster than SC md5. :) - SC md5 is kept for compatibility, and for systems where hash is not supported (which might be the case on older Windows). Examples: ::text hash("md5", ""); //d41d8cd98f00b204e9800998ecf8427e ::text hash("sha1", ""); //da39a3ee5e6b4b0d3255bfef95601890afd80709 ::text hash(,,1); //md5 of current list file ! List: Line numbers column of the inactive pane was not fully painted when enabling dual pane. Fixed. v9.70.0017 - 2010-11-15 15:18 + SC md5 enhanced: Now you can pass file names in place of the string. Syntax: md5(string, [flags]) flags: (binary field) 0: string is data that will be md5-ed 1: string is a file spec whose contents will be md5-ed Example: ::text md5("<xypath>\<xyexe>", 1); % MD5: The MD5 algorithm more than doubled its speed. * MD5: MD5 now can be escaped by press ESC. Hold down ESC until the operation is aborted. Note that the maximum supported size for MD5 is 2GB data. ! Scripting: Unary operators + and - were not always parsed correctly. Fixed. Now stuff like this works: ::echo 1 + --1; //2 ::echo --(1 * ----2); //2 v9.70.0011 - 2010-11-14 14:36 + Scripting: Comparisons now support the UnLike (UnLikeI) operator. General form: String UnLike Pattern (case-sensitive) String UnLikeI Pattern (case-insensitive) Where string is any string expression and Pattern may contain the usual wildcards and special chars used in XY patterns (*?#[]). UnLike is obviously the inverse of Like, so the UnLike comparison returns 1 (TRUE) if String and Pattern do not match. Examples: ::echo "abc" UnLike "a*"; //0 ::echo "Abc" UnLike "a*"; //1 ::echo "Abc" UnLikeI "a*"; //0 Notes: - Exact capitalization matters: "Unlike" or "unlike" won't work. - Like "Like" and "LikeI" these operators must be surrounded by spaces. % Thumbnails: Display of cached thumbnails about 20% faster. ! You could crash the app by passing an illegal key. Fixed. Now YOU are crashed. ;) v9.70.0010 - 2010-11-12 20:51 + Menu Tools | Customize List | Size Column Format: Added units TB and PB. These two and also EB are now supported everywhere in the app. Note that backward compatibility has been provided, so your Size columns in the Lists should look the same as before upgrading. + Configuration | Startup & Exit: Added option "Check for updates on startup". Check it to perform a quick online check whether your current version is still up-to-date. If there is a newer version available you get a message. The check is only performed if you are online already. Note that if Admin Settings are set to eAPHide_Help_XYOnTheWeb (64), this option is hidden and the functionality disabled. Note that unfortunately the check can take a couple of seconds. I investigated this for several hours without finding a solution. One day I will find one. * Menu Help | XYplorer on the Web | Check for Updates: Now it shows the result of the update check in a dialog. Before, it opened a website in the default browser. ! Spot & Jump: A single jump pattern containing a space, e.g. ">chuck berry|" would not jump but just spot. Fixed. FYI, the trailing | in ">chuck berry|" is necessary to have a space within the pattern, else spaces are used as pattern separators. ! There was a problem (well, a crash) with very large drives (> 1 ExaByte). Not that these actually exist, but certain buggy drives have been seen to return such a size. Fixed. Now drives up to 8.00 EB are supported. And even larger drives will not crash the app anymore. v9.70.0009 - 2010-11-12 12:30 * SCs listfolder and listpane enhanced. Added flag to force the pattern to be an exact match, i.e. to suppress auto-adding of wildcards when no wildcards are contained in the pattern (aka "loose match"). flags: (binary field) 0: return folders and files with full paths [default] 1: NoFolders (= return only files) 2: NoFiles (= return only folders) 4: NoPaths (= return the filenames without paths) 8: NoAutoWildcards (= allow exact matches) Example: //list all folders that are named "code" in active pane ::inputselect("Test", listpane(, "code", 2 + 8)); ! Info Panel | Find Files: The Location field was not correctly updated on startup when the startpath was passed via command line and "Auto sync" was enabled. Fixed. v9.70.0007 - 2010-11-11 13:29 + Configuration | Startup & Exit: Added dropdown "Startup pane". Allows you to always start on a certain pane, or on the last pane (factory default). + Scripting got a new function. Name: formatbytes Action: Formats a number as bytes, resp. converts byte formats. Syntax: formatbytes(bytes, [format=FLEX], [decimals=-1]) bytes: The number to format. Can be a raw number or a string like "2 KB". format: The desired formatting. One of the following: FLEX = [Default] Flexible (best unit is auto-selected). FLEXR = FLEX, but rounded up. KB, MB, GB, TB, or PB = usual bytes unit. KBR = KB, but rounded up. BB = Bytes (with unit) B = Bytes (no unit) RAW = Raw number (no unit, no thousand separators). decimals: The number of decimal points. Ignored if the unit is B, BB, KBR, or FLEXR. -1 = System default. return: Formatted number. Remarks: - The returned numbers are rounded to 2 digits and have thousand separators (unless "R" is stated as format). - Note that the function is locale-specific! Decimal and thousand separators may be different from locale to locale. Examples for US locale: ::text formatbytes("1.34 MB", "KB"); //1,372.16 KB ::text formatbytes("1,372.16 KB", "MB"); //1.34 MB Examples for German locale: ::text formatbytes("1,34 MB", "KB"); //1.372,16 KB ::text formatbytes("1.372,16 KB", "MB"); //1,34 MB More examples for German locale: ::text formatbytes("2 kb", "b"); //2.048 ::text formatbytes("2 kb", "bb"); //2.048 bytes ::text formatbytes(2560); //2,50 KB ::text formatbytes("2560"); //2,50 KB ::text formatbytes("2560", "FLEX"); //2,50 KB ::text formatbytes("2560", "FLEXR"); //3 KB ::text formatbytes(2048 * 1024); //2,00 MB ::text formatbytes(2048 * 1024 . "KB"); //2,00 GB ::text formatbytes("1,5 MB", "RAW"); //1572864 Rounding (German locale): ::text formatbytes(1, "KB"); //0,00 KB ::text formatbytes(1, "KB", 0); //0 KB ::text formatbytes(1, "KB", 2); //0,00 KB ::text formatbytes(1, "KBR"); //1 KB ::text formatbytes(512, "KB"); // 0,50 KB ::text formatbytes(512, "KB", 0); // 1 KB ::text formatbytes(512, "KB", 2); // 0,50 KB ::text formatbytes(512, "KBR"); // 1 KB + Scripting got a new function. Name: listpane Action: Lists the contents of a pane. Syntax: listpane([pane=<curpane>], [pattern=*], [flags], _ [separator="|"]) pane: Pane to list. a = [default] active pane i = inactive pane 1 = pane 1 2 = pane 2 pattern: Wildcard (?, *) pattern to filter returned items; defaults to "*" (show all). If no wildcards are contained, the pattern is auto- embraced by "*" (unless flag NoAutoWildcards is set). flags: (binary field) 0: return folders and files with full paths [default] 1: NoFolders (= return only files) 2: NoFiles (= return only folders) 4: NoPaths (= return the filenames without paths) 8: NoAutoWildcards (= pattern must be exact match) separator: Separates the items in the returned list; defaults to | (pipe). return: List of items. Notes: - As you might have noted, this command is analogue to SC listfolder with the exception of the first argument. - The command also works on Search Results, Drives, Recycle Bin and whatever list modes we will get int he future. - The order of items is determined by the current list order. - The possibilities this command brings to scripting are mind- boggling. Examples: ::inputselect("Items on pane 1", listpane(1)); ::inputselect("Items on pane 2", listpane(2)); ::inputselect("Items on active pane", listpane()); ::inputselect("Items on inactive pane", listpane("i")); ::inputselect("Items a* on active pane", listpane(, "a*")); * Logging To File: Well, from now on, the setting IS remembered across sessions again IF it was set by ::logtofile. Logging set by command switch /log=... is not remembered. Note that both ways of setting the logging can be done simultaneously: their values will be combined (bitwise OR-ed). So when ::logtofile 1 has been set, and you start the app with /log=2, then both events, eLTFBackgroundJobAdded (1) and eLTFBackgroundJobTriggered (2) are logged. ! Scripting: The Math parser got stuff like this wrong: ::echo 3 * 3 . 3 * 3; This should be analyzed as (3 * 3) . (3 * 3) = 9 . 9 = "99", but the parser returned a very different result! Fixed. v9.70.0006 - 2010-11-10 12:27 + Logging To File: Up to now, this was only possible using the undocumented scripting command "logtofile". From now on, you can also pass a command switch to enable logging to file. Currently supported IDs: eLTFBackgroundJobAdded = 1 eLTFBackgroundJobTriggered = 2 For example, log all using a script: ::logtofile 3; For example, log all using a command switch: /log=3 * Logging To File: - From now on, also the milliseconds are logged. - NOTE: From now on, the setting is NOT remembered across sessions anymore! v9.70.0005 - 2010-11-09 20:57 + Scripting: Added unary boolean operator "not" or "!". It inverts the truth value of its operand. Note that "not" must be separated by at least one space from its operand. This is not necessary (but allowed) with "!". Examples: echo not 1; // 0 echo not 0; // 1 echo ! 1; // 0 echo !1; // 0 echo !0; // 1 echo !(1 and 0); // 1 The following scripts all turn on dual pane (if it is not on already): if (!get('#800')) { #800; }; if (! get('#800')) { #800; }; if (not get('#800')) { #800; }; if (not not not get('#800')) { #800; }; ! Scripting: Still parsing trouble with HereDoc constructs in combination with block comments. Sigh. Fixed. v9.70.0004 - 2010-11-09 13:27 + New variable <get bytesselected [pane]> returns the sum of bytes of all selected items of any of the two panes. If folder sizes are shown then they are included in the byte count. The optional "pane" argument can be: a = [default] active pane i = inactive pane 1 = pane 1 2 = pane 2 For example: <get bytesselected> //active pane's sel. bytes <get bytesselected i> //inactive pane's sel. bytes As always, SC get supports the same argument: echo get("bytesselected"); //active pane's sel. bytes echo get("bytesselected", i); //inactive pane's sel. bytes + New variable <get bytestotal [pane]> returns the sum of bytes of all items of any of the two panes. Syntax see above. + Also the following variables now support the optional "pane" argument (syntax see above): <get countitems [pane]> <get focusedpos [pane]> <get countselected [pane]> <get sort [pane]> <get view [pane]> <get selecteditemsnames [separator=CRLF] [pane]> <get selecteditemspathnames [separator=CRLF] [pane]> Note that you can omit the "separator" argument, which then leads to two adjacent spaces. For example this script line lists all selected item names of the inactive pane, one per line: text <get selecteditemsnames i>; As always, SC get supports the same argument. For example the above line using SC get: text get("selecteditemsnames", , "i"); + New variable <get [Command ID] [ReturnOnTrue = 1] [ReturnOnFalse = 0]>. Here you can retrieve the current state of a couple of toggles that have a command ID, and control what is returned on what state. Currently supported are the following Command IDs: #800 = Dual Pane #801 = Horizontal Panes For example, this returns "DP" when Dual Pane is enabled, and "SP" when it's not: text <get #800 DP SP>; And this returns "DualPane" resp. "SinglePane": text <get #800 DualPane SinglePane>; And this returns "1" resp. "0": text <get #800>; As always, SC get supports the same argument: text get("#800", "DP", "SP"); So now you have a Ternary Conditional wrapped into a variable. + Variables: Now parameters of variables may be quoted. This is useful to pass parameters containing spaces (because the space characters also serves to separate the parameters in this context). The parameters themselves are unquoted after parsing. For example, this returns "Dual Pane" when Dual Pane is enabled, and "Single Pane" when it's not: text <get #800 "Dual Pane" "Single Pane">; You can even pass embedded quotes by doubling them: text <get #800 """Dual Pane""" "Single Pane">; ! Scripting: Still parsing trouble with HereDoc constructs in combination with unclosed quotes contained in block comments. Fixed. ! There was a problem when you had an extraordinarily high number of drives. Should be fixed. v9.70.0003 - 2010-11-08 10:52 + Tweak to define a minimal duration of all background jobs within one queue until the sound defined in BJSoundAllDone is played. BJSoundAllDuration=<number of seconds> * Action Log: Improved the captions for actions concerning a folder. When you delete, rename, copy, or move a single folder, then the attribute "folder" is added to the caption. ! Background Jobs: When adding a new job the Statusbar always showed "job #1 ..." instead of the correct number. Fixed. ! List: Scrolling down by Arrow Down moved the pane content page by page instead row by row (since 20101030). Fixed. ! List: Scrolling the list by arrow keys updated the Info Panel for every focused item even while the key was still down. This shouldn't happen, of course, and was added by stupidity on 20100707. Fixed. v9.70.0002 - 2010-11-06 18:10 ! Scripting: Multiline scripts stored in the INI file (Run Script, or User Buttons Scripts) were not correctly read when upgrading to v9.70.0001. Fixed. v9.70.0001 - 2010-11-06 16:12 + Scripting got a new function. Name: formatlist Action: Formats a list of items. Syntax: formatlist(list, [format], [separator=|]) list: The list to format. format: Switches for the desired formatting. Can be freely combined in any order. t = trim (remove surrounding spaces) u = unquote the items s = sort ascending (by default case-insensitive: A==a) r = sort descending (think "reverse sort") c = sort case-sensitive (A!=a) n = sort naturally (can only be case-insensitive!) e = remove empty items d = remove duplicate items (think "dedupe") q = quote the items separator: Separates the items in the list; defaults to | (pipe). return: The formatted list. Notes: - Trimming is done before unquoting. - Unquoting is done before sorting. - Sorting is done before removing duplicates. - Sorting is by default case-insensitive (A==a). Passing switch "c" forces it to be case-sensitive, unless "n" is passed as well which overwrites "c" and forces case-insensitive sorting. - Sorting naturally (3 < 20 < 100) is only supported from XP onwards. - Passing "r", "c", or "n" implies "s". - Removing empty items is done before removing duplicates. - Removing duplicates only works on adjacent items, so if the list is not sorted non-adjacent duplicates remain in the list. - Duplicates are matched case-insensitive (A==a). - Quoting is done as the last step. Items that are already quoted in the source are not quoted again. - If "list" is empty then an empty (and unquoted) string is returned, even if the "q"-switch is passed. - If "format" is empty then "list" is returned unchanged. Examples: text formatlist("b|a|c", "s"); //a|b|c text formatlist("b|a|c", "r"); //c|b|a text formatlist("b||a|c", "s"); //|a|b|c text formatlist("b||a|c", "se"); //a|b|c text formatlist(" b | |a | c", "s"); // | c| b |a text formatlist(" b | |a | c", "set"); //a|b|c text formatlist('b|"a"|c', "s"); //"a"|b|c text formatlist('b|"a"|c', "su"); //a|b|c text formatlist("3b|10a|200c", "s"); //10a|200c|3b text formatlist("3b|10a|200c", "n"); //3b|10a|200c text formatlist("3b|10a|200c", "nr"); //200c|10a|3b text formatlist("b|a|C|D", "s"); //a|b|C|D text formatlist("b|a|C|D", "c"); //C|D|a|b text formatlist("b|a|a|a|c", "s"); //a|a|a|b|c text formatlist("b|a|a|a|c", "sd"); //a|b|c text formatlist("b|b|a|b|c", "d"); //b|a|b|c text formatlist("b||b|a|b|c", "ed"); //b|a|b|c text formatlist("b||b|a|b|c", "eds"); //a|b|c text formatlist("b||b|a|b|c", "edsq"); //"a"|"b"|"c" text formatlist("b|a|c", "q"); //"b"|"a"|"c" text formatlist("b", "q"); //"b" text formatlist("", "q"); //returns empty string, *not* quoted + SC recase enhanced: Added new mode "camel" and a new flags parameter. Syntax: recase(string, [mode], flags) string: String to change case of. mode: One of the following: lower = [default] to lower case upper = to upper case title = to title case (first letter of each word to upper case, other letters to lower case) camel = like "title" but preserves any caMel-case. flags: (binary field) 1 = set extensions to lower case return: String with changed case. Examples: ::text recase("the caMel can't.", "lower"); //the camel can't. ::text recase("the caMel can't.", "upper"); //THE CAMEL CAN'T. ::text recase("the caMel can't.", "title"); //The Camel Can't. ::text recase("the caMel can't.", "camel"); //The CaMel Can't. // returns This Is A Test.htm ::text recase("this is a test.HTM", "title", 1) * Color Filters: Now when a back color is defined it is drawn with the lower right corner snipped off to better distinguish it from the selection back color. ! Scripting: HereDoc constructs containing unclosed quotes lead to parsing trouble. Fixed. ! Scripting: Multiline scripts stored in the INI file (Run Script, or User Buttons Scripts) did not fold/unfold well in rare cases. Fixed. v9.70.0000 - 2010-11-03 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Admin Settings. You use XYplorer in your company and don't want your employees to check for updates? You don't want them to change the configuration? All this and more is now possible through Admin Settings! +++ Switch Catalogs. Finally you can switch catalogs on the fly and manage any number of Catalog (aka Favorites Panel) resources right from the user interface. +++ Color Filters by Size. Using size-based color filters you now can, for example, color all empty files in a certain way, or all files bigger than a certain size. +++ Whole Word Content Search. Finding files by contents now supports whole word matching. As an extra bonus the content search now supports files with overlong filenames (> 260 chars). +++ Confirm Drag and Drop. Optionally pop a confirmation prompt for every left-mouse drag and drop operation. A reliable protection from accidental drops! .......... XYplorer ver 9.60 ........................................................ v9.60.0123 - 2010-11-02 17:45 * List | Thumbnails: Slight improvements in performance and minor glitch fixes. v9.60.0122 - 2010-11-02 14:31 * List | Thumbnails: Improved the ability to permanently stop thumb creation by ESC for the current list. * Updated the help file. v9.60.0121 - 2010-11-01 14:33 ! Recycle Bin: Further improved auto-refresh. v9.60.0120 - 2010-11-01 10:58 ! Recycle Bin: Further improved auto-refresh. v9.60.0119 - 2010-10-31 19:22 ! Recycle Bin: Further improved auto-refresh. v9.60.0118 - 2010-10-31 11:16 ! Recycle Bin: Further improved auto-refresh. v9.60.0116 - 2010-10-30 13:02 + CKS | Miscellaneous | Focus: Added command "Focus First Selected Item" (#1048). In the List, moves the focus to the first selected item from top, and moves it into view if necessary. Also focuses the list if necessary. If no item is selected the focused item is moved into view. If the focused item is selected but not current item (not on Info Panel) it is made current item. * Menu Edit | Select | Select Items...: Now the first selected item from top is focused and moved into view. v9.60.0115 - 2010-10-29 15:37 + Configuration | Color Filters: Now the size-based filters support human-friendly size formats, for example: /size:2kb /size:>=2.5 MB /size: 5.75 MB - 6 TB Recognized units are KB, MB, GB, TB, PB, and B (B is optional for bytes). As you see, fractional values are okay, case does not matter, and you can throw in spaces as you like. v9.60.0114 - 2010-10-29 11:04 +++ Configuration | Color Filters: Added color filters by file size. You now can, for example, color all empty files in a certain way, or all files bigger than a certain size. A useful thing if you ask me. General syntax: /size:n = exact size /size:<n = smaller than n /size:>n = bigger than n /size:<=n = n or smaller /size:>=n = n or bigger /size:min-max = from min to max (both inclusive) /size:min- = min or bigger (same as >=n) /size:-max = max or smaller (same as <=n) The size has to be given in raw bytes (not "2MB" or similar). A trailing ";" is optional. Like with all color filters, ";" can also be used to concatenate patterns assigned to the same colors. Examples: /size:0 /size:<500 /size:<=1000 /size:3000-5000;/size:8000-9000; /size:>1000000; /size:500000-; Note that these filters work only for files (not for folders) and only in the List (not in the Tree). + Configuration | Color Filters | New: Now you can hold CTRL to duplicate current item. + Menu Scripting | Run Script: The script is now remembered between sessions. Also the wrapped state of the Run Script text box is remembered. * Color Filters in Details View: From now on, if you define a back color for a filter, then both text color and back color are applied only to the Name column. Before, the text color (but not the back color) was applied to all columns, which made it tricky to use bright-on-dark color schemes because bright would not be readable on the usually white list background. Now you can define a color filter white-on-black, nice! ! Scripting: HereDoc constructs used as interior arguments lead to parsing trouble. Fixed. ! Thumbnails: Thumbnails previewed by the shell (e.g. Videos or Word documents) were not created for files located directly on a drive root. Fixed. v9.60.0112 - 2010-10-28 13:10 + Menu Scripting: Added command "Run Script Again". Runs the script previously entered in Run Script again. ! Scripting: Consecutive block comments .../*comment1*//*comment2*/... .../*comment1*/,/*comment2*/... were not correctly parsed. Fixed. + New variables: <curpath_dos> current path in DOS format (8.3) <curitem_dos> current item in DOS format (8.3) v9.60.0111 - 2010-10-27 16:25 * SC listfolder: Slightly revised the logic of the "flags" argument (introduced in v9.60.0104): flags: (binary field) 0: return folders and files with full paths [default] 1: NoFolders (= return only files) 2: NoFiles (= return only folders) 4: NoPaths (= return the filenames without paths) This change only affects the value 3, which now returns nothing (NoFolders and NoFiles). Not useful but logically consistent. ;) Examples: ::inputselect("Test 0", listfolder(%windir%, "s*", 0)); //all ::inputselect("Test 1", listfolder(%windir%, "s*", 1)); //files ::inputselect("Test 2", listfolder(%windir%, "s*", 2)); //folders ::inputselect("Test 3", listfolder(%windir%, "s*", 3)); //nothing + SC inputselect enhanced: The "style" argument got a new value 4 that you can use the solve the ambiguity between "no data" and "empty item". style: 1 = show file system icons for the items (= default) 2 = show checkboxes prefix items with "+" to pre-check them 4 = show empty list if there is only one empty item Examples: // shows one empty item ::inputselect("Test 3", listfolder(%windir%, "s*", 3), , 1); // shows empty list ::inputselect("Test 3", listfolder(%windir%, "s*", 3), , 5); ! Recycle Bin: Was auto-refreshed too often under Win7. Fixed. v9.60.0110 - 2010-10-27 11:37 + Toolbar | Catalog: New context menu with "Open..." and MRU list. * The following tweak (added v7.60.0022 - 2008-09-21 21:48) is now set to 1 by factory default (note that it's not automatically done on upgrading!): [Settings] ScriptSmartDetect=1 Most one-line scripts entered into the Address Bar (and many other location ports) are then correctly detected as scripts without the need for prefixing "::". Examples: msg "Hi!"; msg "Hi!"; //message The crucial thing is the trailing ; (appended comments allowed). + Configuration | Find Files | Show search results in: Added another option, ["Search results" tab (unlocked)]. It's the same as the factory default ["Search results" tab (locked)], but -- you guessed it -- the tab is not auto-locked. + Find Files | Contents: Now it supports overlong filenames (> 260 chars). * Menu View: Renamed "Toggle No/Last Visual Filter" to "Toggle Visual Filter". ! A crash could happen when closing a find tab by X button while the find was still running. Fixed. ! Admin Settings: A profile with eAPHide_User_ManageUDC (8) but no UDCs defined in udc.dat lead to a startup error. Fixed. From now on the "Manage Commands..." item is not hidden but disabled. v9.60.0109 - 2010-10-26 12:11 + Catalog: Added another command to the Catalog submenu: - "Save Copy As...": Save a copy of the current Catalog under a new name, without making this the current Catalog. Useful for making quick backups. * Catalog submenu | Open...: Now the default filter is set to "cat*.dat". If you name your Catalogs so that they match "cat*.dat" (which is hereby officially recommended), e.g. "CatWork.dat" or "CatalogWork.dat", you will get them neatly listed by this default filter. * Catalog submenu | New: The initial filename now defaults to "<xydata>\CatalogNew[##].dat" (instead of NewCatalog[##].dat). + Find Files | Contents: Added option "Whole words". If checked the given string will match only whole words in the scanned file, not parts of words. Note that the "Whole words" option does not play with the "Wildcards" option. If "Wildcards" is checked and the string actually contains wildcards, the "Whole words" option is internally ignored. ! Find Files | Name & Location: The "Inverted" option was honored even if the whole Name filter was OFF. Fixed. * Recent Locations: Whether these data are remembered between sessions is now controlled by Configuration | Startup & Exit | Don't save history. Before, it was controlled by "Don't save most- recently-used lists". ! Startup: When the app was closed on a Find tab and a startpath was passed on next startup (using e.g. command line) the app openend on a mix between a normal and a Find tab. Fixed. v9.60.0107 - 2010-10-25 15:33 +++ Catalog: Added Switch-Catalog-On-The-Fly. Finally you can manage any number of Catalog resources right from the GUI. You find the usual commands in the right-click menu of any Catalog Category and of an empty Catalog: - "New": Create a new empty Catalog. The initial filename defaults to "<xydata>\NewCatalog[##].dat", where [##] is a number suffix that makes it a unique name. You are prompted to save any changes if the current Catalog is dirty. - "Open...": Open an existing Catalog file, after saving any changes in the current Catalog. If you choose a filename that does not exist, a new empty Catalog of that name is created. You are prompted to save any changes if the current Catalog is dirty. - "Revert to Saved": Reload the current Catalog from file without saving any changes first. - "Save": Save the current Catalog. - "Save As...": Save the current Catalog under a new name. - "Refresh All Icons": Refresh all Catalog Icons. - Additionally you get 8 MRU Catalogs at the bottom of the submenu. Note that any new or opened Catalog will remembered as the new permanent Catalog between sessions. Note that the last and the MRU Catalogs are stored in a portable manner (relative to app data path). + List Management: Added item "Recent Catalogs...". v9.60.0106 - 2010-10-24 22:01 + Scripting got a new command. Name: catalogload Action: Loads a Catalog file. Syntax: catalogload file, [switches=sp] file: The Catalog file to load. Can be relative to app data path and portable. If empty the default Catalog (<xydata>\catalog.dat) is (re)loaded. switches (can be concatenated in any order): s: Save any changes in the current Catalog. p: Make [file] the permanent Catalog, i.e. load this Catalog on next app start. n: Create a new empty Catalog named [file]. [missing]: Defaults to "sp". Examples: //save the current Catalog, load <xydata>\catalog2.dat, //and make it the new permanent Catalog ::catalogload "catalog2.dat"; //do not save the current Catalog, load <xydata>\catalog2.dat, //do no make it permanent ::catalogload "catalog2.dat", ""; //save the current Catalog, create a new empty Catalog named //catalognew.dat in <xydata>, and make it the new permanent //Catalog ::catalogload "catalognew.dat", "spn"; //discard the current Catalog and reload the default Catalog //<xydata>\catalog.dat, and make it permanent ::catalogload , "p"; Remarks: - If your current and permanent catalog is the default "<xydata>\catalog.dat" (which is the factory default situation), then this line is equivalent to a "revert to saved" because it simply reloads the Catalog from file without saving any changes first: ::catalogload , ""; - The ability to load Catalogs on-the-fly adds a new dimension to the Catalog feature. It will soon be available through the UI as well. v9.60.0105 - 2010-10-23 14:28 + Admin Settings: Added another thing to hide: Menu User | Manage Commands... (8) Here's an overview over the current values: eAPHide_User_ManageUDC = 8 eAPHide_Tools_Configuration = 16 eAPHide_Tools_OpenConfigFile = 32 eAPHide_Help_XYOnTheWeb = 64 eAPHide_Help_UpdateRegDetails = 128 eAPHide_Help_About_URLs = 256 * Admin Settings: Changed the filename from "Config.ini" to "Admin.ini", and the key from "Hide" to "Profile". * Address Bar and Favorites: From now on, icons for items on network locations (UNC and mapped) are shown in their generic form and are not extracted from the items. Advantage: This avoids delays when network locations are not available. Disadvantage: The existence of an icon does imply the existence of the item anymore. Note that before, icons for items on UNC paths were not shown at all in Address Bar and Favorites, so the real difference is for icons for items on mapped drives. * Updated the file "CatalogDefault.dat", which is part of the download package. v9.60.0104 - 2010-10-22 13:10 + Admin Settings: Added another thing to hide: Menu Tools | Configuration... (16) This includes all other ways to open to Configuration dialog. + SC listfolder enhanced: The "filesonly" argument is now called "flags" and has additional binary values that can be summed up (bitwise OR-ed) as desired. Syntax: listfolder([path=<curpath>], [pattern=*], [flags], _ [separator="|"]) flags: (binary field) 0: show folders and files, return full paths [default] 1: show only files 2: show only folders 4: return the names without paths Examples: //list all items in %windir% that begin with "s" ::text listfolder(%windir%, "s*", , <crlf>); //list all files in %windir% that begin with "s" ::text listfolder(%windir%, "s*", 1, <crlf>); //list all folders in %windir% that begin with "s" ::text listfolder(%windir%, "s*", 2, <crlf>); //list all folders in %windir% that begin with "s" //and return the names without path ::text listfolder(%windir%, "s*", 2 + 4, <crlf>); ! Recycle Bin: Further improved auto-refresh. v9.60.0103 - 2010-10-21 15:48 ! Recycle Bin: Further improved auto-refresh under Win7. v9.60.0102 - 2010-10-21 11:13 +++ Admin Settings: Now you (if you have the rights to do so) can place a file "Config.ini" in XYplorer's application path where you can control the layout and functionality of the application in a way that a user without admin rights cannot influence. XYplorer will read this file at startup but never write to it. Currently you can use Config.ini to hide a number of menus resp. disable the related commands. The numbers in parentheses are the values to use in the INI key below: Menu Tools | Open Configuration File (32) Menu Help | XYplorer On The Web (64) Menu Help | Update Registration Details (128) Menu Help | About Box | Clickable URLs (256) For example, to hide the "XYplorer On The Web" submenu you put this into Config.ini: [Settings] Hide=64 For example, to hide the "XYplorer On The Web" submenu AND "Open Configuration File" you put this into Config.ini: [Settings] Hide=96 So the value is simply the sum of the numbers attributed to the items you want to hide. ! Recycle Bin: Improved auto-refresh. v9.60.0101 - 2010-10-20 21:03 ! POM: Portable paths were not resolved when the executable was a BAT file. Fixed. v9.60.0100 - 2010-10-20 12:00 = MAINTENANCE RELEASE. +++ Renamed "Select Special" to "Sync Select". +++ Bug fixes. v9.60.0016 - 2010-10-19 21:19 ! Fixed a minor glitch concerning "Confirm drag and drop". v9.60.0015 - 2010-10-19 20:38 + Configuration | Extended: Added option "Confirm drag and drop". Check it to pop a confirmation prompt for every left-mouse drag and drop operation. A reliable protection from accidental drops. Note: If "Disallow left-dragging from tree and list" is ticked then "Confirm drag and drop" is not applicable, of course. ! List: Drawing glitch (wrong background colors) since v9.60.0006 when switching between a blocked tab ("Location currently not available") and another tab. Fixed. v9.60.0014 - 2010-10-19 13:02 + Scripting: The multi-script goto-shorthand now also supports environment and native variables, name searches, and visual filters. For example: Desktop %tmp% <xydata> C:\WINDOWS\system.ini C:\WINDOWS\system32 C:\WINDOWS\system32?a* C:\WINDOWS\system32?:a* or b* C:\WINDOWS\system32?:a* | b* C:\WINDOWS\system32?tag:blue C:\WINDOWS\system32|a* * Scripting: The dialog previously called "Scripting Error" is now called "XYplorer Scripting" because it's not always a real scripting error that is reported but most of the times a script related information. + Tree Items Context Menu: Added optional item "Hide Folder from Mini Tree". Does only show in Mini Tree mode. The item is also contained in the "Expansion" submenu, but I think it merits this extra treatment. * Updated the help file. v9.60.0013 - 2010-10-18 15:51 + Scripting: In a multi-script resource you can now pass a plain path/file spec as a shorthand for a well-formed goto script. Such a line will be auto-converted to a valid goto command including the appropriate icon in the generated popup menu. - Long version using well-formed goto scripts with captions: "C:\|C:\" goto "C:\"; "C:\Windows|C:\Windows" goto "C:\Windows"; "C:\WINDOWS\SoundMan.exe|*" goto "C:\WINDOWS\SoundMan.exe"; - Equivalent shorthand version: C:\ C:\Windows C:\WINDOWS\SoundMan.exe This little shorthand trick tremendously simplifies creating and editing User Buttons with favorite items lists and similar tasks. * Floppies: From now on, floppy disk drives are not shown in the Tree by factory default. To show them tick Configuration | General | Show floppy drives. v9.60.0012 - 2010-10-18 12:43 + Script icons: Now you can pass "*" as placeholder to use the caption as icon pointer: "C:\|*" goto "C:\"; "C:\Windows|*" goto "C:\Windows"; * Menu View | Refresh: Now floppy drives in the Tree are refreshed only if they are the current node. Reason: Less buzz! Tip: Use "Refresh Tree" to always refresh the floppy drives (if they are visible). * Double-Slashed Freak Paths: From now on, those paths are silently corrected. No more prompts. So, for example, you can now go here without problem: C:\//windows\\///system32/\/\ v9.60.0011 - 2010-10-17 20:30 *** Menu View: Major reorganization of the Refresh related commands. Leading purpose was to meet the general expectation that F5 refreshes Tree AND List. See following sections... Note that, because refreshing the whole Tree is a LOT of work compared to refreshing the List, F5 is now a pretty heavy action. The previous functionality of F5 has been mapped to Ctrl+F5. When you are upgrading, however, all your old shortcuts will still point to the old functionality, so these shortcut changes only affect fresh installations. + Added command "Refresh" (F5). Refreshes Tree and List. The functionality simply combines "Refresh Tree" (F4) and "Refresh List" (previouly F5, now Ctrl+F5). Notes: - Contrary to Explorer's "Refresh", the List is not reset (i.e. any selections and the scroll position are kept). To reset the file list use "Reset File List" (Ctrl+F5). - The Tree is only refreshed when it is visible. - "Refresh" replaces the command Miscellaneous | General Functions | Refresh Tree and List (Ctrl+Shift+Alt+F5) which is now obsolete and has been removed. * Menu View: - Renamed "Rebuild Tree" to "Reset Tree". - Renamed "Refresh File List" to "Refresh List". - Renamed "Refresh and Reset File List" to "Reset List". * Menu View: New default keyboard shortcuts: "Refresh List" (Ctrl+F5) "Reset List" (Ctrl+Shift+F5) * Menu View | Refresh Tree: Before, Refresh Tree on a Mini Tree would add all available top folders (special folders and drives) to the Mini Tree. Now, only the top folders that are already part of the Mini Tree are refreshed, but none are added. * Menu View | Current Tab | Sort By | Sort Again: Removed default shortcut Ctrl+Shift+F5. * Background Jobs: Status Bar info does not ellipse paths anymore (full paths are shown in the Status Bar's tooltip). v9.60.0010 - 2010-10-16 11:00 * Configuration: Reorganized the first two tabs by adding bold subheadings, and added a 3rd tab "Extended" because running out of space. Options overkill... trying to handle it. v9.60.0009 - 2010-10-15 14:41 * Dual Pane: From now on, if a location is opened in the other (inactive) pane (e.g. by Alt+Click in the Tree) then Dual Pane mode is enabled if necessary. Reasons: It is assumed that you want to see the inactive pane when you open a location in it. And this way visual feedback of the "open" action is ensured. * Raw View: Now the vertical scrollbar is not shown anymore when the view is empty. ! Double-Slashed Freak Paths: Fix #4. ! UDC Icons: Fixed a couple of glitches. ! Catalog: Would not open EXEs in special folders. Fixed. ! Tree: In Vista/Win7 shared folders were shown without icon since v9.60.0002. Fixed. v9.60.0008 - 2010-10-14 21:31 ! Double-Slashed Freak Paths: Fix #3. v9.60.0007 - 2010-10-14 20:42 + Tree Items Context Menu: Added optional item "Open in Other Pane" (Alt+Click). Will open the selected folder in the other pane (whether that pane is visible or not). Note that it also works when right-clicking a folder other than the current folder. + User-Defined Commands: Now also XY native variables are supported in the icon pointers: Blah|<xydata>\Icons\fun.ico ! User Buttons: Icons did not support XY variables anymore. Fixed. FYI, these point to the same resource: Icons\fun.ico <xydata>\Icons\fun.ico ! Invalid freak paths were still hitting below the belt under certain conditions. Fixed. v9.60.0006 - 2010-10-14 13:13 + Configuration | Advanced | Custom items in shell context menu. Now you can configure which items are shown in the context menu *separately* for Tree (button Folder Tree...) and List (button File List...). The factory default for the Tree items in the menu has been reduced to avoid the newbie-scaring overkill effect of a maximally enhanced context menu. + Script icons: Now relative (to app data path) and portable paths are supported. + User Buttons: Now relative (to app data path) and portable paths are supported. + User-Defined Commands: Now you can pass a pointer to an icon along with the caption. The icon will be shown in the User menu. The general form is Caption|Icon, where Icon can have the following formats: Blah|C:\Beta\ full path/file to file or folder Blah|Icons\fun.ico relative path (to app data path) Blah|<xydata>\Icons\fun.ico support of XY native variables Blah|:minitree internal icon (toolbar buttons resource) Blah| nothing (no icon shown) * MouseDownBlowUp on Word (doc, docx, rtf) thumbnails: This is now also (like MouseDownBlowUp on PDFs) controlled by the tweak MDBUPdfLarge=1 And the factory default of this tweak now has been set to 1. Note that SC tweak supports this tweak, so you can do this through the Address Bar to change the setting: tweak("MDBUPdfLarge", 1); Note: Whether the enlarged Word blow up actually works depends on your system and RAM size. It's not easily predictable. Try it out. ! Invalid freak paths like "C:\windows\\system32" lead to a bit of chaos. Fixed. Now you are asked whether you lost your marbles and are provided with due assistance. v9.60.0005 - 2010-10-13 16:22 + CKS | Miscellaneous | Timestamp: Added command "Set Created Date to EXIF Date". Sets the Created date of each selected image file (JPEG, TIFF) to its EXIF date. If no EXIF date is found the Created date is not touched. + Tabs: Now you can escape dragging Tabs by pressing ESC. + New constant <tab>, resolved to the Tab character (ASCII 9). * Constants <crlf> and <tab> now take an optional count parameter for repetition. Example: ::echo "Catch<crlf 22>22"; ! Pressing ESC when dragging an item in the UDC manager or Configuration | Color Filters closed the dialog instead of canceling the drag. Fixed. v9.60.0004 - 2010-10-11 12:21 + Menu File | File Special: Added command "Set Modified Date to Current". Sets the Modified Date of all selected List items to the current date/time. Note: This command was previously featured under CKS | Miscellaneous | Timestamp. The command ID remains the same, of course: #1034. * Menu Edit | Select: Added command "Restore Selection", which hereby is part of the regular set of commands and can have a CKS. Accordingly, "Restore Selection" in the List white space context menu is now featured under the Select submenu. * Panes: Renamed "Select Special" to "Sync Select". ! Menu Edit | New Items: Just did my testing with folders and forgot to take care for the extensions in files. Fixed. With files the comment should be left of the extension, for example: Source: <newitemspath>\targetname 'comment.txt Target: <targetpath>\targetname.txt v9.60.0003 - 2010-10-11 10:11 + Menu Edit | New Items: Now you can append a comment to any of the items in the New Items folder. The comment is added as part of the source item name and is separated from the target item name by the sequence space-space-singlequote (singlequote = ASCII 39). When a new item is copied the comment is dropped and only the part left of the comment separator is used in the target. For example, and item named "targetname 'comment" in the New Items folder will be copied to the new item "targetname". The comments are visible in the New Item menu. The comment option gives you the following advantages: - You can comment items that are not obvious by themselves. - You can have several items of the same target name but with different contents. The comment field allows you to have them all within the New Items folder without collisions. * Background Jobs: Improved the Status Bar info shown when a job is added. ! Moving Up: The overlap check algorithm returned false positives. Fixed. Special thanks to user Jibz for pointing out the surprisingly complex issues arising from overlaps when moving stuff up (see http://www.hardtoc.com/archives/198). v9.60.0002 - 2010-10-10 10:10 + Moving Up: If "moving up" folders, and folders of the same name already exist in the target path you may run into problems because parts of the source might be overwritten by other parts of the source before they are moved to their final destination. This cannot be influenced because file moving is handled by the Shell and it simply does not get this one right. But there is a check now, and a warning, and a chance to cancel if such a problematic situation is there. * Menu File | Preview: Now when toggling the Preview OFF the Info Panel returns to the state (visibility; selected tab) it was in when toggling the Preview ON. * Preview: Now, when a preview is open/running and you rename the containing folder in the Tree, the Preview is auto-closed. Before, you would have gotten an error. ! Tree: Hand overlays for shared folders were not shown anymore for a couple of versions. Fixed. ! Tree and List: Hand overlays for shared folders were not auto- refreshed when a share was added or removed. Fixed. ! Win7: The Recycle Bin did not auto-refresh when 10 or more items were deleted to or restored from the RB at once. Fixed. ! Tree: Under certain conditions folders could show doubled subfolders. Fixed. v9.60.0001 - 2010-10-08 15:42 + SCs copyto and moveto enhanced: Now you can suppress any prompt to create a not yet existing destination folder. To achieve this economically the [filesonly] argument has been converted to a binary field, now called [flags]. Syntax: copyto location, [source], [rootpath], [flags] moveto location, [source], [rootpath], [flags] flags (the desired values have to be binary-OR-ed) 0: [Default] 1: FilesOnly. For sources containing wildcards only files are copied. 2: SkipPromptToCreate. Don't prompt, but create any non- existing destination folder without asking. Examples: ::copyto "c:\temp12"; //copy all; prompt ::copyto "c:\temp12", "e:\test\*", , 1; //only files; prompt ::copyto "c:\temp12", , , 2; //copy all; no prompt ::copyto "c:\temp12", "e:\test\*", , 3; //only files; no prompt * Menu File | Preview: This command is a toggle, and now it shows it with a checkmark when any preview is active. * Find Files | Excluded: From now on, the matching of the excluded paths is case-insensitive (A==a). ! Find Files | Location: Did not handle a trailing ";" in a chain of ";"- separated locations gracefully. Fixed. ! Rename Special | Edit Item Names...: The command was not available via its command ID #147. Fixed. v9.60.0000 - 2010-10-06 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Select Special. Various commands to modify the selection in one pane based on items in the other pane. +++ Sync Scroll. Now synchronous scrolling of both panes is supported. +++ Sync Sort. If Sync Scroll is enabled then both panes are also synchronously sorted. +++ Restore Selection. Ever inadvertently erased a selection? The new "Restore Selection" command will bring it back within a click. +++ Move Up. A quick way to move the selected items to the folder above the current folder. The command is optionally added to each item's context menu. +++ Edit Item Names. Edit the names of the selected List items in a multiline text box. +++ Make Coffee. How many file managers do you know that can make you a cup of coffee? Here is one! (Pro Edition only) .......... XYplorer ver 9.50 ........................................................ v9.50.0117 - 2010-10-05 21:42 + Configuration | Advanced | Custom items in shell context menu. Added optional item "Move Up". Will move the selected items to the folder above the current folder. Notes - Recursive Collision: If "moving up" folders, and folders of the same name already exist in the target path you may run into problems because parts of the source might be overwritten by other parts of the source before they are moved to their final destination. This is a shell bug, that will be worked around in one of the next versions. - Find Mode: Note that in recursively harvested search results the target folder is the parent of the searched folder, and this is not necessarily identical to the parent of an item's current folder. - UPGRADE NOTE: For technical reasons (and because in a BETA version I'm allowed to do this) this item got the numerical ID that was previously assigned to the recently added item "Open With...", so you might have to adjust your context menu configuration in this point. v9.50.0116 - 2010-10-04 14:52 + Tree: Hovering the icon of a drive now displays the used and free space on that drive as tooltip. + Tree: Hovering the icon of a special path (e.g. Desktop) now additionally displays the corresponding real path (e.g. C:\Dokumente und Einstellungen\Donald\Desktop\) in the tooltip. * Updated the help file. v9.50.0115 - 2010-10-03 12:57 * Tree | Inline Rename: Now, if the Tree is too narrow to show the whole name at once, you can scroll the full content of large item names using arrow keys within the edit box. v9.50.0114 - 2010-10-02 16:15 * Tweak AllowPropertiesOnStartup: Renamed to AllowPreviewOnStartup and changed functionality accordingly. * List | Item Context Menu | Open With...: Removed the KS (default Ctrl+Alt+Enter) from the menu because it made it too wide. ! Panes | Select Special: A file was not made the current file (displayed on Status Bar and Info Panel) when it was selected and focused through one of the commands. Fixed. ! Menu Edit | Select | Select Items...: Did not select anything on a Search Results list. Fixed. v9.50.0113 - 2010-10-01 12:18 + Configuration | Advanced | Custom items in shell context menu. Now you can configure which items are shown in the context menu. Also, a new item has been added (not shown by factory default), "Open With...", which will pop the Portable Open With menu aka POM. * Startup: From now on any focused file on startup is not previewed or otherwise reflected on the Info Panel by factory default. This gets rid of a potential source of trouble when the last focused file was difficult to preview and could in the worst case inhibit startup at all. You can overwrite this setting by a new tweak: AllowPropertiesOnStartup=1 Note that this tweak overlaps with a previous (logically inverse) tweak which additionally controls the behavior on tab change: NoPropertiesStartup=0 Set NoPropertiesStartup=1 to disallow getting properties and preview of the focused file on startup AND to also suppress Properties, Version, Preview, and Raw View on tab change. ! Select Special: The "Select Selected" command did not work as expected with "On both panes" enabled. Fixed. v9.50.0112 - 2010-09-30 12:03 + List context menu: Added command "Restore Selection". Use it to restore the last selection when you inadvertently lost it. The "last selection" is any selection right before the last time all items in the list have been unselected, or when a multi-selection has been directly replaced by a single or multi-selection. Notes: - A plain change of selection from one item to another (e.g. by single click on another item) does NOT store the previously selected item and thus will not affect the currently stored selection. This means: You can have a complex selection, then single-select some items (e.g. to preview them), and then restore the complex selection. Nice! - When you do "Restore Selection" while there is another selection then doing "Restore Selection" again will restore that other selection. In other words, you can toggle between two selection patterns. - When in Find mode (Search Results tab), then the full paths of the last selected items are (re)stored. - The command does not restore the previous focus. - Each pane remembers its own last selection (but not each tab). - The last selection is not stored between sessions. Remark: - You may (ab)use the command to transfer a selection from one tab to another: Tab A: select items, then unselect all (-> selection is stored) Tab B: do "Restore Selection" -> all matching items are selected + Tweak to define a sound to be played after the completion of each background job *if* the job was at least of a configurable duration. BJSoundJobDone=<full or portable path to a WAV file> BJSoundJobDuration=<number of seconds> BJSoundJobDuration defines the number of seconds a job has to take at least in order to trigger the sound defined in BJSoundJobDone. For example: BJSoundJobDone="bum.wav" BJSoundJobDuration=66 Now each background file operation that takes at least 66 seconds would trigger playing "<xypath>\bum.wav" on completion. * Menu Panes: Renamed "Sync Tools..." to "Select Special...". The originally envisioned and still planned other (non-selecting) synchronization related commands will be featured in a separate UI in a later version. * Menu Panes | Select Special...: Added option "On both panes" to apply the chosen command to both panes, i.e. to have items on both panes selected. * SC sync enhanced: - The "command" parameter is now optional and defaults to "SelectMatches". - Added new optional parameter "inactivepane" to select items on inactive pane based on items on active pane. Syntax: sync([command], [justcalc], [ignoreextensions], [mode], _ [inactivepane]) inactivepane: 0: [Default] Select items on active pane based on items on inactive pane. 1: Select items on inactive pane based on items on active pane. Example: ::sync( , , , , 1); //select matches on the inactive pane * Mini Tree: Now, if the initial Mini Tree takes more than 5 seconds to load (extreme but users have seen this), then you get a message on startup called "Performance Tip" telling you this: Your Mini Tree is loading pretty slowly (about 7 seconds)! The delay might be caused by unavailable paths stored in the Mini Tree. Please check the size and makeup of your Mini Tree in Tools | List Management | Mini Tree, remove any unavailable paths and/or reduce the size of the Mini Tree if possible. Finally save your configuration. The next start should be faster. v9.50.0111 - 2010-09-29 10:01 + SC selectitems enhanced. Added a "mode" parameter which allows you to add to or remove from current selections. Here is the complete updated description: Name: selectitems Action: Selects items in the file list by a list of names. Syntax: selectitems itemlist, [ignoreextensions], [focusfirst=1], _ [mode] itemlist: Pipe(|)-separated list of item names; the names can be title-only or full path. ignoreextensions: 0: [Default] Mind extensions when matching the names. 1: Ignore extensions. focusfirst: 0: Keep the focus where it is. 1: [Default] Auto-move the focus to the first selected file. mode: n: [Default] New selection (drop current selections). a: Add the matches to any current selections. r: Remove the matches from any current selections. Example: ::selectitems "Canary.txt", , , "a"; //add to current selections * SC sync: Renamed the "newremoveadd" parameter to "mode" and changed its literal arguments to letters instead of numbers. Syntax: sync(command, [justcalc], [ignoreextensions], [mode]) mode: n: [Default] New selection (drop current selections). a: Add the matches to any current selections. r: Remove the matches from any current selections. Example: ::sync("SelectMatches", , , "a"); //add to current selections ! Removing a removable drive navigated the current tab to "Computer". Conditions: Maxi Tree, Locked Tree, Tree focus on removable drive, current List path not visible in Tree. Fixed. v9.50.0110 - 2010-09-28 20:24 + Tweak to define a sound to be played when all pending background jobs are completed. BJSoundAllDone=<full or portable path to a WAV file> FYI, a "portable path" supports environment variables and native variables, and, if not full, is resolved relative to app path. Note that the sound will be asynchronously (=non-blocking) played one time to its full length and at the current system volume for WAV output. The only way to stop it prematurely would be to execute this script line: ::sound; // stop any playing sound Hence the tip: choose a short sound! :) * Tabs: Improved the shortening algorithm for tab headers with custom format "<drive>: <folder>". Now showing <folder> has priority over showing <drive>. ! Catalog: Since v9.40.0102 - 2010-08-13 17:32 the Catalog did not support DOS-commands and a number of other special location formats anymore. Fixed. ! Auto-updating of Icon Overlays was partly broken since about a week ago. Fixed. v9.50.0109 - 2010-09-28 12:22 + Scripting got a new function. Name: sync Action: Selects items in the active pane in relation to the other pane. Syntax: sync(command, [justcalc], [ignoreextensions], _ [newremoveadd]) command: The sync command to be executed; there are currently five available commands (case-insensitive, A=a): - [Default] SelectMatches - SelectUniques - SelectNewer - SelectUniquesAndNewer - SelectSelected justcalc: 0: [Default] Select the items in the active pane. 1: Do not select anything but only return what would have been selected. ignoreextensions: 0: [Default] Mind extensions when matching the names. 1: Ignore extensions. newremoveadd: 0: [Default] New selection (drop current selections). 1: Remove the matches from any current selections. 2: Add the matches to any current selections. return: Pipe(|)-separated list of selected item names. Examples: ::sync("selectmatches"); ::text sync("selectuniques", 1); Remark: This command obviously corresponds to the Sync Tools dialog in menu Panes. It uses the identical routines. With SC sync you gain access to these routines via UDC, CKS, CTB, etc. * Menu Panes | Sync Scroll: Now if Sync Scroll is enabled, and you then resort any of the lists the other list is automatically sorted the same way. ! Tree did not always refresh correctly when deleting the current folder (under a certain constellation). Fixed. ! Sync Scroll: Could crash with both Lists in List view under certain conditions. Fixed. ! List: With vertical dual pane, and the setting "1st pane flexible, 2nd pane fixed size" in Configuration | Dual Pane, then when changing the panes' height, the right pane creepily grew ever wider. Fixed. This bug came with the width enlargement of the list in v9.40.0105 - 2010-08-31 10:30. v9.50.0108 - 2010-09-27 15:22 + Menu Panes: Added "Sync Scroll" to toggle synchronous scrolling of both panes. When enabled then the relative top index of the active lists/tabs of both panes is stored. When you then scroll the list in either of these tabs the top index relation is restored (if possible) by auto-scrolling the other list. Notes: - When you change to another tab in any of the panes, Sync Scroll is suspended until both original tabs are active again. - Sync Scroll also works when the inactive pane is invisible. - There's also a new toolbar button "Sync Scroll". - Sync Scroll is not stored between sessions. + Sync Tools: Now you can add to / remove from the current selections: - Hold CTRL while OK-ing = Add to the current selections. - Hold SHIFT while OK-ing = Remove from the current selections. + Scripting got a new command. Name: selectitems Action: Selects items in the file list by a list of names. Syntax: selectitems itemlist, [ignoreextensions], [focusfirst=1] itemlist: pipe(|)-separated list of item names; the names can be title-only or full path. ignoreextensions: 0: [default] mind extensions when matching the names 1: ignore extensions focusfirst: 0: keep the focus where it is 1: [default] auto-move the focus to the first selected file Examples: selectitems "Fiji.txt|Tahiti.txt"; //selects 2 islands selectitems "Tahiti.txt", 1; //also selects Tahiti.wav selectitems "C:\Fiji.txt"; //selects Fiji.txt in current list Notes: - The matching is only done against the file titles; when paths are passed they are ignored. - The matching is case-insensitive (A=a). - If itemlist is empty all items are unselected. - There is a bit of smartness built in: if itemlist contains no pipe (|) but CRLF(s) then the list us parsed by CRLF. This means you also can pass items one per line. Remark: You now can easily save and restore a selection using $selections = get("selecteditemsnames", "|"); //store selectitems $selections; //restore * Scripting: SC "new" has been converted to a function. It now returns the full path/name of the newly created item (if any). Syntax: new([name], [type=file|dir], [source], [rename=|r]) Example: ::text new("new file.txt"); Notes - If the rename argument is set to "r" then the returned value is the name of the created item *before* any rename. - The old command syntax is still kept but DEPRECATED. If you are not interested in the return value you should use this syntax: ::new("new file.txt"); //OK ::new "new file.txt"; //DEPRECATED v9.50.0106 - 2010-09-26 20:49 ! Menu Help | Various Information: OS Uptime produced a very long delay on systems where the performance counter is not available (rare but happens). Fixed. ! Menu Tools | Tools Special: "Disconnect Mapped Network Drive..." did not work on Vista/Win7. Fixed. ! Configuration | Advanced | Find Files commands in List context menu: Those commands in the context menu did not work anymore since v9.40.0108. Fixed. v9.50.0105 - 2010-09-25 20:44 + Sync Tools: Added command "Select Newer" (Select all items that are newer than their match in the other pane.) - Sync Tools: Removed command "Select Unselected". Reason: Not very useful, and can easily be emulated by inverting the selection and then using "Select Selected". KISS. ! SC inputselect: The "cancel" argument (added in v9.30.0007) was not correctly implemented with the result that the dialog would get the wrong width, height, and caption. Fixed. ! Rename Special | Set Extension: Ctrl+Enter did not open the Rename Preview. Fixed. ! Sync Tools: A dbl-click to select a command and close the window would "go through" to the main window with its last button up event and cause unselecting any selections if this event happened over the active pane. Fixed. ! Word Preview: The preview hides any rulers but it did not restore their visibility after closing the preview (which also affected the layout in normal stand-alone Word sessions). Fixed. v9.50.0104 - 2010-09-24 21:33 + Sync Tools: Added command "Select Uniques and Newer" (Select all items that are unique or newer than their match in the other pane.) Notes: - Newer is a file or folder where the modified date is at least one full second newer than that of the other item. - If "Ignore Extensions" is ticked then the first match (both lists are compared from top to bottom, with the active pane as the outer loop) is taken to the file time comparison. * Sync Tools: Changed the wording of the other commands all over. * SC makecoffee: Now coffee is served also on the second pane when you are there. Dual Coffee! ! List: Type-ahead find, when using more than one letter, did not correctly wrap around to find items higher than the current pos. Fixed. ! Menu Help | Various Information: OS Uptime was still buggy, and also slow. Fixed again. v9.50.0103 - 2010-09-23 12:01 + Tweak to configure the extra line spacing in Vista, Win7, and whatever is following. Lines in these OSs are generally somewhat higher than in previous OSs and XYplorer adapts to the new style by adding 2 pixels (factory default) to the line height in Tree, List, and Catalog. You can alter this value in the following INI key: WinVistaExtraLineSpacing=2 The value does not affect the line height in pre-Vista OSs. If you set it to 0 then the line spacing will be the same when you switch between Vista+ and pre-Vista. * Menu View | Rebuild Tree: Now, experimentally, the expansion state of the whole tree is preserved when it is a locked Maxi Tree and Configuration | General | Remember state of tree is enabled. + Sync Tools: The dialog now remembers size and position. * Sync Tools: Improved the captions of the actions. ! Menu Help | Various Information: OS Uptime was still slightly off. Fixed. ! The thumbs cache folder was set to <xydata>\Thumbnails by factory defaults and stored with the variable resolved. Fixed: Now the path is stored soft and portable. ! Go Home: List settings were not applied if "Configuration | Advanced | Remember list settings per tab" was completely or partly off. Fixed. v9.50.0102 - 2010-09-22 15:19 ! Sync Tools: Incredibly stupid bug made the "Select Matching" command dysfunctional. Fixed. v9.50.0101 - 2010-09-22 13:40 +++ Menu Panes: Added "Sync Tools", a collection of commands that use the state of one or both panes to affect the state of the other or both panes. Currently there are just four different commands (all pretty self- explaining) and one modifier (Ignore Extensions), by which you can select items in the active pane based on the contents and selections in the inactive pane (be it visible or not): - Select Matching Select all items that are shown in the other pane. - Select Non-Matching Select all items that are not shown in the other pane. - Select Selected Select all items that are selected in the other pane. - Select Unselected Select all items that are unselected in the other pane. Notes: - The last used command and the state of the modifier are saved between sessions. - Matching is case-insensitive (A=a). - More commands will be added to Sync Tools in future. + Scripting got a new command. Name: makecoffee Action: Makes a good cup of coffee. Syntax: makecoffee Example: ::makecoffee; Remarks: Call again for another cup. ! Dialogs like the Rename Previews, List Managers, Action Log, Background Jobs, and Background Job Details should remember their last position and size, but be centered in the parent form by factory default. Due to a flawed logic, however, they did fall back to factory default when the user positioned them at pos (0,0) or at negative values. Fixed. ! Menu Help | Various Information: OS Uptime was buggy. Fixed. v9.50.0100 - 2010-09-21 12:00 = MAINTENANCE RELEASE. +++ Office Preview: Now Word documents (doc, docx) are previewed in a technically completely new way which should take care of the known issues when attempting to preview Office 2007 through Internet Explorer. +++ Bug fixes. v9.50.0100 - 2010-09-21 10:00 + Scripting got a new function. Name: format Action: Returns a string formatted. Syntax: format(string, style) string: String to format: can be a number or a date. style: Description of the desired format. return: The formatted string. Examples: ::text format(1, "000"); //001 ::text format(1234.56, "#,0.00"); //1,234.56 ::text format(<date>, "yyyy"); //2010 ::text format(<date>, "dd-mmm-yy"); //20-Sep-10 ::text format(<date>, "dddd"); //Monday (in your locale) // create a number of empty TXT files in the current folder $numfiles = input("Number of files to create", , "10"); $i = 1; while ($i <= $numfiles) { new "file" . format($i, "000") . ".txt"; $i++; } Remark: This function perfectly mirrows the Format function in Visual Basic 6. See more information and examples here: http://msdn.microsoft.com/en-us/library/59bz1f0h%28VS.71%29.aspx * Tab Icons: From now on the commands Refresh File List (F5) and Refresh and Reset File List (Ctrl+F5) will also refresh the icon of the current tab. * Updated the help file. v9.50.0015 - 2010-09-20 15:22 * Configuration | Previewed Formats: Reorganized the interface. Also fixed a mysterious bug that only attacks Greeks. v9.50.0013 - 2010-09-20 12:30 * Configuration | Startup & Exit: Removed the grey labels at the bottom. All this info is now available in Menu Help | Various Information. * Menu Help | Various Information: Slightly reorganized the top and added OS Uptime as extra service. ! Menu Help | Various Information: Did not auto-adjust the height correctly depending on the current font settings. Fixed. ! Auto-Refresh: Did not update any folder sizes in the file list when items were deleted in subfolders of the current folder. Fixed. v9.50.0011 - 2010-09-19 12:44 + Menu Help | Various Information: Now shows load time, uptime, and memory usage. * Menu File | Settings | Save Copy of Configuration As...: Now you are allowed to save a copy of the configuration file (usually XYplorer.ini) outside the app data folder. In that case no pane data are saved along with the configuration file because pane data have to be located under the app data folder. * Menu File | Settings: Renamed "Backup All Settings..." to "Backup Application Data Folder..." because that's what it does. ! Word Preview: Switching between Word and certain other previews did not work as expected. Fixed. v9.50.0010 - 2010-09-18 09:55 * Word Preview: Relaxed the locked state of the preview because of several problems with it. Main advantage: Now you can select and copy any parts of the previewed contents. An unwanted side-effect is that you now can *apparently* edit the contents -- however, there is no risk: the changes will NOT be saved; it is just the preview you edit, not the original file! * Word Preview: Removed the horizontal scrollbar. It's superfluous with "best fit" view. v9.50.0009 - 2010-09-17 11:58 * Office Preview: Word preview improved. - Word documents are now opened read-only. - No temporary hidden file is created during the preview. - Rulers are hidden. - Page is shown in "best fit" view and adapts to resizing the preview area. ! Configuration | Thumbnails | Clear...: Did not work when the thumbs cache folder was given in portable format. Fixed. v9.50.0008 - 2010-09-15 12:21 * Office Preview: Now Word documents (doc, docx) are previewed in a technically completely new way which should take care of the known issues when attempting to preview Office 2007 through Internet Explorer. v9.50.0006 - 2010-09-14 20:30 * Menu Edit | Select | Selection Filter...: - Swapped the functionality of Ctrl+OK and Shift+OK: Ctrl+OK: Add matches to the current selections Shift+OK: Remove matches from the current selections - Now Ctrl+Enter and Shift+Enter work just as Ctrl+OK and Shift+OK. No rat required. * Menu Edit | Select | Select Items...: Defined Ctrl+Shift+M as default KS. * File Tags: The context menu (of Tags TB button, and of tags column) command "Select All "[Tag Name]"" can be modified by modifier keys. Now the functionality of Ctrl and Shift swapped: - Hold None: Select all [tag] items, unselect all other items. - Hold CTRL: Select all [tag] items, keep other selections. - Hold SHIFT: Unselect all [tag] items, keep other selections. v9.50.0005 - 2010-09-14 12:32 ! Permanent Startup Path was not added to history on startup. Fixed. ! Edit User Button dialog: The new Clear button was triggered by ESC. Fixed. v9.50.0003 - 2010-09-13 21:35 + Rename Special: Added command "Edit Item Names..." by which you can edit the names of the selected List items in a multiline text box. Depending on your rename tasks this offers an elegant way to handle them. You might even copy the names to a full blown editor, do some fancy things with them, and then paste them back to the dialog and perform the rename. Notes: - Empty lines or missing lines at the end of the list will be taken as "don't rename this item"; excessive lines at the end of the list will be ignored. - With this rename the Rename Preview is unconditionally invoked before the actual rename is performed. + Edit User Button dialog: New button "Clear" to clear all fields. Hint: The "undocumented" Copy/Paste Snippet menu now pops on right-clicking this button. v9.50.0002 - 2010-09-12 18:53 + Configuration | Startup & Exit: Added "Expand in tree". If checked then the Permanent Startup Path (if any) will be guaranteed to be expanded on next startup. If unchecked it will only be expanded if on last exit it was the last path and expanded. * List: In view mode "Details with Thumbnails" the File Info Tips now also appear when hovering the thumbnail. ! SC recase with "title" argument did not count line breaks as word delimiters. Fixed. Example: ::text recase("tEXT<crlf>tEXT", "title"); //Text¶¶Text ! Catalog: Since v9.40.0102 - 2010-08-13 17:32 the Catalog did not support Aliases anymore. Fixed. ! Rename Special | Mp3 Special: "ID3 Tag to Filename" would only happen when the file's ID3 tag had an Artist entry. Fixed. ! Tree: On startup, when a Permanent Startup Path was set, the expanded state of the last folder on last exit was inherited by the new startup folder. Fixed. Now a startup folder that's set by Permanent Startup Path is always collapsed, unless it was the last folder anyway and expanded, or "Expand in tree" is checked. v9.50.0001 - 2010-09-09 11:15 + Scripting got a new function. Name: recase Action: Changes the case of a string. Syntax: recase(string, [mode]) string: String to change case of. mode: One of the following: lower = [default] to lower case upper = to upper case title = to title case (first letter of each word to upper case, other letters to lower case) return: String with changed case. Examples: ::text recase("tEXT", "lower"); //text ::text recase("tEXT", "upper"); //TEXT ::text recase("tEXT", "title"); //Text * SC readurl got a new StripHTML parameter which can be used to return the (ideally) pure text without any HTML formatting. - ReadURL Action: Returns the contents of a web file. Syntax: readurl(url, [nocookies], [StripHTML]) url: [required] URL nocookies: [optional] 0 = use cookies 1 = don't use cookies StripHTML: [optional] 0 = return unchanged HTML 1 = strip HTML comments and tags, scripts and styles, convert some common HTML entities, and remove excessive tabs, spaces and empty lines return: url's contents Examples: ::text readurl("http://www.xyplorer.com/download.htm", 0, 1); ::text readurl("http://www.xyplorer.com/tour/ _ index.php?page=portable", 0, 1); ! The recently added variable <items> (introduced in v9.40.0110 - 2010-09-03 15:27) was in conflict with an already existing variable of the same name that was restricted to the context of OpenWith (SC openwith and UDC OpenWith). To resolve the conflict the recently added variable has been renamed to <selitems>. Both <selitems> and <items> are functionally identical (they return a space-separated list of the currently selected list items in quotes and with full path, ordered as listed from top to bottom) but are used in different contexts. ::echo <items>; //does not work (but only in OpenWith) ::echo <selitems>; //works Real world use case: To register all currently selected files you can now use this DOS command through the Address Bar: !!regsvr32 <selitems> v9.50.0000 - 2010-09-06 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Select Items. The new interface "Select Items..." lets you select items by a list of item names. +++ Selection Filter. The Selection Filter now can be limited to select only files or only folders. +++ Selection Filter. Now you can add to or remove from the current selections. +++ DOS commands. DOS commands now support XY native variables and Environment variables. +++ Titlebar. Now you can define the layout of the main window's titlebar. +++ Scripting. Now you can run a script directly from the command line. .......... XYplorer ver 9.40 ........................................................ v9.40.0115 - 2010-09-06 10:11 * Configuration | General | Remember state of tree: Now the state of the Maxi Tree is also remembered if "Don't save history" is ticked. v9.40.0114 - 2010-09-05 17:51 * Updated the help file. v9.40.0113 - 2010-09-05 13:54 + Menu Panes: Added command "Swap Panes". Swaps the locations of both panes. Tip: Hold SHIFT to open the locations in a new foreground tab on each pane. * Menu Window: Renamed "Show Tabs" to "Show Tab Bar" "Show Statusbar" to "Show Status Bar" v9.40.0112 - 2010-09-04 20:31 + Menu Edit | Select | Selection Filter...: Now you can add to or remove from the current selections. - hold SHIFT while clicking OK in the Selection Filter dialog = Add matches to the current selections - hold CTRL while clicking OK in the Selection Filter dialog = Remove matches from the current selections * Menu Edit | Select | Select Items...: Now URL queries are allowed and ignored in the listed items. For example, this... http://www.xyplorer.com/xyfc/viewtopic.php?f=3&t=5502&p=51346 will now match viewtopic.php + Configuration | Templates: To suppress the automatic upgrade notice in the titlebar (it is shown when you first run a new XYplorer version), you can now add the pseudo-variable <nun> (= No Upgrade Notice) anywhere to the template. E.g.: <path> - <app> @ <ini> - <ver><nun> v9.40.0111 - 2010-09-04 15:18 + Configuration | Templates: Added Titlebar, elevated from tweak TitlebarTemplate. Here you can define the layout of the main window's titlebar. The factory default is: <path> - <app> @ <ini> - <ver> You may add or remove what you like, in any order. There's only one rule: The <app> variable (resolved to the EXE base name, normally XYplorer; if XYplorer is not part of that name it is added to the titlebar anyway) is mandatory. Variables supported in the Titlebar Template: - <path> = current path - <app> = this EXE base name - <ini> = current INI file (without path) - <ver> = this EXE version - <folder> = current folder (without path) - All other XY native variables, e.g. <date>, <xydrive>, <get pane>, <get userrole> etc. ! When a backup operation targeted the <xydata>\NewItems folder, the New Items menu was not auto-updated as expected. Fixed. * Tree: When selecting a new folder by keyboard (= on KeyUp), there will now be a 300 msec delay before the browsing is attempted. This will prevent the usual hang when you meet locations that aren't available for whatever reasons (floppies, unconnected network locations, empty CD-drives, etc.). This is in accordance with Explorer's behavior. * Configuration | File Operations | File operation progress dialog modeless: This is now enabled by factory default. v9.40.0110 - 2010-09-03 15:27 + Menu Edit | Select | Select Items...: Added a checkbox "Ignore extensions". If checked then matching is done only against the base of the given item names. The state of the checkbox is remembered within the session. ! Startup when the current tab pointed to an un-mounted USB drive would lead to an error and immediate exit. Bug was born about 4 weeks ago. Fixed. + Address Bar: DOS commands now support XY native variables and Environment variables. Examples: !dir "%temp%" /p !!regsvr32 "<curitem>" !!regsvr32 <items> + New variable <items> returns a space-separated list of the currently selected list items in quotes and with full path, ordered as listed from top to bottom. ::echo <items>; Real world use case: To register all currently selected files you can now use this DOS command through the Address Bar: !!regsvr32 <items> v9.40.0109 - 2010-09-02 15:33 + Menu Edit | Select | Selection Filter...: Now you can restrict the selections to files or folders. This is achieved by attaching one of the following prefixes to the pattern: *: => select files only \: => select folders only Examples: new* Select all items starting with "new" *:>new* Select all files starting with "new" \:>new* Select all folders starting with "new" Also works with RegExp: >^new Select all items starting with "new" (RegExp) *:>^new Select all files starting with "new" (RegExp) \:>^new Select all folders starting with "new" (RegExp) The prefix must precede any other prefix: *:!>^new Select all files NOT starting with "new" (RegExp) *:!type:doc Select all files where the Type does NOT have "doc" * Menu Edit | Select | Select Items...: Now you can pass paths and even encoded URLs with the item names. The paths will be ignored and the encodings resolved. For example, the following lines will all select the file "Arial Unicode MS.zip" in the current list: c:\files\A\Arial Unicode MS.zip \\192.168.0.2\Fonts\Arial Unicode MS.zip file:///c:/files/A/Arial Unicode MS.zip http://www.sofontes.com.br/files/A/Arial Unicode MS.zip http://www.sofontes.com.br/files/A/Arial%20Unicode%20MS.zip v9.40.0108 - 2010-09-01 20:24 + Menu Edit | Select: Added command "Select Items..." by which you can select items by a list of item names (one per line). - Item names should be only file titles, no paths. - The sequence of the item names does not matter. - Leading and trailing spaces around each name are allowed and ignored. - Matching is case-insensitive (A=a), so you can state the names with wrong capitalization and still have them selected. - XY native and environment variables are allowed (though rarely useful here, I think). - The last used list is remembered within the session. Example List: ReadmeXY.txt LicenseXY.txt Use Case: Yesterday I updated ten screenshots for the website. Before copying them to the large (hundreds of images) production folder (thereby overwriting the previous versions) I wanted to store the ten old versions somewhere else. But I was too lazy to select them manually because they were scattered all over a large list and I would have to scroll and peak for them manually (or "eyeally") and select them one by one using Dual Pane to check and compare their names. So that was enough for me to add this new command. Now it's a matter of seconds to shoot some file names up the clipboard (Ctrl+Shift+P) and paste them into the "Select Items..." box to have them selected. :) * List white space context menu: Now the Select commands are stuffed into a submenu. * List: Since v9.11.0001 inline-rename checks whether the item to be renamed is in use. Now there's a 500 msec delay (and then a 2nd check) before the message is popped: "The item cannot be renamed because it is currently opened by another application." v9.40.0107 - 2010-08-31 21:34 + Now you can run a script on startup directly from the command line. The new switch is /script=<script resource>, where <script resource> can be (1) The path to a script file (commonly called *.xys). The file spec is resolved as in SC load, so you can skip the XYS extension. You can also skip the path if the XYS file is located in the default scripts folder. For example XYplorer.exe /script=test would run the file <xyscripts>\test.xys on startup. If the path contains spaces it must be quoted: XYplorer.exe /script="C:\Zen\test one.xys" (2) A script. It must be preceded by ::, and it must not contain double quotes or other characters that might lead to problems when parsing the command line. For example XYplorer.exe /script="::msg 'Welcome to XY!';" Note the quotes which are needed because of the space in the script line. Note that this feature is not available in the Home Edition. ! Scripting: Since 2010-07-19 scripting-induced changes of the active pane (e.g. by use of SC focus) were not correctly registered by some other commands within the same script. Fixed. v9.40.0105 - 2010-08-31 10:30 * List: Experimentally enlarged the width by 2 pixels by removing the right border (unless it's the left list in DP mode), so that any vertical scrollbar touches the right window border. This is in accordance with Explorer's behavior. A particular advantage of this new behavior is that in a maximized XY window you now can throw the mouse pointer at the right window margin and be sure to hit the vertical scrollbar if there is any. Another advantage is that 2 horizontal pixels are gained. * Menu File | Settings | Backup All Settings...: Now the last used target path is remembered and preselected when you use the command the next time. Before, always the current path was preselected. + SC sel enhanced. Now you can identify items from the end of the list by using negative positions and setting the startfromtop argument. Examples: sel -1, , 1; //select the last item in the list sel -2, , 1; //select the pre-last item in the list * SC getinfo. Changed it to "get". "getinfo" is officially obsolete, but it is kept for back compatibility so no need to change your old scripts. + SC get enhanced. New argument "view" will return the index of the current list view (active pane). Example: msg get("view"); Possible returns and their meanings: 0 = Details 1 = Details with Thumbnails 2 = List 3 = Small Icons 4 = Thumbnails #1 5 = Thumbnails #2 6 = Thumbnails #3 ! Tree: Changing the attributes of a folder within XYplorer (via the Properties pane), it did not update any Color Filter induced coloring in the Tree. Fixed. ! Move To (etc.): When the target path had to be created on the fly, the Tree was not refreshed and the folder creation was not logged for Undo/Redo. Fixed. v9.40.0104 - 2010-08-15 13:31 + Menu Help | Various Information: Hold CTRL to get some speed related information about your current settings. v9.40.0103 - 2010-08-14 15:43 + Menu Go: All commands concerned with going to a new location now support Ctrl+Shift+Click to use the inactive pane, even the "Go to Last Target" (incl. selecting the target files) command. In the "Go to" dialog you can hold Ctrl+Shift while clicking OK. v9.40.0102 - 2010-08-13 17:32 + Now you can force opening a folder in the other pane (inactive pane) by holding Ctrl+Shift while triggering the open. This works in the following contexts: - All sorts of location menus: History (Back, Forward); Breadcrumb; Favorites; Drives; Recent Locations; Hotlist; etc. - List: Ctrl+Shift+DblClick an item If the item is a file the containing folder is opened and the file is selected. It does not work in Tree, Catalog, and Address Bar. Quite useful little trick when you work with Dual Pane. Especially nice when the active pane shows a recursive search results listing which you want to explore further on the other pane. * Renaming locked items on Win7: You can now escape the "endless" message loop where Win7 again and again shows the same message by holding ESC down until the message finally disappears for good. ! Catalog: Did not yet fully support native variables (<xydata> etc.). Fixed. v9.40.0100 - 2010-08-12 12:00 = MAINTENANCE RELEASE. +++ Bug fixes. v9.40.0009 - 2010-08-11 21:10 ! History Retains Selections: A selected and focused item was not made the current item. Fixed. ! Tabs: The Clear Type related fix from v9.40.0007 had a bad side effect on tabs with a custom background color. Fixed again. v9.40.0008 - 2010-08-11 14:43 ! Menu Go | Up: Did not work correctly with a Locked Tree and tweak AutoSelectMRUSubfolder=0. Fixed. $ The Home License went up from 19.95 to 29.29 Euro which is still very cheap for its relative value compared to the Pro License, but not such an extreme dumping as before. Actually the price is now identical to that of the Standard Pro License. Additionally now there are also Volume Discounts for the Home License. v9.40.0007 - 2010-08-10 20:37 + Configuration | General: Added option "Scroll to top after sorting". If enabled the list is auto-scrolled to top when you change the sort order. Additionally, if there are no selections in the list, the focus is auto-shifted to the top item. Note that the option is honoured only when no current item is kept in view due to an enabled "Keep current item in view after sorting" (IOW, the latter setting takes precedence). Note that this option elevates the tweak added in v9.40.0005 - 2010-08-09 21:57 to UI level. * Both "Keep current item in view after sorting" and "Scroll to top after sorting" are now enabled by factory default. ! Info Panel | Find Files: Color-marking the tab headers for enabled filters did not work well with Clear Type enabled (color artifacts accumulated). Fixed. ! Tabs: Same issue as above with drag-hovering tabs in Visual Style "XYplorer Classic". Fixed. ! SC getinfo("SelectedItemsPathNames") and getinfo("SelectedItemsNames") returned a trailing delimiter after the last returned item. Fixed. Now delimiters are found only between the items. v9.40.0005 - 2010-08-09 21:57 * List: Before (since v6.00.0014 - 2007-05-23 09:01), holding CTRL while re-sorting the list would invert the setting of "Keep current item in view after sorting". This, however, was a usability nightmare because you needed to know the state of the config setting to know what holding CTRL meant. From now on, holding CTRL while re-sorting the list will always keep the current item in view -- no matter whether "Keep current item in view after sorting" is enabled or not. It will even keep the focused item in view when it is not selected, so CTRL gives you even a little more power than the config setting. + Tweak to control whether the list scrolls to top after sorting when no current item is kept in view. Factory default is 1. ScrollToTopAfterSort=1 v9.40.0004 - 2010-08-07 10:05 + Tweak to toggle the service that selects the recent subfolder (taken from the "Recent Locations" data) when going Up or Down. The factory default (and hitherto hardcoded setting) is 1. AutoSelectMRUSubfolder=1 Additionally to Up and Down (menu Go) this service also sets in when you enter a subfolder via the file list, and (this is new!) when you go to a location via breadcrumb. This tweak is supported by SC tweak: tweak("AutoSelectMRUSubfolder", 1); tweak("AutoSelectMRUSubfolder", 0); * Configuration | General | Keep focused item in view after sorting: Renamed it to "Keep current item in view after sorting" which now fits better. * Updated the help file. ! Recycle Bin: To browse a recycled folder, SYSTEM and HIDDEN items have to be shown (Configuration | General | Show system files and folders) because the real (not the virtual) Recycler is SYSTEM and HIDDEN. The bug was that you were not notified about this but ended up on the drive root of the Recycler path you attempted to go to. Fixed. Note that this was only an issue in Maxi Tree; the Mini Tree is tolerant about these settings and simple shows the folders you need to see. ! Tree: When switching from Mini to Maxi Tree on a current path that was hidden from the Maxi Tree, there was a bizarre (but hardly visible) drawing glitch, and tree and list got out of synch. Fixed. v9.40.0003 - 2010-08-06 09:37 ! Tree: Keys DEL and F2 did not work in the Tree since v9.40.0002. Fixed. ! Copy/Move Here As... did not honour "Exclude extension on rename" anymore. Fixed. ! List: Would not drop anything into a selected and focused folder (e.g. from one pane to the other). Fixed. v9.40.0002 - 2010-08-05 20:12 + Menu File | Duplicate: The following commands (originally added v6.40.0033 - 2007-10-31 11:03) have been elevated from CKS | Miscellaneous | File Operations to UI level and are now found in the Duplicate submenu: - Copy Here to New Subfolder... (Ctrl+Shift+C), #1042 - Move Here to New Subfolder... (Ctrl+Shift+X), #1041 Note that both commands only work on the selected list item(s), and are disabled if the file list is not focused. (They work however in scripting on selected items in a non-focused list.) I'm aware that "Move Here to New Subfolder" does not fit under the heading Duplicate, but hey... I'm confident your brain can handle it. * Main Menu: Removed the word "Suffix" from all captions like "Copy Here with Suffix Date Modified". Also "Date Now" has been rephrased to "Current Date", and "Date Modified" to "Last Modified Date". + Configuration | Templates | Date affix: Now the template supports the variable <folder> that is resolved to the moved/copied file's parent folder (only the folder, not the whole path). Example for a template: *-<date yyyymmdd> (<folder>) Note that the presence of this variable in the template is not reflected in the related commands' menu captions, so this variable is rather a very special option that you have to make a mental note about when you use it. * List: Now when changing the sort order and there are no selections the list is auto-scrolled to top and the top item is auto-focused -- regardless of the setting of Configuration | General | Keep focused item in view after sorting. IMO a small change with a big usability gain. v9.40.0001 - 2010-08-04 13:25 + Configuration | Templates | Date affix (previously "Date suffix"): Now this template can define a prefix, a circumfix, or a suffix (previously it could just define a suffix). To this purpose the file base is represented by an asterisk in the pattern. The (optional) date uses the <date ...> syntax known from XY variables. This template is employed for example when files are copied or moved using "Copy (Move) Here with Suffix Date Now (Modified)". Examples for copying a file called "Test.txt" using various affix templates: *-<date yyyymmdd> = Test-20100803.txt <date yyyymmdd> * = 20100803 Test.txt Copy of * = Copy of Test.txt Copy of * from <date yyyymmdd> = Copy of Test from 20100803.txt Notes: - If the asterisk is missing the pattern is by default suffixed to the file base. - Each asterisk is replaced by the base, so you can do bizarre things like this: ** = duplicates the base of the copied (moved) items UPGRADE NOTE: - When upgrading to this version the Date affix is reset to the factory default *-<date yyyymmdd>. + Configuration | Previewed Formats: Now you can add files without any extension as a separate file type to any of the file type groups. To do this state "<none>" (without the quotes) as the extension. * List: Now when right-click DnD'ing some files onto a folder, the target folder is kept highlighted while the popup menu is displayed. * Configuration | General | Keep focused item in view after sorting: From now on this setting is ignored if there are no selections in the list. + Tweak to select list items by clicking the whole Name column, not just the caption: ListFullNameSelect=1 The tweak is ignored if Full Row Select is enabled. ! Catalog: When adding selected items via context menu, the icons where not immediately updated in the Catalog. Fixed. ! Catalog: Insert a New Category Here | Clipboard Item(s) did not work at all due to a false index. Fixed. ! List: Drawing glitches and confusion when using the wheel while lasso selecting. Fixed the glitches and abolished the combination of lasso and wheel. Once you wheel you lose the selections and the lasso. v9.40.0000 - 2010-08-02 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Portable Tabs. Now tabs can be made fully portable by pointing them to a portable path that is resolved depending on the context, for example %userprofile%. Portable Tabs smartly adapt their contents to the current host system. +++ Go to Last Target. Now the copied or moved items found in the target location are auto-selected when you go there using the "Go to Last Target" command. A surprisingly useful little service. +++ History Retains Selections. Now (optionally) if you return to a previous location, any previous selections in this location are restored. +++ Portable File Associations. Now you can define associations for files without extension. +++ Tree. Now tooltips of junctions display the Junction Target. +++ Scripting. This new version comes with a couple of powerful new or improved scripting commands like inputselect(), tab(), listfolder(), and report(). +++ Address Bar. Now right-clicking the dropdown arrow pops the breadcrumb menu for the current path. .......... XYplorer ver 9.30 ........................................................ v9.30.0029 - 2010-08-01 17:32 + SC GetToken enhanced. Now you can pass "count" as second parameter to retrieve the token count in the string. Note that the function returns 0 when the string is empty. text gettoken("a,b", "count", ","); // 2 text gettoken("a,", "count", ","); // 2 text gettoken(",", "count", ","); // 2 text gettoken("", "count", ","); // 0 v9.30.0028 - 2010-07-31 17:48 + Menu Scripting: Added command "Run Script..." which opens a multiline edit box where you can enter a script and run it. The command is near identical to "Try Script..." but does not enforce Step Mode. Both commands share the same remembered contents when the dialog is opened again, and also the same last size and position. Note that the dialog has context sensitive help: F1 will open the Scripting Commands Reference. v9.30.0025 - 2010-07-31 12:51 * Updated the help file. ! There was a problem with the MIDI preview on some systems. Fixed. v9.30.0024 - 2010-07-30 18:43 + Tree: Now a tree with a horizontal scrollbar auto-scrolls into view when you drag-hover the left or right margins, aka Hot Scrolling. * SC replacelist enhanced. Now if you state only one replace unit, all items in the search list are replaced with that one unit. Removal of items is just a subcase of the rule (replace all items in search list with nothing). Examples: ::text replacelist("Taxi", "ai", ""); //Tx ::text replacelist("Taxi", "ai", "u"); //Tuxu ::text replacelist("Taxi", "a,i", "ou", ","); //Touxou * List | Inline Rename. Now it's a three-step circle when you repeatedly press F2 on a filename with extension. 1) select, extension excluded 2) select, extension included 3) unselect, caret to end With Configuration | General | Exclude extension on rename ON the circle starts at 1), else at 2). + Tweak to preview audio files in an alternative manner. This might help if XYplorer does not play MIDI files using the factory defaults: AudioMCICustomExtensions=mid + Mini Tree: Non-existing drives or folders now can be removed via context menu ("Hide Folder from Mini Tree"). v9.30.0023 - 2010-07-29 12:14 + Scripting got a new function. Name: listfolder Action: Lists the contents of a folder (non-recursive). Syntax: listfolder([path=<curpath>], [pattern=*], [filesonly], _ [separator="|"]) path: Path of folder to list; defaults to current list path. Special paths ("Desktop") and portable paths ("?:\") are supported. pattern: Wildcard (?, *) pattern to filter returned items; defaults to "*" (show all). If no wildcards are contained, the pattern is auto- embraced by "*". filesonly: 0: show folders and files [default] 1: show only files separator: Separates the items in the returned list; defaults to | (pipe). return: List of items. Notes: - The order of items is determined by the OS resp. file system. For XP/NTFS and later it's alphabetical, files and folders mixed. - The possibilities this command brings to scripting are mind- boggling. Examples: //list all items current list folder ::text listfolder(); //list all items in %windir% that contain "y" in the name ::text listfolder(%windir%, "y", , <crlf>); //list all DLL files in %windir% (typically C:\Windows\) //and give a short report on them ::$itemlist = listfolder(%windir%, "*.dll", 1); text report("{Name}, {Size B} bytes, {Modified yyyy-mm-dd hh:nn:ss}, ver {FileVersion}<crlf>", $itemlist); //list all DLL files in %windir%, select one to go to ::$itemlist = listfolder(%windir%, "*.dll", 1); goto inputselect("DLLs in %windir%", $itemlist, , 1); + Scripting got a new function. Name: replacelist Action: Replaces substrings by list. Syntax: replacelist(string, searchlist, [replacelist], _ [delimiter], [matchcase]) string: String to work on (haystack). searchlist: Substrings to be replaced (needles). replacelist: Substrings to replace with. empty: All substrings in searchlist are removed. delimiter: Delimites the strings in the lists. empty: Each character is taken as a substring. matchcase: Compare method. 0: A=a [Default] 1: A<>a return: The new string. Examples: ::text replacelist("Taxi", "ai", "ia"); //Tixa ::text replacelist("Taxi", "ax,i", "-,Rex", ","); //T-Rex ::text replacelist("Taxi", "ai"); //Tx Notes: - As you see from the 2nd example, the strings in search-replace pair can have different lengths. - If the item count in both list differs, then the smaller count is used and the surplus items are ignored. - The string is walked on time from left to right; any replaced parts are not processed again. So in this example, "Rex" will not be replaced by "Bone" in a second pass: ::text replacelist("Taxi", "ax,i,Rex", "-,Rex,Bone", ","); - The substrings are processed from left to right, first match wins. Therefore: ::text replacelist("Taxi", "a,ax", "i,ox"); //Tixi ::text replacelist("Taxi", "ax,a", "ox,i"); //Toxi Usage: - This command can be used for interesting things, e.g. to (roughly) transliterate e.g. Cyrillic to Latin, or do some simple encryption, or clean file names from undesired characters. * SC report(): Merged the "onlyselected" and "itemlist" parameter! New syntax: report([template], [itemlist], [header], [footer]) itemlist: 0 or "" = all current list items 1 = all currently selected list items else = pipe(|)-separated list of items (full path). Example for a report about a single specific item: text report(" {Name}, {Size B} bytes, {Modified yyyy-mm-dd hh:nn:ss}, ver {FileVersion}", "E:\XY\XYplorer\XYplorer.exe"); * Menu Go | Go to Last Target: Auto-selection of target items is not dependent on the setting of "History retains selections" anymore. It simply is done always. ! Spot & Jump: Would not spot a pattern when "Configuration | General | Type-ahead find uses sorted column" was enabled and the list was sorted by Ext, Type, or Path. Fixed. Spot & Jump now always works on the Name column independently of this setting. v9.30.0022 - 2010-07-28 20:12 + SC report() enhanced. Added new optional argument "itemlist", where you can state the items that you want a report about. Syntax: report([template], [onlyselected=0], [header], [footer], _ [itemlist]) itemlist: pipe(|)-separated list of items (full path). Example for a report about a single specific item: text report(" {Name}, {Size B} bytes, {Modified yyyy-mm-dd hh:nn:ss}, ver {FileVersion}", , , , "E:\XY\XYplorer\XYplorer.exe"); v9.30.0021 - 2010-07-28 11:44 + Menu Go | Go to Last Target: Now the copied or moved items found in that target location are auto-selected when you go there using this command. This service is only active when "History retains selections" (which is a similar service) is enabled. Note that any cancelled overwrite prompts are not taken into account here, so the selections are done *as if* all copies/moves actually happened. Every new copy/move will overwrite the previous last target data. And, just like the target folder itself, these selections are not remembered between sessions. v9.30.0020 - 2010-07-27 21:00 ! Configuration | Previewed Formats: Focusing the top listbox would cause a total freeze on systems with DBCS codepages (e.g. Chinese). Fixed. v9.30.0019 - 2010-07-27 10:52 + Address Bar: Now right-clicking the dropdown arrow pops the breadcrumb menu for the current path. Ctrl+RClick to get the popup of the MyComputer toolbar button with virtual folders and drives. + Moving or renaming items with XYplorer did not notify the shell about it, so other apps could not auto-update their display accordingly. Now the notification is done. v9.30.0016 - 2010-07-26 19:52 ! Tree: Improved the automatic refresh of the Tree pane for non- current folders. Now all nodes (incl. special paths) should be updated correctly, directly and smoothly, including all folder related data like highlights, tags, favorites, thumbnail caches etc. -- even if those nodes are not shown currently in the tree! As long as XY is running then every change to the file system by any other app should be auto-adjusted to in XYplorer's various path related data. That's the goal and we are quite near. ! Portable Tabs: The tab icon was not correctly updated when going to a location under a tab with a "soft locked home zone" (e.g. <xydata>). Fixed. v9.30.0015 - 2010-07-26 14:31 + SC tab enhanced: The operation "get" got a new data parameter: text tab("get", "term"); //path with any VF or QS Returns the same as Copy Location Term. + Tree: Now if hovering a junction the tooltip displays the Junction Target. ! Inline Rename auto-committed after creating a New Folder or New Text File on some systems under certain circumstances. Fixed. ! Thumbnails: Switching to and from and thumbed search result list would overwrite the disk cache of the previous list under certain conditions. Fixed. * Thumbnails: Thumbnails in a search results list are now kept in memory when you switch to a non-thumb mode or to another tab with a non-thumb mode. So thumbs do not have to be generated again when re-opening the search results list. Note that this is true even if "Configuration | Thumbnails | Cache thumbnails of search results, too" is off! v9.30.0014 - 2010-07-25 12:06 + SC tab enhanced: The operation "get" got new data parameters: text tab("get", "caption"); //caption of a tab (as displayed) text tab("get", "name"); //name of a tab (as set by rename) text tab("get", "path"); //(resolved) path of a tab text tab("get", "data"); //(unresolved) data, e.g. %temp% Since "get" is the default operation this way works as well: text tab(, "caption"); ! Tabs: With Tools | Configuration | Tabs | Tabs Captions | Full Path enabled, tab captions were not displayed anymore. Fixed. ! Portable Tabs: Glitch in keeping the branch portable where a sibling folder outside the branch was seen as being inside the branch if it half-matched the branch path. D:\Test2 was seen as child of D:\Test. Fixed. + Portable File Associations: Now you can define an association for files without extension. The pattern to use is "*." (without the quotes). For example, to open all files without extension with UltraEdit: "No extension" *.>UEdit32 Note: This pattern does not match folders. v9.30.0012 - 2010-07-24 17:03 ~~~ Tabs: Heavy rewriting of the code base became necessary to make portable tabs really shine. You should note nothing of it if all worked out. Whatever, it's a good day to make a backup of your app data!!! + Portable Tabs: Now when you move within the portable branch the location is kept portable (i.e. the variable part is not resolved). So, you can have a tab pointing to say "%temp%" (and optionally apply a Locked Home Zone to it) and move around within the %temp% branch without losing the portability of the tab. Tip: To point a tab to app path in a portable way simply enter nothing in Relocate Tab... -- an alternative to <xypath>. + Portable Home: Menu View | Current Tab | Set Home, Go Home, and Lock Home Zone now also support portable locations. So you can e.g. set the Home to "%temp%" if the current tab is pointing to "%temp%". * SC seltab: Now supports negative indices to point to tabs from the right end, for example: seltab; //select the default tab (if any, else do nothing) seltab 1; //select left most tab seltab 0; //select current tab (reverts to tab's saved settings) seltab -1; //select right most tab * SC tab: From now on the index is 1-based, i.e. the first tab has index 1! This is analog to SC seltab. Index 0 can be used to refer to the current tab. tab("lock"); //lock toggle current tab tab("lock", , 0); //lock toggle current tab tab("lock", , 1); //lock toggle first tab tab("lock", , -1); //lock toggle last tab + SC tab enhanced: New operation "sethome". Sets a Home path to the current or any other tab. tab("sethome", '%temp%'); //set home %temp% to current tab tab("sethome"); //remove any home from current tab tab("sethome", '%temp%', 6); //set home %temp% to tab 6 Note: If you set the home of a non-current tab then all relevant list settings of the *current* tab are used for the home definition of that other tab. Remark: The tab("sethome") operation is currently the only way to *remove* a home from any tab. + New variable: <curtab> = location spec of the current tab. text <curtab>; // %userprofile% text <curpath>; // C:\Dokumente und Einstellungen\Donald v9.30.0010 - 2010-07-23 08:59 * XYplorer native variables are now resolved within location terms, so now you can enter things like this into the Address Bar and any other location port (Catalog, Favorites, etc.): <xypath> <xypath>\appdata + SC tab enhanced: New operation "filter". Applies a Visual Filter to the current or any other tab. tab("filter", "*.txt"); //apply filter "*.txt" to current tab tab("filter"); //remove any filter from current tab Remark: SC filter is now obsolete, but kept for backward compatibility. * SC tab: The operations "lock" and "iconize" now toggle the current state when you pass nothing in the second argument. Examples: tab("lock"); //toggles locked state of current tab tab("lock", 1); //sets locked state of current tab tab("lock", 0); //unsets locked state of current tab * Updated the help file. v9.30.0009 - 2010-07-22 21:31 +++ Fully portable tabs: Yes, finally you can make your tabs fully portable! A tab location now can be anything that resolves to a path: Absolute Path: C:\Myfolder Relative Path: appdata Portable Path: ?:\ Environment Variable: %temp% Native Variable: <xydata> These terms are remembered as such (unresolved) between sessions. But how do you define such a location? See next paragraph... + Menu View | Current Tab: Added "Relocate Tab..." where you can enter a new location for the current or any non-current tab (when opening the menu via right-click on a tab header). If you do it for the current tab, it will browse to the new location. Usage Tips: - You can see each tab's "real" location term, e.g. %temp%, in the tooltip when you hover the tab. - Of course, you would usually lock a tab after you relocated it to a variable. Otherwise it will lose the variable location on the next location change. + SC tab enhanced: New operation "relocate", analog to "Relocate Tab..." above. // relocate current tab to %tmp% // note the single quotes to avoid premature resolution tab("relocate", '%tmp%'); + SC tab enhanced: New operation "lock". // lock current tab tab("lock", 1); // unlock current tab tab("lock"); * SC tab: Dropped the support for numerical values for the "operation" argument. * Address Bar: From now on the Address Bar contents are not auto- changed to the current new path anymore when going to this path was triggered via the Address Bar itself, be it through a script or an environment variable or whatever. v9.30.0007 - 2010-07-22 09:14 ! SC tab glitches fixed. + SC inputselect enhanced: Added cancel argument at position 5!! Update your scripts. See updated change log of v9.30.0003. v9.30.0006 - 2010-07-21 19:54 + SC tab enhanced: Now the operation can be defined using named arguments, not just numbers. Also tabs can be pointed to from the right end by using negative indices. See updated change log of v9.30.0005. Example: // name the last tab "Godzilla" tab("rename", "Godzilla", -1); ! Catalog: Would not show icon when you stated a Visual Filter with caption, e.g. |"Exe" *.exe;*.dll. Fixed. v9.30.0005 - 2010-07-21 17:22 + Configuration | Advanced: Added "Remember list settings per tab". The button "Apply To..." allows to further refine which list properties you want to retain per tab. Factory default is checked and applying to all list properties. Note that this factory default is what was hard-coded in the past. So the new thing you get here is the option NOT to remember certain list properties per tab but have them globally per pane. Note that this feature is in a slight natural conflict with FVS (Folder View Settings) in that it wins over FVS on tab change: if you switch to a tab that had been shaped by FVS, then any list properties that are NOT remembered per tab will be inherited from the current tab. - Tweak RetainListSettingsAcrossTabs is replaced by the above. + Configuration | Advanced: Added "History retains selections". If checked the selected items are stored with the History. If you return-by-history to a location you have visited during the current session, the location's previous selections are restored. The selections are NOT remembered between sessions. Factory default is OFF because it can take quite some memory. * History per Tab: From now on right-clicking the Back and Foreward buttons will only show the current tab's history, not the global history anymore. + Scripting got a new function. Name: tab Action: Opens a new tab or modifies a tab. Syntax: tab([operation], [data], [index]) operation: operation, identified by name 0, "get" = [default] just return a value depending on data (first tab = 1) data: "c", "count" return: tab count [else] return: index of the current tab (first tab = 1) index: unused 1, "new" = create new foreground tab data: location (if empty then current tab is cloned) index: tab to clone from (if missing then current tab) return: index of the newly created tab 2, "newb" = new background tab data: location (if empty then current tab is cloned) index: tab to clone from (if missing then current tab) return: index of the newly created tab 3, "rename" = rename current tab data: new name (if empty then any name is removed) index: tab to rename (if missing then current tab) return: index of the current tab 4, "iconize" = iconize current tab data: 0 = [default] de-iconize 1 = iconize index: tab to iconize (if missing then current tab) return: index of the current tab Notes: If index is negative then position is calculated from the right end. If index is invalid then the current tab's index is used. The function only affects tabs on the active pane. Examples: [updated 2010-07-24 10:05: now first tab = 1] text tab(); //ret index of current tab (first tab = 1) text tab(, "c"); //ret tab count text tab("new"); //clones the current tab; ret index of new tab tab("new", "C:\"); //new foreground tab at "C:\"; as above tab("newb", "D:\"); //new background tab at "D:\"; as above tab("rename", "Godzilla"); //name the current tab "Godzilla" tab("rename"); //remove any name from the current tab tab("iconize", 1); //iconizes the current tab tab("iconize"); //de-iconizes the current tab tab("iconize", 1, 1); //iconizes the first tab tab("iconize", 1, -1); //iconizes the last tab + SC inputselect enhanced: Added a way to show checkboxes. See updated change log of v9.30.0003. v9.30.0004 - 2010-07-20 21:45 + Added a tweak to retain the list settings (sort order, columns, style, view) across tabs (= on tab switch). RetainListSettingsAcrossTabs=1 Note that the list settings will not spread across the panes, just across the tabs of each pane. Neither will they spread across different list modes, so e.g. a Search Results tab (list is in Find mode) will not be affected when you change the list settings (say the sort order) in a tab in normal Browse mode. + Added a tweak to reverse history numbering. HistoryFirstIsOne=1 Set to 1 to show the oldest item as number one. + Logging To File: New event and new IDs: eLTFBackgroundJobAdded = 1 eLTFBackgroundJobTriggered = 2 To log both: ::logtofile 3; v9.30.0003 - 2010-07-20 11:05 + Scripting got a new function. Name: inputselect Action: Pops a list of strings from which the selected one is returned. Syntax: inputselect(header, listdata, [delimiter=|], [style=1], _ [cancel], [width=600], [height=400], [windowcaption]) header: First line is printed in bold; any other lines are printed non-bold; leave empty to show no header. listdata: String of list items, delimited by delimiter. delimiter: Delimiter; defaults to |. style: 1 = show file system icons for the items (= default) 2 = show checkboxes prefix items with "+" to pre-check them cancel: value to be returned when user cancels if not set then cancel will terminate the script width: Width of window in pixels (minimum: 250; maximum: screen width; default: 600). Percentages of screen width are supported, e.g. 75%. height: Height of window in pixels (minimum: 150; maximum: screen height; default: 400). Percentages of screen height are supported, e.g. 75%. windowcaption: Window caption. return: The selected list item. If checkbox style then the checked items are returned, separated by delimiter. Examples: // header and a list of drives; then go to the selected drive goto inputselect("Select Destination", "C:|D:|E:"); // same with two-line header goto inputselect("Select Destination".<crlf>."Choose drive:", "C:|D:|E:"); // no header goto inputselect(, "C:|D:|E:"); // use checkboxes and icons (1 OR 2 = 3) text inputselect("Select Drives", "C:|D:|E:", , 3); // use checkboxes, pre-check "D:"); return "-" on cancel text inputselect("Select Drives", "C:|+D:|E:", , 3, "-"); + Added Logging to File: Now you can optionally have certain events logged to a file named "XYLog-2010-07-20.txt" (date of today) and located in the app data path. Events are identified by a number (binary field). Currently only one event is supported: Background Job Triggered (#1). To activate logging for this event use the following new scripting command: ::logtofile 1; To deactive logging: ::logtofile 0; To show logging status: ::logtofile; //status is displayed in the statubar The setting is remembered across sessions. v9.30.0002 - 2010-07-19 19:58 ~~~ Some heavy changes (reorganization of a number of modules and about 80 procedures) had been necessary for internal reasons. You should note nothing of this, but just in case: The affected areas are Native Variables, Scripting, and Undo. * Configuration | Colors & Styles: Renamed "Underline highlighted selected rows" to "Underline selected rows", and "Use zebra striping in grid" to "Zebra striping". Both pop an informative message when ticked. * Menu Help: Renamed "Make List of Functions..." to "Make List of Commands...". * Background Jobs dialog: Items are not ellipsed anymore. v9.30.0001 - 2010-07-18 20:48 + Find Files | Size: Now supports units GB and TB. FYI, you may also state fractions. E.g. 0.0001 GB (= 100 KB). 0.000000000001 TB (= 1 byte). ! List: Allowed to drag and drop a file onto itself. Fixed: Not possible anymore. v9.30.0000 - 2010-07-15 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Folder Tree. Now the tree state can optionally be fully retained across sessions. So when reopening XYplorer you find your tree exactly (all expanded nodes, selected node, scroll position) as you left it last time. Which other file manager can do this? +++ Thumbnails Caching. Improved cache management now auto-adjusts the cache to any renamed or moved folders. No thumbnail has to be created again anymore just because you renamed or moved a folder. +++ Color Filters. Now you can optionally apply the color filter patterns to files only and thus avoid that folders are colored when they match a pattern. +++ Image Preview. Now the frame count is displayed for animated GIFs. +++ Media Preview. Now you can optionally play only the beginning of a sound or video file, and then stop, loop, or auto-jump to the next file (depending on the Loop settings). The number of seconds to be played can be freely defined. +++ Folder Tree. Now can optionally expand or collapse the current tree node by a single click on the name. Saves you many clicks. +++ Creating New Files. Now you can create a bunch of new files in one go by simply entering a list of names into a multi-line edit field. +++ Statusbar. Now you can hide the Statusbar. +++ Find Files. The interface is now 100 pixels wider so that you have more space for your search patterns. +++ PDF Thumbnails. PDF thumbnail blow ups can now be enlarged to an actually readable size. The same holds for any other format whose thumbnails are driven by a shell extension. +++ Drag'n'Drop Context Menu. The new command "Go to Dragged Item" allows you to go to the dragged item's containing folder and select the item, or simply open the folder if the item is a folder. A typical use-case would be when dragging items or paths from other apps into XYplorer. It's a kind of "Go to by Drag'n'drop" -- revolutionary and very useful if you ask me. .......... XYplorer ver 9.20 ........................................................ v9.20.0208 - 2010-07-15 10:51 ! Find Files: Search Results were not updated on deletion when at least one folder was among the deleted items. Fixed. v9.20.0207 - 2010-07-14 21:28 * Updated the help file. * Upgrading: Auto-assigning unused default keyboard shortcuts to their function now only happens if no other shortcuts already point to that function. FYI, this feature was added in v8.80.0318 - 2010-02-21 19:24. v9.20.0206 - 2010-07-12 20:58 * Info Panel | Find Files: Made the controls area 100 pixels wider and stretched those controls that could need a stretching. In particular you now got more space for Name and Location. ! Tree: Moving the current folder into another not yet opened folder under a special node (e.g. Desktop) resulted in a wrong situation since v9.20.0205. Fixed. ! Using scripting and a bit of (bad) luck it was possible to launch two backup operations simultaneously which is currently not supported and leads to undetermined results. Fixed: Now you cannot launch a backup operation by any means while another one is still in progress. v9.20.0205 - 2010-07-12 14:39 * List: Now in an unfocused List any selected but not focused items are not drawn with a gradient anymore but with a plain color (as defined in Configuration | Colors & Styles | Sel. Items Back). This way they are better distinguished from the focused+selected item. * Configuration | Shell Integration: Now, if you try to change these settings and fail because you are not admin, you get this message: "You need administrator rights to change this setting." * Raw View: Now the colors conform to the global Windows color schemes. ! Raw View: Would not view a selected file on startup. Fixed. ! Configuration | Colors & Styles: Fixed some glitches in the color previews (some fields were not set). v9.20.0204 - 2010-07-10 14:54 +++ Configuration | General: Added option "Remember state of tree". Tick it to remember which nodes are expanded in the Maxi Tree (the Mini Tree state is remembered anyway ever since). The tree state is retained across sessions and also when switching between Maxi and Mini Tree. It also works with a Locked Tree. Also the scroll position is remembered. So now you have a pretty good chance that you find your tree exactly as you left it last time (unless another app changed the folder structure). Of course, recreating the tree does involve additional browsing, so the startup time will be slightly longer depending on the complexity of the tree. Cool feature, not every file manager can do this. + Configuration | Preview: Added option "Keep playing when info panel is hidden". Tick it to keep a running audio/video preview busy when you close the Info Panel. Note that "keep playing" was the hard-coded default before, but now it's optional and defaults to unticked (= stop preview on panel down). v9.20.0203 - 2010-07-09 15:36 + Thumbnails Caching: Now, in the thumbnails cache folder a file "XYThumbs.txt" is created and maintained. This file contains an index of your cache files which is used to handle renaming or moving of cached folders gracefully, i.e. avoiding the need to recreate a cache from scratch only because a folder has been renamed or moved. The overwhelmingly cool thing about it is that it also works in non-thumbs view and non-cache mode and with non-current folders. So you don't have to think about your thumbs anymore, and no thumb has to be created twice. Whenever you rename or move a folder within XYplorer, any affected thumbs cache is adjusted to the change in the background. The format of the index file is simple and self-explaining, so that you can even edit it manually or programmatically if needed. Note that the folder list is expected to be sorted. Of course, all of the above only applies when you use disk caching for thumbnails, i.e. when "Configuration | Thumbnails | Cache thumbnails on disk" is ticked. *** Upgrade Note *** To add an already existing cache to the index file, you have to browse to the cached folder once in thumbnails view. This will auto-add the folder's cache to the index. Only folders that have been added to the index enjoy the service described above. *** SAFETY NOTE *** As always, remember this is BETA stuff and might be only near to perfection but not quite there. If you have many GBs of thumbnail data on your disk you should change your thumb cache to some temp folder (under Configuration | Thumbnails | Cache thumbnails on disk) before testing this version. + Configuration | Color Filters: Added option "Apply name patterns to files only". Check it to avoid that folders are colored when they match a pattern. FYI, "name patterns" describe the name of the items to color (usually with the help of wildcards), whereas "attribute patterns" define a file attribute and always begin with a "/". + Media Preview: Now the context menu (orange button) of the Preview tab has a toggle "First [...] Seconds Only". Gives you quick access to this setting. ! Panes: The size of the second pane wasn't always correctly saved between sessions when starting up in minimized state. Fixed. ! Mini Tree: Unavailable drives stored in the Mini Tree were sorted below Network and Recycle Bin nodes instead of above. Fixed. ! Command Line: Wouldn't select file by command line if XYplorer was already open. Fixed. v9.20.0202 - 2010-07-07 10:58 + Media Preview: Now you can optionally play only the beginning of a sound or video file, and then stop, loop, and jump to the next file (depending on the Loop settings). The number of seconds to be played can be defined in Configuration | Preview | Play only the first seconds. Untick the checkbox or enter value 0 to play the whole file (= factory default). Note that for technical reasons the stop time cannot be exact to the millisecond but will usually be plus-minus 30 milliseconds off. * Configuration | Preview: Renamed "Play with panel down" to "Play also when info panel is hidden". - Configuration | Advanced: Removed setting "Quick scripting". Quick scripting (the ability to pass scripts through the Address Bar and similar ports by prefixing :: to them) is now internally always enabled. If you deem scripting too risky you can always turn it off completely using "Configuration | Features | Scripting". ! List: Since v9.20.0201, list styles that were turned off were not re-applied anymore to the current list when "Configuration | Colors & Styles | Apply list styles globally" was off. Fixed. ! List: In the white space context menu the New folder icon missing when the New Items folder was empty. Fixed. ! Variable <cursize> did not work for certain hard-to-access system files like pagefile.sys and hiberfil.sys. Fixed. ! List: Drawing glitch (selection remained partly visible) when renaming drive in the drives listing. Fixed. ! Office Preview: Would not preview Office files with wide characters (e.g. Chinese) in the path. Fixed. v9.20.0201 - 2010-07-06 11:31 * Changed the predefined Portable File Association coming to your home with a virgin run to this one: |"Copy file size in bytes" *>::copytext <cursize> * Folder Sizes: Now when you turn on Show Folder Sizes then the folder sizes are only calculated for the visible pane(s). Before, they would be also calculated for an invisible background pane, which lead to not immediately understandable delays. ! Under certain conditions the current file on the back pane was not updated correctly internally which surfaced as the need to focus the pane before a dbl-click would open the file. Fixed. ! List: List styles were applied globally also across list modes (e.g. pane 1 shows drives, pane 2 shows folder contents). Fixed: Now list styles are applied only to lists / tabs with the same mode as the current list. ! List: When moving between different list modes (e.g. Recycle Bin and a normal folder listing) using the history (Back, Forward) the sort order got confused uder certain conditions. Fixed. v9.20.0200 - 2010-07-05 12:00 = MAINTENANCE RELEASE. +++ Bug fixes. v9.20.0103 - 2010-07-03 09:21 ! Find Files: The Name field was ignored since v9.20.0102. Fixed. v9.20.0102 - 2010-07-02 10:39 * Tree: With Configuration | General | Expand tree nodes on single- click ON and Tools | Customize Tree | Rename on slow double-click OFF, you now can also *collapse* the current tree node by a single click on the name. Saves you many clicks if you are one of those who like the single click mode. I'm almost converted myself... ! Command Line: Would not process "Recycle Bin" (or whatever it is called in your locale) as startpath. Fixed. ! Image Preview: The compression ratio was not calculated correctly for animated GIFs. Fixed. ! Tabs: When right-clicking the Tab Bar to get the Tablist it always took you to the first tab, no matter which tab in the list you've chosen. Fixed. ! Preview: Crash on renaming a previewed ICO file. Fixed. ! Tags: After a cancelled Move operation, Tags and Comments of the source were still attributed to a target item of the same name as the source. Fixed. ! Find Files: The combination of Name * and Inverted should return an empty list but did not. Fixed. ! MP3 Info Tip: Depending on your locale and certain characters in the filename (e.g. ñ under Czech locale) hovering an MP3 file could lead to the creation of a zero-length file with a similar name (some characters altered, e.g. ñ replaced by n) in the same folder. Fixed. The bug could also surface in the image preview, the font preview, and some other places. All these places are fixed as well. v9.20.0100 - 2010-06-29 12:00 = MAINTENANCE RELEASE. +++ Bug fixes. v9.20.0008 - 2010-06-28 10:43 + Image Preview: Now the frame count is displayed for animated GIFs. ! List: If you created a New Folder before ever popping the list's white space context menu, then any icons in the context menu were not created and the New Items submenu was not populated. Fixed. v9.20.0007 - 2010-06-23 11:37 + New variable: <cursize> = file size in bytes of the current list item. Files only. If the current item is a folder the variable returns "" (empty string). + Menu Go: Added command "Aliases..." where you can select an alias from a list of all aliases you have defined. I know that the blue hearts here are completely redundant but they serve to give you an immediate visual hint about where you are. If you don't remember what an alias stands for, you can check in List Management | Aliases, and maybe find a better name for it. * Aliases: Now they are kept alphabetically sorted. Before, the latest addition was added to the top of the list. (Sort order is not relevant for processing but for looking up an alias in List Management.) v9.20.0006 - 2010-06-22 20:39 + List | White Space Context Menu: Added command "New Text File" to the top section. * Menu Edit | New: Renamed items "New Textfile ..." to "New Text File ...". Appears to be the more common way to write it. + SC sel enhanced: Added argument "startfromtop": Syntax: sel [position/pattern], [count], [startfromtop] startfromtop: 0 = [Default] start from current position 1 = start from top of list startfromtop is ignored if the first argument is not a pattern. Example: // Select "Test.txt" in the file list: sel "[Test.txt]", , 1; Notes: - You can pass item-names-only or the full-path-names, independently of the list mode (Browse, Find, ...). - On no match any current selections are unselected. + SC selfilter enhanced: Added argument "add": Syntax: selfilter [pattern], [type (f|d)], [column], [add] add: 0 = [Default] new selection 1 = add to current selection Example: // First select all TXT files, and then add // all items starting with "a" selfilter "*.txt"; selfilter "a*", , , 1; * Menu File | Rename (in List): Now, always the focused item is renamed, completely independent of the current selections. If you want to rename the selected item(s) use Shift+F2 (Batch Rename). This means you now can rename individual items out of a group of selected items without renaming the other selected items and without changing any selections. I'm aware that this behavior differs from Explorer. Time will tell if it is really better... it's an experiment. ! SC sel: In a search results listing, it would not select a file defined by pattern if the full path was not included with the pattern. Fixed. Now, if no path is passed, it tries to match by name only. ! List: Inline rename box did not auto-scroll into view when necessary. Fixed. ! Address Bar: Launching DOS commands via "!"-prefix did not work when the current path was a special path like Desktop. Fixed. ! Thumbnails: Did not show thumbnails for PSD files that were created using Adobe Photoshop CS5. Fixed. v9.20.0005 - 2010-06-18 11:04 * Menu File | Rename (in List): Now, if the focused item is not selected it is inline-renamed without selecting it or changing any current selections. And if the focused item is selected then it is inline-renamed if there is only one selection, else batch rename is triggered for all selected items. Note that the Batch Rename command (Shift+F2) still functions as before and applies to the selected items regardless of the focus. ! Menu Edit | New | New Folder (...): If the new folder template contained a dot everything right of the last dot was falsely interpreted as an extension, and any number suffix was inserted before that extension. Fixed. ! Command Line: Selecting a file directly from command line did not work. Fixed. Now you can do XYplorer "C:\Folder\File.txt" and XY opens at C:\Folder\ and selects File.txt. ! Dropdown Lists: Could crash when the current item contained a "[" without a matching "]". Fixed. ! Panes: Since 3 days ago: Possible focus confusion after copying items from pane to pane. Fixed. v9.20.0003 - 2010-06-16 11:29 + Menu Edit | New: Added command "New Files...". Here you can enter a list of new files (one per line) that will be created in one go. The functionality is like the one of the "New Folders..." command: - Paths can be absolute or relative (to current path). - Non-existing path are created on the fly. - They can be stated in any order. - XY native variables and environment variables are supported. - Files that already exist are silently ignored (and not overwritten). - The last list is remembered within the session. Example for a list: newtextfilehere.txt MoonLanding\TopSecret\new.txt \MarsLanding\TopSecret\new.txt D:\Testpath\new.txt %username%.txt New <date yyyymmdd>.txt ! List: Selection glitch (selection remained sticky) when a script using SC selfilter resulted in a single selected file. Fixed. ! Find by Tag: Didn't always find newly tagged file depending on its sort position within the already tagged files. Fixed. v9.20.0002 - 2010-06-15 14:59 + Menu Window: Added toggle "Show Statusbar". So, finally, you can hide the Statusbar. Note that if the Statusbar is hidden then also the Background Bar goes away. ! Background Processing: Shell-owned replace prompts would pop in the background (likely covered by XY's main window) when the CTRL key was down when the file operation was initiated (e.g. CTRL+Drag to force a Copy). Fixed partly. Still Windows may take control unpredictably and pop the prompt in the background. The animated icon on the Background Bar will tell you whether a background process is in progress or waiting for input. Under XP you also get a flashing taskbar icon, not in Win7 though. The better and 100% safe strategy is to use the right mouse button for such drag operations and then choose Copy from the context menu. ! Running an EXE by dbl-click did not always produce the same behavior as running it via Shell context menu Open. For example, trying to run a 16-bit EXE under Win64 should generate an error message. Fixed. v9.20.0001 - 2010-06-14 11:52 + Drag'n'drop context menu: Added command "Go to Dragged Item". Will go to the dragged item's containing folder and select the item, or simply open the folder if the item is a folder. If more than one item is dragged the first item is taken. Note: The command is only available for the List and the current Tab of the active pane. But, of course, each hovered tab becomes the current tab after a configurable while. Main usage is probably when dragging items or paths from other apps into XYplorer. It's a kind of "Go to by Drag'n'drop" -- revolutionary if you ask me. * MouseDownBlowUp on PDF preview and thumbnails: The shell driven preview of PDF files now can be enlarged using a new tweak. By default it is limited to 384 x 512 pixels. Set MDBUPdfLarge=1 to enlarge it to a square of 80% of the smaller screen dimension. On a 1920 x 1080 screen this would be 0.8 * 1080 = 864 pixels. Note that SC tweak supports this tweak, so you can do this through the Address Bar: tweak("MDBUPdfLarge", 1); Note: Whether the enlarged PDF blow up actually works depends on your system and RAM size. It's not easily predictable. Try it out. * Web & Office Preview: Now, no more address/title and status info on top and bottom of the Preview tab is displayed by factory default. This way the preview area is quite a bit higher than before. If you still want it the old way you can use a tweak: ShowWebPreviewInfoBars=1 ! Tabs: The selected tab of the inactive pane was not highlighted when drag-hovered. Fixed. * Info Panel: Now when the Info Panel is shown or a new IP tab is selected and there is no current item (i.e. the IP tabs Properties, Version, Preview, and Raw View are blank), then the currently focused list item is automatically made the current item if it is in selected state. Very useful, should have done this about 10 years ago! FYI, the state focused/selected/non-current can be caused e.g. by drag-selecting a focused file, or passively when copied files are selected-on-paste. * Configuration | General | Show item count: Renamed it to "Show item count with folder sizes" and removed the indent. Now it is also enabled if "Show folder sizes in file list" is OFF because it also applies on View | Calculate Folder Sizes. ! Tree: Non-current folder captions were not always reliably refreshed after a script-driven rename. Fixed. v9.20.0000 - 2010-06-11 12:00 = NEW OFFICIAL RELEASE. Main changes since last release: +++ Aliases. Aliases are user-definable variables where you can freely choose the name of the variable and their value. When you enter such an alias into the Address Bar it will be resolved to its value before further processing. A real time saver. +++ User Folder. Added a new special folder [User] to the Tree pointing to the current user's profile folder. +++ Special Folders. Now you can easily show/hide all top special folders in the Tree: - Desktop - Documents - User - Network - Recycle Bin Toggling those folders works on-the-fly without rebuild of the whole tree. +++ User Buttons. Increased their number from 16 to 32. +++ Folder Sizes. Now you can show the number of items in each folder in the list's Size column. +++ Environment Variables. Now you can quickly display a list of all environment variables. Might come in handy. +++ Previewed Formats. Massively improved configuration interface. .......... XYplorer ver 9.11 ........................................................ v9.11.0031 - 2010-06-10 11:20 + Configuration | Previewed Formats: DEL and INS keys now work on the extensions list. * Type Filter: Changed the format of the tweak to add custom extensions. Now the extension lists should be dot-separated (before, they were comma-separated): AudioPreviewCustomExtensions=bim.bam.bum VideoPreviewCustomExtensions= VectorPreviewCustomExtensions= ArchivePreviewCustomExtensions= ExePreviewCustomExtensions= Your current settings are upgraded automatically. ! Configuration | Previewed Formats: Fixed minor glitches. v9.11.0030 - 2010-06-09 20:45 *** Configuration | Previewed Formats: Rewrote the interface from scratch. Faster loading, better handling, more information, and some minor bugs fixed. And: - Now you can enable/disable the preview for a whole type of files, e.g. for all Image files. - User-added extensions are colored green (resp. color "Marked Text 2"). They can be excluded from preview by unticking them, or completely removed from the list using the Remove button. * Configuration | Colors & Styles: The factory default for "Sel. Items Back" is now a light blue. ! List: Horizontal dual pane splitter position was not correctly restored when starting the app in minimized state. Fixed. ! List: Currently selected folder was not scrolled into view after calculating its size using View | Calculate Folder Sizes. Fixed. v9.11.0029 - 2010-06-08 13:34 + Preview: Added WPD (WordPerfect Document) to the previewed Office files. Of course, the preview will only work if you have WordPerfect installed. * Info Panel: Removed shadow effect from the tab headers by factory default (no change for upgraders). Reason: Don't like it anymore. Tip: You can still turn it on by tweaking TabIPVisualStyle=0 in the INI. In Windows Classic theme, however, the "shadow style" is ignored anyway, even if tweaked. ! Info Panel: Drawing glitch in Windows Classic theme. Fixed. ! List: Type-Ahead Find would not recognize character #. Fixed. ! List: Drawing glitch (needlessly ellipsed captions) with font "Courier" Bold due to Windows API bug. Worked around. v9.11.0028 - 2010-06-07 11:40 * Menu Help: The last commands dropped their ellipses: Environment Variables Various Information About XYplorer ! Configuration | Fonts | Tree and List: Any changes here were not correctly reset on cancelling the Configuration dialog and would eventually be applied to the controls. Fixed. v9.11.0027 - 2010-06-05 12:08 + Menu Help: Added command "Environment Variables...". Shows the current state of the Environment Variables. Note that the bottom of the list, starting with %computer%, are XY-internal variables. - Removed SC env (Show Environment Variables). Replaced by the new command in menu Help (#728;). * Some clipboard functions in menu Edit | Paste Special were only available in Browse mode. Now they are always available. v9.11.0026 - 2010-06-04 14:04 ! Some icons in some popup menus were missing for a couple of versions. Fixed. ! Tabs: For a couple of versions locked tabs got overwritten on location change other than by tree. Fixed. v9.11.0025 - 2010-06-03 17:44 * Increased the official Win7 compatibility, guided by the "Windows 7 Client Software Logo Toolkit". 100% compliance with the Windows 7 Software Logo requirements is not yet reached but near. * Updated the help file. v9.11.0021 - 2010-06-02 10:56 + Aliases. Now also Quick Searches (QS) support aliases. For example this works now in the Address Bar if you have an alias "home": @home?a* Will find all items beginning with "a" in the path that alias "home" points to. Of course, if you have defined an alias "home?a*" (i.e. if you are crazy) it will be resolved before being parsed as a QS. + Aliases. You now can use aliases also in the Location field on the Find Files tab. + Menu Scripting | Load Script File: Now folder links are followed within the Load Script File dialog. v9.11.0020 - 2010-06-01 13:58 * DPI awareness: Now also Tab icons, Statusbar icons, and the icons in various small lists are DPI aware, i.e. they are shown larger when you raise your DPI settings. ! Win7: Fixed a number of glitches in connection with custom DPI settings. v9.11.0015 - 2010-05-31 11:49 + Menu Scripting | Load Script File: Now also shortcuts to script files (LNK files) are supported. v9.11.0014 - 2010-05-30 13:51 ! Tree: Icon drawing glitch with junctions under Win7. Fixed. ! Catalog: Fixed some minor icon drawing glitches that came about when recently adjusting to Win7's new image list organization. ! Menu View | Calculate Folder Sizes: Statusbar was not updated anymore. Fixed. ! Tree, List: Since v9.10.0025 - 2010-05-19 10:33 the inline rename box lost focus but stayed up on app switch. This had some unwelcome consequences. Fixed. Now any pending rename is executed when the app loses focus. v9.11.0013 - 2010-05-28 10:54 + SCs copyto, moveto, backupto enhanced: The "source" argument now can point to the source control by setting it to ":list", ":tree", or ":catalog". This is a neat way to avoid the "focus list (tree, catalog);" line that was necessary in previous versions to ensure that the current list (tree, catalog) selections were taken; and, of course, it also avoids the undesired focus switch. So the "source" argument can now be used in three ways: [source] The items that will be copied or moved: (Empty) = selected items of the focused control (List, Tree, Catalog) Item(s) = |-separated list of items Control = selected items of the specified control format: ":list", ":tree", or ":catalog" Examples: //copy all selected list items to "C:\Temp" ::copyto "C:\Temp", ":list"; //copy the selected tree item to "C:\Temp" ::copyto "C:\Temp", ":tree"; * SCs copyto, moveto, backupto: Additionally to the above these commands now *default* to the List as source control unless Tree or Catalog have the input focus. So now you can run this through the Address Bar: ::copyto "C:\Temp"; and you won't meet the nagging message "Nothing selected, or what is selected cannot be copied." anymore if there are selections in the List. + UDC: The above enhancements also apply to the "Source" argument of the Copy To, Move To, Backup To UDCs. * List: Now, when retrieving the folder size fails, the size column shows [Access Denied], BUT ONLY when no bytes or counts were returned at all. If only any subfolder was denied access you will not see this in the list but will be shown the sums of bytes and counts that actually could be accessed. * Info Panel Tabs: From now the tab style is controlled by the setting of Configuration | Tabs | Visual Style. However the IP tab style is overwritten by the TabIPVisualStyle tweak if it is set to 1 (Classic style). ! Dropping images from Firefox 3.*: Some images were dropped with an HTM extension attached. Fixed. v9.11.0012 - 2010-05-27 13:09 +++ Aliases. Aliases are user-definable variables where you can freely choose the name of the variable and their value. When you enter such an alias into the Address Bar (or any other location port) it will be resolved to its value before further processing. Format Of Aliases: Aliases are marked by a prefixed @ (at-sign). The alias name may contain any letter apart from "=". It may even be completely empty, so you can have one minimal alias that's simply @! The alias value may contain any letter, including "=". Also quotes are okay in name and value. Note, however, that line breaks do not count as "letters" and are not allowed in name or value. Usage Of Aliases: Aliases can be added, edited, or removed directly through the Address Bar: @AliasName=value define AliasName as an alias to value adds a new alias or overwrites any existing alias of the same name @AliasName goto/execute value associated with AliasName @AliasName= undefine AliasName (= remove it) For example: @home=C:\mystuff\blah\blub\ [ENTER] Now typing @home into the Address Bar will carry you to C:\mystuff\blah\blub\. Another way to edit aliases is through Tools | List Management | Aliases... Further Remarks: - Aliases are resolved very early, before any other special syntaxes are resolved. This means you can have e.g. small scripts, DOS commands, Spot and Jump commands, Visual Filters etc. defined as value of an alias and they will be treated as expected. Of course, they must fit in one line -- line breaks are not allowed. Example for defining an alias for a script: @hi=::msg "Hi!"; [ENTER] Now @hi will pop "Hi!". - If you enter a non-existing alias it is not resolved and treated as relative path (which is probably not existing, but who knows...). - The Address Bar icon for aliases is a blue heart. It turns red when you add/edit an alias. Credits and thanks for the icons goto Alessandro Rei, http://www.mentalrey.it/ - Aliases are case-sensitive: @hi is not the same as @Hi. - Of course, aliases are retained across sessions. - The number of possible aliases is not limited by XYplorer. + New variable <get alias [name]> returns the value of the alias "name". If the alias does not exist then the name itself is returned unchanged. For example, if @hi=::msg "Hi!"; then echo <get alias hi>; //returns ::msg "Hi!"; So, the variable <get alias ...> allows you to use aliases within other strings. + Tweak to customize what's displayed for empty folders in the Size column when showing folder sizes. FolderEmpty="[Empty]" Factory default is "[Empty]". * Background Processing: Now, when XYcopy.exe is not found or too old the buttons related to Background Processing are disabled resp. show a warning symbol and let you know what's the problem. * Copy/Move to New Subfolder: Now the edit box supports automatic word breaking (dbl-click selection, moving cursor with CTRL). Recognized word boundaries: .:,; _-~(){}[]<>|/\^°*?!§$%&=+#"' ! Fixed more drawing glitches with non-standard DPI settings. v9.11.0011 - 2010-05-26 16:06 * Configuration | Colors & Styles: Downgraded "Flat plus-minus icons in tree" to tweak level. Key: FlatPlusMinus * Installer: Now you face the prompt "Please close any running XYplorer instance before you continue." if any XY instance is running. ! Video Preview: On DPI settings other than 96 the available preview space was not correctly calculated. Fixed. ! Fixed some other drawing glitches with non-standard DPI settings. v9.11.0009 - 2010-05-25 20:33 * Configuration | Colors & Styles: Renamed "Set list style globally" to "Apply list styles globally". ! Might have fixed a focus glitch on selecting IP tabs. ! Auto-updating of Icon Overlays should be improved. ! Tabs: Drawing glitch with gaps. Fixed #2. v9.11.0007 - 2010-05-25 16:08 + Toolbar: Added buttons "Map Network Drive" and "Disconnect Mapped Network Drive". Function identical to the same-named commands in menu Tools | Tools Special. * Configuration: Renamed the section "Interface Colors" to "Colors & Styles". * Configuration | Colors & Styles: Reorganized the checkboxes at the bottom of the section: - Removed all list style settings (they do not belong here): * Highlight focused item * Highlight selected rows * Show grid - Downgraded "Beveled border" to tweak level. Key: BeveledBorderTCL - Changed some captions. * Menu Tools | Customize List: Now, by factory default, the list styles are applied globally to all tabs in all panes. Before, they were only applied to the current tab of the active pane. This setting is configurable in Configuration | Colors & Styles under "Set list style globally". Note that on upgrading it will be set to disabled. Notes: - If "Set list style globally" is off you still can hold SHIFT while changing a style property to force having it applied to all tabs on all panes. BTW, here's another change: Before, holding SHIFT only affected the current pane. - If the list style is set by an FVS, it is applied only to the current tab, of course. - The setting of "Set list style globally" only affects *changes* in the list style; it does not mean that the styles of all tabs are automatically synchronized. - So, if "Set list style globally" is on then only the style property you actively set (e.g. you select "Autosize Columns") will be applied to the other tabs. It does not mean that all style properties of the current tab are applied to all other tabs. - Consequently, tabs can still differ in style and each tab will remember its individual style across tab changes and sessions even if "Set list style globally" in on. - Tip: The toolbar button "Sticky Selection" has all list styles in its context menu -- a quicker way than Menu Tools | Customize List. * Configuration | General: Moved these settings to Advanced (needed the space): - Dbl-click on empty space goes up - Click on status bar toggles info panel - Disallow left-dragging from tree and list - History without duplicates - History per tab - Configuration | General: Removed "Show folders in list". This setting is available in the main menu anyway (View | Show Items). + Configuration | General: Added "Show item count". If "Show folder sizes in file list" is on then enable "Show item count" to also show the number of items in each folder in the list's Size column. Note that the ShowFolderCounts tweak only takes effect when this feature is disabled. The ShowFolderCounts tweak is still working but deprecated. % List: Less flicker when changing folders with Show Folder Sizes enabled. ! About Box: Drawing glitch with Academic licenses. Fixed. ! Tabs: Drawing glitch with gaps. Fixed. ! List: Selection glitch when Invert Selections resulted in a single selected file. Fixed. v9.11.0005 - 2010-05-24 21:57 * List: Now, when retrieving the folder size fails, the size column shows [Access Denied] when the failure was caused by Error #5 (ERROR_ACCESS_DENIED), or otherwise [Error #] where # is the error code. (However, I actually never got an error here other than ERROR_ACCESS_DENIED). Before, it showed a misleading [Empty]. Note that [Access Denied] or [Error #] are also shown when any of the subfolders in the branch throws an error that prevents to determine its correct size. % Background Jobs Dialog: Superfluous painting activity lead to unnecessary CPU action. Fixed. * Tabs: Tabs had a 1-pixel extra gap between them. Removed the gap. v9.11.0004 - 2010-05-22 13:35 + List: Tweak to show folder counts (count of contained folders and files) in the Size column: ShowFolderCounts=(value) Various formats can be selected through the value: 0: = nothing 1: [d:<folders>, f:<files>] 2: [<items> item(s)] = sum of folders + files 3: [<files> file(s)] = files only If enabled the size data are prefixed by the count data depending on the value of ShowFolderCounts. Note that all numbers refer to the contents of the whole branch, not just the next child level. Example for the Size column on ShowFolderCounts=1: [d:9, f:40] 5.713 KB [d:35, f:289] 3.811 KB [d:0, f:2] 60 KB [d:5, f:29] 285 KB The setting only takes effect when folder sizes are shown in the list. You cannot sort by these data. The tweak will be elevated to UI level if successful. + Scripting got a new function. Name: tweak Action: Tweaks an internal setting (a setting without config UI), and returns the old value. Syntax: tweak(key, [value]) key: name of the setting (identical to its INI key) value: desired value of the setting; if missing then only the current value is returned return: the value before the tweak, resp. the current value Examples: //set ShowFolderCounts to 1: ::tweak("ShowFolderCounts", 1); //get ShowFolderCounts value: ::echo tweak("ShowFolderCounts"); //get ShowFolderCounts value, and set it to 2: ::echo tweak("ShowFolderCounts", 2); Notes: - The list will be auto-updated to reflect the new setting. - The statusbar will display the key with its new value. - No restart is necessary (as was with the old way to tweak). - Currently ONLY "ShowFolderCounts" (see above) is supported. Of course, with time, many more tweaks will be added; maybe even a GUI so that this functionality can be accessed without resorting to scripting. * List: When showing folder sizes, empty folders now display the label "[Empty]" in the Size column. Before they displayed "-" which lead to confusion among various users. * Menu View | Current Tab | Set Home / Go Home: Now Visual Filter is part of the Home definition. So Going Home can mean that the Home Visual Filter is restored or that the current Visual Filter is removed. This is independent of the setting of Persist Visual Filters Across Folders. v9.11.0002 - 2010-05-21 22:31 * Tree, Lists: Changed algorithm and some factory defaults for the coloring of selected items when the control is not focused. ! POM: The new "Go to Item" and "Copy Item" had been added to the normal POM. Rubbish. Fixed. ! Quick File View, Text Preview, Raw View: Error "The process cannot access the file because it is being used by another process." (ERROR_SHARING_VIOLATION) when trying to view files that are already opened by certain other applications. Fixed. v9.11.0001 - 2010-05-21 13:08 + Menu File | Open...: The Open With dropdown menu (Pro Edition only) now features the commands "Go to Item" and "Copy Item". Note that both commands (like all other commands in the menu) work on the current contents of the edit field. So you can type or paste any existing item name, and go to it or copy it (the item, not just the name) to the clipboard. Nice. * User Buttons: Increased their number from 16 to 32. * List: Inline-rename now checks whether the item to be renamed is in use. If yes, you get the message "The item cannot be renamed because it is currently opened by another application." Note that the check works only for files, not for folders. v9.11.0000 - 2010-05-19 12:00 = MAINTENANCE RELEASE. +++ Bug fixes. .......... XYplorer ver 9.10 ........................................................ v9.10.0025 - 2010-05-19 10:33 ! Error 10 fixed! Here's the story of Error 10: - The bad coding (and finally the fix) was done in the procedure formatting the captions for the Undo/Redo buttons' tooltip resp. items in the buttons' dropdown menu. It was done in v9.00.0205. - The error was raised in the procedure where the current action was added to the Undo/Redo queue. Conditions/Steps to reproduce the error (in versions before v9.10.0023): - Undo/Redo enabled. - The Undo/Redo queue is not yet full (i.e. < 100 items). - An action that's stored in the Undo/Redo queue involves rather long path/file names. - Within the current session you hover the Undo/Redo toolbar buttons, or use their dropdown, or show the Action Log. At least one caption in the dropdown should be shortened (using ellipses). - The next action added to the Undo/Redo queue raises error 10. ! Network on MiniTree: Since a couple of versions the network node would always show all servers instead of only the ones actually used. Fixed. ! List: (Win7/64) Inline-rename good get caught in eternal loop when file to be renamed was in use. Fixed. ! Preview: A file type excluded from text preview but included in Web/Office preview was not passed through as expected. Fixed. ! Preview: "Preview Now" button did not work anymore for some versions. Fixed. * Menu File | Preview: Now when a file in list is focused and selected but not the "current file" (not displayed in statusbar), the command will make it the "current file" and preview it. FYI, the state focused/selected/non-current can be caused e.g. by drag-selecting a focused file, or passively when copied files are selected-on-paste. v9.10.0023 - 2010-05-18 11:05 + Configuration | Interface Colors: Now the backcolor of selected items in non-focused lists is configurable via UI under the label "Sel. Items Back". v9.10.0022 - 2010-05-17 13:23 * List: Selected items were not recognizable enough when the list was not focused. Changed the coloring a bit and added an underline. Tip: You now can configure this color using a tweak: clrListSelNoFocusBack=... Note, however, that the expected format is a 24-bit decimal color value, not RRGGBB. ! Configuration | General | Show hidden files and folders: Changing this setting did reset the tree although this was not necessary. Fixed. ! BTW, more attempts to fix error 10 (just as in every version since more than a week). v9.10.0016 - 2010-05-16 18:10 * Network: Experimentally you now can toggle (show/hide) the Network special folder on the fly (without tree reset). And, experimentally as well, if the Network folder is hidden in the tree, you still can browse network locations in the list. * Tree, List: Now junctions are shown with link overlays. This is standard in Win7 Explorer and I think it's a good idea. Makes them stand out even if the color filter is not enabled. ! Win7: Fixed an issue with recursive junctions, e.g. C:\ProgramData\ApplicationData\. ! Win7: Fixed an issue with empty junctions, e.g. C:\Users\AllUsers\. ! Tree: If special folder User was hidden, the special folder Documents and its child nodes didn't work properly. Fixed. v9.10.0015 - 2010-05-15 15:26 * Action Log: Revised the layout. Now "No date" means "No date" in Action Log and Toolbar dropdowns. * Tree: Toggling special folders Desktop, Documents, and User now works on the fly without reset of the whole tree. Remember: Only affects Maxi Tree. * Configuration | General: Renamed - "Show Network places" to "Show Network folder" - "Show Recycle Bin" to "Show Recycle Bin folder" ! Network: Shares on certain servers could be browsed in Mini Tree but not in Maxi Tree. Fixed. Now they work on both trees. ! Attempt to fix a bug with Icon Overlays. v9.10.0014 - 2010-05-14 16:05 +++ Tree: Added new special folder <User> (the actual caption depends on the current user name). Points to the current user's profile folder (CSIDL_PROFILE). +++ Configuration | General: Added toggles to make the three top special folder nodes in Tree optional: Show Desktop folder Show Documents folder Show User folder Defaults differ with OS: - On a fresh install you get this as default: Vista/Win7 XP and earlier Show Desktop folder - + Show Documents folder - + Show User folder + - - On upgrading you get this as default: Vista/Win7 XP and earlier Show Desktop folder + + Show Documents folder + + Show User folder + - Notes: - If such a node is hidden then special paths like "Desktop" will not work anymore in the special way but will be auto-resolved to their real file system path. - A Maxi Tree will be completely rebuilt after changes in these settings. So these are is rather set-and-forget kind of settings, nothing you switch on and off all the time. - The Mini Tree does not really care about these settings but shows and hides what you tell him to show and hide. + Menu View | Show Items: Added "Show Junctions" (also available in Configuration | General). If unchecked then junctions are not shown. The factory default is unchecked. This command has mainly been added to get rid of the plethora of junctions in Win7. * After studying the bizarre Win7 file system a bit more I had to change the way I handled the "Access Denied" issue on junctions like "My Documents\My Music\", which only exist to ensure compatibility to the old XP way which, for better or worse, has been turned upside down in Win7. The old way let to a number of problems and inconsistencies (files were shown but could not be accessed; icons in the address bar were missing; and others). The new way still avoids the "Access Denied" error, but when you want to go down to subfolders of the junction target, you will actually be transported to the junction target in the tree. In other words, Junctions like "My Documents\My Music\" will have no subfolders in tree even if their targets have subfolders. They are rather treated like links. The simple fact is that these old XP folders are not part of Win7 anymore. XYplorer will not fight very hard against Win7 to make them usable as if they still existed. Further Notes: - The above junction handling only concerns junctions on drive C:\ and with the SYSTEM attribute set, on Vista or later. - Win7 Explorer does not show these junctions in his tree at all, even if you set all possible show-all settings. + Scripting commands not documented in the help file: ::sysicons; //show Icons in the System Image List ::sysicons 1; //show Icon Overlays ::env; //show Environment Variables v9.10.0012 - 2010-05-13 13:13 * Win7: Improved handling of special folders in Tree. But it still needs a major overhaul in Mini Tree mode. The bizarre Win7 file system is quite a challenge to straightforward file management. * Any error messages now in new style with selectable/copyable text. v9.10.0011 - 2010-05-12 15:30 * Raw View: Now, in ASCII view, any line numbers are colored as in the file list (as configured in Configuration | Interface Colors). FYI, in Hex View this is not possible for internal reasons. * Better placement of inline rename boxes when line height is increased. * Win7: Default font size for main controls from 8.25 to 9. v9.10.0010 - 2010-05-11 21:02 + Tabs: The menu popped by right-clicking the tab white space now contains the commands "Open New Tab" and "Close Tab". * List | Drag selection with hot scrolling (= scrolling a list by moving a pushed mouse out of the list area): Now when you move the offshore mouse vertically back towards the list no more scrolling happens. * Factory Default UI: A couple of minor UI adjustments to look better under Vista/Win7. The following is Vista/Win7 only: - Default font is now "Segoe UI" (before it was Tahoma). - Increased the default line height in Tree, List, Catalog by 2 pixels. Note that the row heights for Tree, List, and Catalog are all individually configurable by Ctrl+Shift+Wheel. - Increased initial window width to account for wider borders. * Factory Default UI changes for all OS: - Background Bar now visible by default. - File Info Tips now enabled by default. ! Minor icon drawing glitches fixed. ! Raw View: Error on viewing short (shorter than view port) files with Tail ON. Fixed. ! Text Preview: The 5 MB limit was not correctly implemented so that larger files were still attempted to be previewed which could lead to various errors. Fixed. v9.10.0009 - 2010-05-09 21:15 * The free space indicator on the leftmost section on the Statusbar was fixed to unit GB. Now it is flexible and thus consistent with any free space indicator on other parts of the Statusbar. ! File icons in various lists: Non-existing file items should get no icon at all in most lists, but this stopped working in Win7 where they got the default icon instead. Fixed. ! List: Since v9.00.0018 - 2010-04-17 20:18 there was a bug with drag selection and hot scrolling. Items that were scrolled out of view toward the top of the list were unselected. Fixed. Also fixed a couple of related painting glitches and made the whole thing smoother. v9.10.0008 - 2010-05-08 18:09 ! Intuition-based attempt to fix error 10 in Win7, in presence of unopened Win7 package lying on my table. v9.10.0007 - 2010-05-08 09:50 # Back to normal, all functionality switched back on. ! Wrong statusbar message on startup with MyComputer on the inactive pane. Fixed. v9.10.0005 - 2010-05-08 09:15 # ! DEBUG version