Friday, May 29, 2009

v7.90.0401 - 2009-05-29 20:08

  • ! Portable path syntax "?:\..." did not work anymore since .0400. Fixed.

v7.90.0400 - 2009-05-29 16:08

  • +++ Dual Pane. Find the toggle in menu Window (default KS: F10). There's also a new toolbar button with a little context menu where you have some further layout/behavior options that are currently not available elsewhere.
    Things yet to add: Breadcrumbs (also providing a better way to mark the active pane), and a couple of useful DP commands ("Copy from A to B" etc)...
  • + Tip: Dbl-click the splitter between the panes to center it.
  • * Window Resizing: Now, you can shrink the window to the absolute minimum allowed under Windows. Before, the height was limited so that the Info Panel was always fully visible.
  • % Despite adding a second list pane startup faster got faster once more. Did some cleaning and learned a new trick.
  • * Splitters: New more-standard cursor when hovering them.
  • * Tweak to increase the width of the various splitters. Many apps use 4 pixel wide splitters whereas XYplorer always had only 3 pixels...
      SplitterWidth=[3-6] (default=3)
  • * Catalog: Now the mouse cursor changes to "minus" when you drag-move a Catalog item to a new position, and to "plus" when you drag-copy an item (by holding CTRL).
  • * Save Settings operation now with hourglass cursor and Statusbar message.
  • + Drag'n'Drop now supports the new *.zipx extension. See
  • * List | Tags: Now in non-Details views always the "Name column" tag coloring style is applied (unless user opted for "No Coloring". Before, you could see your tags in "List" view only if you selected the "Whole Row" style.
  • * History: From now on, if "Don't save history" is ticked then also the Mini Tree is not saved. On next startup, the Mini Tree defaults to the Favorite MiniTree (if there is any defined).
  • * Catalog: Now, the setting for "Use generic icons for superfast browsing" (Configuration Advanced) also applies to the Catalog icons.
  • ! Thumbnails from PSD files were not retrieved reliably. Fixed.
  • ! Tabs: Captions with just a drive (e.g. C:\) would not be displayed when the tab header was below a certain width. This was due to some weird smartness (aka bug) of the used drawing API. Fixed.
  • ! Info Panel: With a bit of luck you could use the drop-down lists even when the panel was closed. Fixed.
  • ! List: Serial Rename did not work when only List controls are visible. Fixed.
  • - Removed this tweak (from v7.90.0255 - 2009-05-08 08:50):
    Reason: Didn't bring any improvement.
  • - Removed this tweak:
    Now search on startup will not happen by default. But contrary to the earlier way, now you don't lose your find settings but can start the last search with a single click (also: Dbl-click anywhere the message field, or press F3 (Find Now)).

Saturday, May 16, 2009

v7.90.0302 - 2009-05-16 17:54

!!! Radical changes in this BETA !!! Backup your current XYplorer folder with all contents before running it !!!

  • + SC getinfo got a new named argument "sort".
      Syntax: getinfo("sort")
        return: Sorted column name and order.
        echo getinfo("sort");
        Sample returns:
        -> "Name,a"     //Name, ascending
        -> "Name,d"     //Name, descending
        -> "Modified,d" //Modified, descending
        -> "Random"     //Random Order
        -> "Unsorted"   //Unsorted
      Using getinfo("sort") you can easily build a sort order toggle,
      for example:
        // toggle sortorder between "Name,a" and "Modified,d"
          if (getinfo("sort") == "Name,a") {
            sortby "Modified", "d";
          } else {
            sortby "Name", "a";
  • + Tweak: Now you can browse the network with the broadest possible "catch them all" mask.
  • + Menu File | Settings: Made an attempt to register all changes in data that are not yet saved to disk. In the menu you now see an asterisk (*) prefixed to all dirty configurations. Note that my registering is not yet complete, especially with regard to the INI file, where are millions of places where data can be changed...
  • + Toolbar | Save Settings: Now the button icon is green as long as there is no registered change. It turns brown once there are changes that need to be saved if you want to keep them across sessions. The button's tooltip shows the number of registered changes.
  • * List: When inline-renaming PDFs or DOCs any preview is now closed even before the rename box is shown (not just before the actual rename). This is an attempt to fix issues with locked documents.
  • ! Tabs: When cloning the "Search Results" tab (or any finding tab), the cloned tab would not have the "Find" icon. Fixed.
  • ! Tabs: Under certain circumstances, when selecting a finding tab other than the "Search Results" tab, the "Search Results" would be selected or even auto-created if not existing. Fixed.

Friday, May 15, 2009

v7.90.0301 - 2009-05-15 14:42

!!! Radical changes in this BETA !!! Backup your current XYplorer folder with all contents before running it !!!

  • + Scripting got a new command.
      Name:   CopyItem
      Action: Creates a copy of a file or folder (with all
      Syntax: copyitem [item], [copy]
        item: [optional] full path/name of the item to copy
              if missing defaults to current item
              can be relative to current path
        copy: [optional] full path/name of the copy to create
              if missing defaults to current item plus an
              automatic number suffix
              can be relative to current path
              can contain * to stand for the base of item
              can contain ? to stand for the extension of item
        // if the current item is "blah.txt" then this will
        // create "blah-01.txt" in the current folder:
        // duplicates blah.txt as blub.txt in another location:
        copyitem "C:\Temp\blah.txt", "D:\blub.txt";
        // will create folder new\ if necessary:
        copyitem "C:\Temp\blah.txt", "D:\new\blub.txt";
        // duplicates blah.txt in the current path as
        // blah-copy.txt:
        copyitem "C:\Temp\blah.txt", "*-copy.?";
        // backup XY data folder to [e.g.] ..appdata_backup_20090515:
        copyitem "<xydata>", "<xydata>_backup_<date yyyymmdd>";
        // duplicates folder "C:\Temp" with all its contents as
        // "C:\Temp-01":
        copyitem "C:\Temp";
      - The command uses the shell copy engine for the job.
        Hence you get the usual prompts about overwriting and
        no support for overlong filenames.
      - Any non-existing folders in the target are silently
        created without asking you politely for your approval.
      - Note the difference to the command "CopyTo": In CopyTo
        the "location" argument is the destination where the
        source is copied to. In CopyItem the "copy" argument
        is the name of the copy itself.
      - You cannot pass a drive, server, or share, as argument.
      - Trailing slashes for folders are optional.
      - The "copyitem" command partly overlaps functionally
        with the "new" command when you pass a source argument
        to the latter. However, "copyitem" is straighter to
        use for the job and has additional powers (e.g. using
        wildcards * and ?). Also, "new" will never overwrite
        an existing file or folder whereas "copyitem" will
        (unless you omit the "copy" argument).
  • + New variable: <xypane> = XYplorer active pane data path (unslashed).
  • + Configuration | Startup & Exit: Added option "Keep pane data private". Check it if you don't want share history and tab data with other configurations. Changing this option will have an effect only after a restart.
  • * Configuration | Startup & Exit: Renamed "Cache network servers between sessions" to "Cache network servers" to gain a little space.
  • ! When migrating INI files other than XYplorer.ini to the new data layout (Panes folder), shared pane data were overwritten by data of those INI files. Fixed. Now those INIs by default keep their pane data (history and tabs) private. You can change this setting in configuration to make them share the data with XYplorer.ini.
  • ! Rename Special: Folders with dots in the name were incorrectly treated as having extensions. Fixed.

Thursday, May 14, 2009

v7.90.0300 - 2009-05-14 14:45

!!! Radical changes in this BETA !!! Backup your current XYplorer folder with all contents before running it !!!

  • *** DP Phase 2. Radical reorganization of configuration data.
    !!! Backup your current XYplorer folder with all contents !!!
    New data layout:
      - <xydata>\        = shared data (between the panes)
        XYplorer.ini     = main configuration data
        catalog.dat      = various binary data files
      - FindTemplates\   = shared data
        *.ini            = search templates
      - NewItems\        = shared data
        (files, folders) = new items
      - Scripts\         = shared data
        *.xys            = script files
      - Panes\1, 2       = panewise settings
        pane.ini         = history data, tabs data
        tab_[#].dat      = tabwise find settings
  • + Now you can rename the special "Search Results" tab using the normal Rename... interface for tabs.
  • + Tweak: Added the possibility to add more file types to drop stuff on. The format of the values is "dot- [extension-dot-]extension-dot". So it could look like this, for example:
  • ! Command Line: Using ? for relative drive letter in /ini= switch had stopped working. Fixed.

Wednesday, May 13, 2009

v7.90.0265 - 2009-05-13 15:48

  • + Added INI Tweak to customize the title of the "Search results" tab.
      TermSearchResults=Search results
    Now you can make it shorter and/or adapt it to your language.
  • ! Fixed some glitches with the new layout.

v7.90.0264 - 2009-05-13 13:04

  • *** DP Phase 1. Now the Tabs are only as wide as the List, and the navigation pane (Tree/Catalog) touches the top bars (Address Bar, Toolbar).
  • * Menu Window | Layout: Completely changed the commands:
    - [Address Bar & Toolbar] (one row)
    - [Toolbar & Address Bar] (one row)
    - [Address Bar] [Toolbar] (two rows)
    - [Toolbar] [Address Bar] (two rows)
  • + Scripting got a new function.
    Name:   exists
    Action: Checks whether a file or directory exists.
    Syntax: exists(item)
      item: full path (local or UNC) to a file system item.
      return: 0 = does not exist
              1 = exists (file)
              2 = exists (folder; drive; share; server)
      ::echo exists("C:\*.bat"); //0 - wildcards are NOT recognized
      ::echo exists("C:\autoexec.bat"); //1
      ::echo exists("C:"); //2
      ::echo exists("C:\"); //2
      ::echo exists("C:\Windows"); //2
      ::echo exists("C:\Windows\"); //2

      The API function used to determine the existence and nature of
      the item is inherently tolerant with trailing spaces, and it
      resolves relative syntax (\..\.. etc) before doing the check.
      This was not my choice but there's no way to turn it off.
      Some of those special cases:
      ::echo exists("C:\autoexec.bat "); //1
      ::echo exists("C:\autoexec.bat\.."); //2 (!)
      ::echo exists("XYplorer.exe"); //1 (!)
      ::echo exists("appdata"); //2 (!) - if folder "appdata" is below
                                          the current path (= xypath)

Tuesday, May 12, 2009

v7.90.0261 - 2009-05-12 20:43

  • + Menu View | Current Tab: Added command "Restore Last Closed Tab". Will restore the tab that was last closed in the current session it's not remembered across sessions). If you have closed a couple of tabs at once (using e.g. "Close All
    Other Tabs...") then only the right-most one of them will be restored.

v7.90.0260 - 2009-05-12 08:44

  • ! Tabs: Flexible Width ignored any Visual Filters. Fixed.

Monday, May 11, 2009

v7.90.0257 - 2009-05-11 08:05

  • * List in Find mode, aka Search Results: Reallowed drag-n-drop into the Search Results list. It had been disallowed years ago due to difficult update issues in the Search Results list, but now it looks like the difficulties are mastered and it all works alright.
  • * Scripting: SC Break & SC Continue: The "level" argument now ignores IF blocks. So in the following example, the [break;] command will move execution on to [echo "while done";], not just to [echo "if done";]:
      $i = 3;
      while (1) {
        if ($i == 0) {
        break; // = break 1: move on to [echo "while done"]
      echo "if done";
    echo "while done";
    This is expected behavior for Break and Continue because it's the standard in many programming languages.
  • ! Scripting While & If: Fixed a parsing bug concerning variables in the expression part.

Saturday, May 9, 2009

v7.90.0256 - 2009-05-09 11:51

  • + Now image preview and thumbnails also work for overlong filenames.
  • ! Scripting: Parsing error when "else" was directly followed by "{", as in:
  • * Scripting: Function Report() is now also implemented for "Network" mode (list of servers and comments).
  • + SC Report(): Added special field {Fullpath}.
      - Field is set to the full path of the item.
      - The returned path has no backslash.
      - In Find mode, the return is identical to the field {Path}.
      - In Drives mode, "MyComputer" (or so) is returned.
      - In Network mode, "My Network Places" (or so) is returned.
      ::echo report("{fullpath}", 1); //shows selected items' paths
  • ! SC Report(): Field {Path} returned a slashed path under certain conditions. Fixed: Now it always returns an unslashed path.
  • + New variable: <curitempath> = unslashed path of currently selected and focused list item. Especially useful in Search Results with subfolders included, because then it differs from the variable <curpath>. Example:
      ::echo "<curitempath>";

Friday, May 8, 2009

v7.90.0255 - 2009-05-08 08:50

  • + Added tweak to use an alternative way to enumerate servers:
    Set to 1 to enter level 101. This might fix some rare issues with certain network configurations. To test it: ensure MiniTree is OFF, then select the nethood node ("My Network Places" or so) in the tree and press F4: this will re-read the nethood afresh.
  • ! Menu File | Delete (Skip Locked): Now correctly handles overlong filenames and Unicode filenames. Before both had been treated as "locked".
  • * Configuration | Tabs: Renamed "Flexible width for named tabs" to "Flexible width" because it is not restricted to named tabs anymore.

Thursday, May 7, 2009

v7.90.0254 - 2009-05-07 11:40

  • +++ Added basic support for overlong filenames (>= 260) chars.
    The Windows Shell does not allow overlong filenames and Shell functions (e.g. Copying, Moving) will fail with items having overlong filenames. However, it is possible to create items with overlong filenames under Windows, and with Explorer you are stuck when meeting such item: You cannot delete, rename, or move it! Consequently, also XYplorer will fail wherever it uses Shell functions.
    Now, however, there are a couple of XYplorer commands that work independently of the Shell and do support overlong filenames up to the limit set by NTFS (approx. 32767 chars):
    - Properties (Info Panel)
    - Raw View (Info Panel)
    - readfile, writefile (Scripting commands)
    - Quick File View (menu File)
    - Inline Rename (Tree and List)
    - Rename Special (menu File)
    - Swap Names (menu File)
    - Delete (No Recycler!): If you select exactly one file or folder,
      then -- after the Shell failed -- you are prompted to delete the
      item terminally. Note that only *empty* folders can be deleted
      this way.
    - All "Copy Here..." commands (menu File), BUT only for files, not
      for folders.
    - All Backup operations
  • * Nethood: When enumerating servers, now the retrieved server names are stripped of any embedded comments (which appears to be necessary in some systems). A comment is recognized by a space followed by an opening parenthesis.
      "\\server (comment)" --> "\\server"

Wednesday, May 6, 2009

v7.90.0253 - 2009-05-06 22:56

  • * In version v5.00.0037 - 2006-07-05 18:34, I did this:
      % Browsing "My Network Places": The servers listing in file view
        now leaves the Comments column empty. Makes it much faster if
        you have a lot of servers. I might make this configurable
    Now, 3 years later, I found a way to do it faster. So, server comments are back in the list!
  • + Added tweak to remove the icons (and the work of retrieving them) from the Address Bar (and Go To, and FindFiles/Location):
    I might make this an official setting in Configuration if more than one user finds it useful...
  • ! Tabs: Flexible Width did not work alright with Maximum Width = 0. Fixed.

v7.90.0251 - 2009-05-06 11:39

  • * Configuration | Tabs | Flexible width for named tabs: Now, it's experimentally done for all tabs, not just named tabs. It might be even good that way...
    One difference remains: The named tabs continue to ignore the user-defined max width for tabs, whereas the non-named tabs will obey to it. Reason: Named tabs' captions should not be cropped.
  • * Address Bar: Now, experimentally, even fewer icons are retrieved for network locations. Hunting a lag issue...

Tuesday, May 5, 2009

v7.90.0250 - 2009-05-05 12:00

Main changes since last release:

  • +++ Folder Thumbnails. Now, in Thumbnails view, folder icons display a thumbnail of any file in the folder named "folder.jpg/png/gif", or of the first found *.jpg image.
  • +++ X close buttons on tabs. Now the tabs optionally show X close buttons.
  • +++ Scripting. Now the important control structures while loop and if/elseif/else block are supported.
  • +++ Scripting. The new "rotate" command brings lossless rotation of JPEG images to your home.
  • +++ Scripting. The new "tag" and "comment" commands join the powers of scripting and Tags & Comments.
  • +++ Lots of network related performance improvements.
  • * Updated the help file.

Monday, May 4, 2009

v7.90.0164 - 2009-05-04 08:32

  • + Configuration | Tabs: Added dropdown "Show X close buttons on tabs" with options
    - Never
    - On Hover [factory default]
    - Always
  • * Tweaks: Experimentally removed the tweak
    Now Configuration | Advanced | "Use generic icons for super-fast browsing" (with or without "But only in network locations") is used to the same effect.
  • ! The tree did not mind the "Use generic icons for super-fast browsing" setting consequently. Fixed. Will speed up startup in certain constellations.
  • ! List: When closing a search tab and with "Activate left tab on closing current" ON, the List could get confused about modes. Fixed.

Saturday, May 2, 2009

v7.90.0163 - 2009-05-02 20:47

  • ! Tabs: User-defined action on dbl-click was temporarily malfunctional. Fixed.
  • * Tabs: X button now pops sure?-prompt on locked, homed, and default tabs.

v7.90.0160 - 2009-05-02 13:53

  • +++ Tabs: Added X close button that shows on hovering the individual tabs. Another revolutionary interface invention by XYplorer.
    Note: Tabs smaller than 80 pixels won't show the X button to prevent unwanted closings.

Friday, May 1, 2009

v7.90.0153 - 2009-05-01 15:25

  • % Address Bar: Improved performance when editing network paths directly in the Address Bar. There had been delays due to attempts to retrieve icons for non-existing/unavailable locations.
  • % Faster startup with tree or tabs pointing to non-existing/unavailable shares.
  • * List: Restyled the "Currently no available" screen.