Saturday, July 31, 2010

v9.30.0028 - 2010-07-31 17:48

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • * Updated the help file.
  • ! There was a problem with the MIDI preview on some systems. Fixed.

Friday, July 30, 2010

v9.30.0024 - 2010-07-30 18:43

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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").

Thursday, July 29, 2010

v9.30.0023 - 2010-07-29 12:14

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + Scripting got a new function.
      Name:   listfolder
      Action: Lists the contents of a folder (non-recursive).
      Syntax: listfolder([path=<urpath>], [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 filees
        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 gives 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 goto
        ::$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.

Wednesday, July 28, 2010

v9.30.0022 - 2010-07-28 20:12

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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 (fullpath).
    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

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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 beetween sessions.

Tuesday, July 27, 2010

v9.30.0020 - 2010-07-27 21:00

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • ! 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

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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.

Monday, July 26, 2010

v9.30.0016 - 2010-07-26 19:52

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • ! 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

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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!

Sunday, July 25, 2010

v9.30.0014 - 2010-07-25 12:06

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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.

Saturday, July 24, 2010

v9.30.0012 - 2010-07-24 17:03

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • ~~~ 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

Limited time offer: 50% off Lifetime Pro license

Big Summer Art Madness! Get the XYplorer Lifetime License Pro for half of the normal price by showing off your art knowledge! Note that this special offer only supports PayPal as payment service. Note that this is a limited time offer that will end on Sunday, August 08th 2010!

Yes, it may take a few clicks to get the correct answer to this 'AD', but it's worth it to save that much on a great product!

Friday, July 23, 2010

v9.30.0010 - 2010-07-23 08:59

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • * 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.

Thursday, July 22, 2010

v9.30.0009 - 2010-07-22 21:31

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • +++ 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, 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.
    Example:
      // 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

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • ! SC tab glitches fixed.
  • + SC inputselect enhanced: Added cancel argument at position 5!!
    Update your scripts.
    See updated change log of v9.30.0003.

Wednesday, July 21, 2010

v9.30.0006 - 2010-07-21 19:54

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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

Publication of this update is out of sequence due to amount of editing required.
Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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 or index
          0, "get" = [default] just return a value depending on data
              (first tab = 0)
            data:
              "c", "count"
                return: tab count
              [else]
                return: index of the current tab (first tab = 0)
          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:
        text tab(); //ret index of current tab (first tab = 0)
        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, 0); //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.

Tuesday, July 20, 2010

v9.30.0004 - 2010-07-20 21:45

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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".."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.

Monday, July 19, 2010

v9.30.0002 - 2010-07-19 19:58

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • ~~~ 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.

Sunday, July 18, 2010

v9.30.0001 - 2010-07-18 20:48

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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.

Thursday, July 15, 2010

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.

v9.20.0208 - 2010-07-15 10:51

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • ! Find Files: Search Results were not updated on deletion when at least one folder was among the deleted items. Fixed.

Wednesday, July 14, 2010

v9.20.0207 - 2010-07-14 21:28

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • * 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.

Monday, July 12, 2010

v9.20.0206 - 2010-07-12 20:58

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • * 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

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • * 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 selection 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).

Saturday, July 10, 2010

v9.20.0204 - 2010-07-10 14:54

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • +++ 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).

Friday, July 9, 2010

v9.20.0203 - 2010-07-09 15:36

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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 correcly 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.

Wednesday, July 7, 2010

v9.20.0202 - 2010-07-07 10:58

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • + 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 name. Fixed.

Tuesday, July 6, 2010

v9.20.0201 - 2010-07-06 11:31

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • * 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.

Saturday, July 3, 2010

v9.20.0103 - 2010-07-03 09:21

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • ! Find Files: The Name field was ignored since v9.20.0102. Fixed.

Friday, July 2, 2010

v9.20.0102 - 2010-07-02 10:39

Note: BETA versions are a work in progress and might contain fresh bugs.
You have been warned.

  • * 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.