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...
      [General]
      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 http://www.winzip.com/whatsnew121.htm
  • * 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):
      [Settings]
      NSE101=1
    Reason: Didn't bring any improvement.
  • - Removed this tweak:
      [Settings]
      NoFindOnStartup=1
    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.
      Example:
        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.
      [Settings]
      ShowAllServers=1
  • + 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
              contents).
      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
      Examples:
        // if the current item is "blah.txt" then this will
        // create "blah-01.txt" in the current folder:
        copyitem;
        // 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";
      Remarks:
      - 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
        fvs.dat
        ks.dat
        lastini.dat
        servers.dat
        tag.dat
        udc.dat
      - 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:
      [Settings]
      DropTargetCustomExtensions=.dro.drp.drq.
  • ! 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.
      [General]
      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)
    Examples:
      ::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

    Remarks:
      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) {
        $i--;
        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.