Saturday, January 31, 2009

v7.90.0085 - 2009-01-31 11:47

  • + Visual Filter: To hide all folders simply prefix "!\|" to the pattern(s). For example:
      !\|a* -> Hide all folders and show only files with a*
      !\|* -> Hide all folders and show all files

Friday, January 30, 2009

v7.90.0084 - 2009-01-30 14:10

  • + Visual Filter: Now you can define a filter to apply only to folders yet show all files. Simply prefix "*|" to the pattern. For example, to show only folders beginning with "a" and all files:
    To show all files but no folders:
  • * Updated the help file

Thursday, January 29, 2009

v7.90.0082 - 2009-01-29 21:29

  • + SC report(): Now supports Tags & Comments. Browse and Find mode support the fields {Tag} and {Comment}.
    There's an additional Special Field {TagID} which is obviously set to the item's Tag ID. If the item has a comment but no color tag assigned {TagID} returns "0"; if the item is not tagged at all {TagID} returns "".
      ::text report("{name}, {tag} (ID={tagID}), {comment}<crlf>");
  • * File Tags: The database accepts Tag IDs not only from 0 to 15 but from -2147483648 to 2147483647. You can already set these IDs manually (but forget names and colors! -- anything beyond #15 is just numbers for the time being); they will be shown in the Tag column as 3-digit (for better sorting, and tribute to James Bond) numbers and can be used for sorting (and later for VFOs).
  • ! List | Comment Column: Item "Last Comment" would break menu layout when the last comment contained commas. Fixed.
  • ! Info Panel | Version: Fixed an issue with corrupt version info. Now even a corrupt version info can be displayed (thanks to a smart workaround) and you get no crash when even the workaround doesn't work.

v7.90.0081 - 2009-01-29 11:03

  • * Info Panel | Version: Now you get more information when/why no version info is shown.
      - "No version info."
        File type has no version info.
      - "Version info not found."
        File type can have a version info but this file has not.
      - "Version info corrupt."
        File has a version info but it is corrupt.
  • ! Configuration | Tags: When cancelling the config dialog after using any of the buttons on the Tag page, any color schemes above #8 were lost. Fixed.

Wednesday, January 28, 2009

v7.90.0080 - 2009-01-28 21:13

  • + Configuration | Tags: Added button "Tag Check Up...". Helps you keep your tag database fast, tight, and tidy.
  • ! Unfortunate toolbar action could lead to crash since v7.90.0079. Fixed.
  • * Tags: Max number raised to 16 (incl. "None"). So, additionally to the 7 predefined color schemes (plus non-editable scheme "None"), you can add another 8 schemes.
  • * Tags: Renamed Violet to Purple, and changed the color a bit.

v7.90.0079 - 2009-01-28 13:34

  • * Menu Favorites | Comment...: Now with KS support.
  • * List | Tag and Comment columns: Now you get tooltips for cropped contents. If you use symbols on the Tag column and your labels are longer than 2 letters and your Tag column width is minimized then you will get tooltips for the symbols as well.
  • + File Tags: For developers and hardcore users there's a new undocumented and unsupported SC edittags. It works directly on the memory (not on tag.dat), and it works well... :)

Tuesday, January 27, 2009

v7.90.0078 - 2009-01-27 21:16

  • * File Tags: Now you can move, rename, or delete tagged items and the tag database (tag.dat) should remain intact. These are the rules:
    - MOVE items
      - tags move along with the items
      - special case: moved item overwrites existing item:
        new tag overwrites any old tag
        new tag overwrites non-tag
        non-tag does NOT overwrite old tag: old tag stays
    - RENAME items
      - tags stay
    - DELETE items
      - tags are removed
    - COPY items
      - no action on tags:
        new targets (the "copies") have no tags;
        overwritten targets keep any tags they might have
        - otherwise tags would quickly multiply on your system making it
          slow and heavy
        - you can tag an item e.g. as "original" and the copy will not
          inherit that tag
    Note that I took a lot of effort to make this as quick as possible
    but it should be clear that synchronizing a large tag database
    takes time.
  • ! File Tags: Tags were not shown in subfolders of recursive search results. Fixed.
  • ! File Tags: Column clicks did not work in Find mode. Fixed.
  • * MRUs: Now, patterns from the following commands are not added to the command's MRU list anymore when triggered via scripting:
      VisualFilter  (::filter)
      BatchRename   (::rename "b")
      RegExpRename  (::rename "r")
      SearchReplace (::rename "s")
      KeepParticularChars (::rename "k")

Monday, January 26, 2009

v7.90.0077 - 2009-01-26 17:04

  • ! File Tags: Fixed column left click glitch
  • * File Tags: Added "Remove Comment" to column right click.

v7.90.0075 - 2009-01-26 13:59

  • % Toolbar: Now you can repeatedly left-click a button real fast to get quickly repeated actions. Before, any sequences faster than your system DblClick time would be registered as a DblClick and not trigger a second action.
  • + Scripting got a new function.
      Name:   utf8decode()
      Action: Decodes UTF-8 encoded string.
      Syntax: utf8decode(string)
        ::echo(utf8decode("Köln")); //Köln
  • + Scripting got a new function.
      Name:   utf8encode()
      Action: Encodes a string to UTF-8.
      Syntax: utf8encode(string)
        ::echo(utf8encode("Köln")); //Köln
  • ! File Tags: Fixed a couple of glitches.
  • * File Tags: Reorganized the column clicking behavior.
    Tag column:
      - Left-click: toggles default tag / no tag.
      - Right-click: shows menu, now with Cancel item.
    Comment column:
      - Left-click: nothing special = normal white click.
      - Right-click: shows menu, now with "Last Comment" item (not saved
        across sessions).
    Behavior can be turned on/off in Configuration Tags:
      - Option "Toggle tags by Tag column click"
      - Option "Popup by Tag/Cmt column right-click"
    Note that, of course, the above column clicking does not work if
    Full Row Select is enabled.
  • ! List: Drawing was not well clipped in very narrow columns. Fixed.
  • ! Statusbar did not show version info anymore. Fixed.

Sunday, January 25, 2009

v7.90.0074 - 2009-01-25 10:06

  • + File Tags: Now, when in Details view and with Tag column visible, you can right-click directly into the column to (un)tag items using a popup menu with all available tags.
  • * List: Reduced the minimal width for columns from 28 to 18 pixels. Now you can minimize your Tag column with "Symbol" style nicely. Also other columns happen to be abbreviated nicely to first letter plus dot (e.g. "S.") if you use Tahoma 8.
  • + File Tags: Now, when in Details view and with Comment column visible, you can click directly into the column to comment items! Selections are not affected by this click.

Saturday, January 24, 2009

v7.90.0070 - 2009-01-24 16:21

  • + File Tags: Now, when in Details view and with Tag column visible, you can click directly into the column to (un)tag items! It toggles between the last used tag and no tag. Selections are not affected by this click.
  • + Menu File | Settings: Added "Save Tags and Comments".
  • + Menu Favorites: Added "Last Tag". Assign a KS to it and you have a quick way to tag files using the last used tag.
  • * File Tags: Now, setting tags via menu will only affect selected items. Before, the focused (but unselected) item was tagged if no item was selected. However, the new way is better for setting another default tag without actually tagging an item.
  • + Configuration | Tags: Added button to remove all tags.
  • * Info Panel | Version: Now the version info for the current file is only retrieved if/when the Version tab is visible.
  • ! Menu View | Folder View Settings: Menu was not correctly updated after toggling "Enable Folder View Settings". Fixed.
  • ! Tree: In narrow style clicking between +/- and icon would not do anything. Fixed: Now it does like clicking directly on +/-.

Friday, January 23, 2009

v7.90.0067 - 2009-01-23 18:36

  • + Configuration: Added new page for Tags.
    Show tags and comments: Uncheck it to stop showing tags and comments in the file list. Useful to speed up browsing when you have tagged a large number of items but do not need colors or tags at the moment. Note that reading and writing tag.dat is not affected by this setting.
    Customize tag names and colors: Self-evident. Note that the menu icons for tags in the main window will adjust to the back colors you have chosen -- nice programming job I'd say... :D
    Note the following extra functions of the buttons (also in the buttons' tooltips):
      - Edit: Hold CTRL to reset all to factory defaults.
      - Text Color: Hold CTRL to reset to default color.
      - Back Color: Hold CTRL to reset to default color. Hold SHIFT to
        remove any back color.
      - DblClick an item to edit its Back Color.
      - You can move the items by dragging them.
      - The Help is not yet updated, relax.
  • + Toolbar | Tags: Now there's a right-click menu with some additional commands. Note: When you select a tag from the right-click menu then the button will *not* change its default to this tag but keep the old default.
    Toggle item "Show Tags" is identical to checkbox "Show tags and comments" in configuration, I just used a short form for the looks.
  • * tag.dat: Added one empty line (reserved for future mind-blowing ideas...) to the header. This means your first tagged file will be ignored on first startup of this version. Hey, this is BETA.
  • * Menu File: If you use any of the "Copy Here with Suffix..." functions while the focus is on the Tree, you will now get a warning prompt since it is assumed that you'd normally use these functions with List items rather than Tree items.

Thursday, January 22, 2009

v7.90.0066 - 2009-01-22 13:50

  • + Toolbar: Added button (avec arrow) that pops a menu featuring the defined tags, now with pretty icons. The last used tag is remembered and mapped to the main button click.
  • + Menu Favorites | Tags: Now you can assign KSs to the tags.
  • ! FVS: There was a little bug related to the new Tag and Comment columns. Unexpectedly all eleven columns were shown in Details mode under certain conditions. Fixed.

Wednesday, January 21, 2009

v7.90.0065 - 2009-01-21 22:43

  • ! All functions between #490 and #510 did not work anymore via KS since some days ago. Fixed.
  • ! Untagging more than one item at once was buggy and could lead to crashes. Fixed.
  • ! Starting up with out an existing tag.dat would lead to a crash at shutdown. Fixed.

v7.90.0064 - 2009-01-21 15:33

  • + Menu Favorites: Added submenu "Tags", where you can assign any out of seven predefined tags to all currently selected items (or to the focused item if none is selected), or remove them by selecting "None".
  • + Menu Favorites: Added command "Comment...", where you can assign a comment to all currently selected items (or to the focused item if none is selected), or remove any comments by entering nothing.
  • * File Tags: Now, Tag and Comment columns are auto-updated when you show them after loading a list. No need to do F5 anymore.
  • * File Tags: Now, the tag definitions (colors and labels) are written to the 2nd line of tag.dat. Format per tag:
      Caption|TextColor|BackColor; (colors in RRGGBB)
    The factory defaults for the seven tags are:
      Red||FB665D; Orange||F6AB46; Yellow||EFDC4A;
      Green||B5D74A; Blue||5DA4FE; Violet||C190D9; Grey||AAAAAA
    You will later get a GUI for editing the values. For now you can edit tag.dat manually. To go back to factory defaults leave line #2 empty. Note that you cannot add more tags (they will be silently ignored). I decided to start with a maximum of 7 tags.
  • + Visual Filter: Now you can define a filter to apply only to files but show all folders. Simply prefix "\|" to the pattern. For example, show only *.txt files and all folders:
  • ! Scripting: The combination of multi-line comments and HereDoc could lead to problems. Fixed, part 2.

Tuesday, January 20, 2009

v7.90.0062 - 2009-01-20 11:22

  • * File Tags: Now the coloring always happens, even if the columns Tag and Comment are hidden.
  • ! The List got badly confused in Find mode since yesterday. Fixed.
  • + startup.ini: Now you can state a path relative to the application path, for example:
  • * Tree: Now when the bottom child of a node is deleted then its parent is selected. Before, the next row was selected.
  • ! Scripting: The combination of multi-line comments and HereDoc could lead to problems. Fixed.
  • * SC strrepeat: Now the count argument is optional (default is 0).
    Syntax: strrepeat(string, [count=0])

Monday, January 19, 2009

v7.90.0060 - 2009-01-19 14:43

  • + List: You got new columns, "Tag" and "Comment"! There's still no GUI for tagging files but you can already play with comments by editing tag.dat using this simple format:
    For example:
      C:\CONFIG.SYS|6|Do I need this file?
    The "Tag" column is filled with the default captions for the currently hard-coded color schemes. Later you can edit this.

    - For performance reasons the tags are retrieved only if at
      least one tag-based column is visible, i.e. either "Tag" or
      "Comment". If you add the column(s) only after browsing, you
      have to do a refresh (F5) to fill the columns and show any tag
    - Capitalization matters. If you manually edit tag.dat you must
      care for the right capitalization of the file names. Reason:
      Again for performance reasons, the comparisons are done by byte,
      not by character.
      Note, however, that once the GUI is implemented there is not
      much reason to manually edit tag.dat -- unless you are a
      hardcore power scripter...
  • + File Tags: The colors are now painted over the file name only. This better matches the similar "Highlight Folders" feature in Tree, and there are less conflicts with other kinds of markings in the List.
  • * Command/Button "Mini Tree": Now, when toggling from Maxi to (last) Mini Tree, the current path is kept even if it is not part of the last Mini Tree. So, no change of location will happen using this command.
  • * Menu View | Mini Tree: Replaced the rather useless command "Convert to Mini Tree" by "Minimize Tree" which will reduce the tree to show just the current node.
  • ! The last used Mini Tree was not saved when the app was closed in Maxi Tree mode. Fixed.
  • ! On startup, the combination of Mini Tree and a "non-matching" Permanent Startup Path involved an unnecessary temporary selection of the Mini Tree's first path. Fixed.

Sunday, January 18, 2009

v7.90.0057 - 2009-01-18 14:56

  • + Added experimental tweak to enable logon dialogs in MiniTree mode.
  • * Scripting function "input()" enhanced: Added arguments [width] and [height] (used for multiline input only).
      Name:   Input
      Action: Returns user input.
      Syntax: input(topic, [notes], [default], [style=s], _
                [cancel], [width=600], [height=400]
        width:  Width of window in pixels (minimum: 250; maximum:
                screen width; default: 600).
                For multiline input only.
        height: Height of window in pixels (minimum: 150; maximum:
                screen height; default: 400).
                For multiline input only.
  • * Multiline edit controls were limited to 30,000 characters. The limit has been raised to 4GB-1 (4 gigabytes minus 1). This means e.g. that you can now edit text files of virtually any length using scripting function "input()".
  • ! List: Drag-selecting in non-Details views had a drawing glitch for a couple of versions. Files were not drawn as unselected when removing the focus rect from them, although internally they were correctly unselected. Fixed.
  • ! Menu Scripting | Try Script: Could lead to "Error 91" when Step was auto-enabled by the Try Script dialog AND the script closed the app. Fixed.
  • * Mini Tree: Now the "Mini Tree" command and Toolbar button does toggle between Maxi Tree and the last used Mini Tree. Before it would minimize the Tree to just show the current location -- a functionality which turned out to be not extremely useful. If your current location is not part of the last used Mini Tree, you will automatically be carried away from it to the default location of the last used Mini Tree.

Saturday, January 17, 2009

v7.90.0055 - 2009-01-17 15:41

  • ! File Tags: Little drawing glitch depending on your list styles. Fixed.

v7.90.0054 - 2009-01-17 14:49

  • +++ File Tags. This is work in progress, but to keep you excited I decided to already give you something to play with. File Tags will brings you two things: File Colors and File Comments. The latter is not done yet, but the former works already.

    File Colors
    There is no GUI implemented yet, but the basic idea is that you can one-click-assign a color scheme (text and back color) to the selected list items. Contrary to "Color Filters" this is not wildcard/pattern-based but works on specific files. You might know such a feature from MS Word or from Mac OS ("Color Labels"). I used all tricks to make it real fast so that it should be able to handle thousands of tagged files against huge folders and with lots of color schemes.
    There are 7 default color schemes hard-coded currently (index 1 - 7). In a later stage will be able to add more schemes and edit the default ones. Later you will be able to move/rename files *with* the color (currently the color will be lost). Later you will be able to search files by File Color -- an interesting new way to group files. The search will be *very* fast since only the database (tag.dat) has to be searched, not your disks! Later there will be a new column "Color" by which you can sort the files in each folder.

    The Database: tag.dat
    I decided to give it a human-friendly format. All File Tag data are stored in an UTF-16 Text File named "tag.dat" (in <xydata>) --
    a small header followed by one line per tagged file. The lines are organized like this:
      Filename|Color Scheme Index [a number from 1 to 7]
      Filename|Color Scheme Index|Comment

    Example for tag.dat:
    - - - - - - - - - - - - - - - - - - - - - - - - -
    XYplorer File Tags v1

    - - - - - - - - - - - - - - - - - - - - - - - - -
    You can manually create/edit tag.dat and enter some files actually existing on your system. You then should see the colors on next startup. Note that the file-lines must be sorted alphabetically! XY will do the sorting for you if you close it (saving settings) and restart.
  • ! Catalog: The "Open" command did not support Environment variables. Fixed.
  • ! UDC: The "Open" command did not support Environment variables. Fixed.

Thursday, January 15, 2009

v7.90.0053 - 2009-01-15 21:18

  • ! WOW64 Redirection: When disabled and starting XY on MyComputer, various sorts of crashes would happen soon after. Fixed?

v7.90.0052 - 2009-01-15 15:21

  • * In v5.00.0069 - 2006-07-30 09:54 I did the following:
      Configuration/General: improved the logic of "History without
      duplicates" so that the Back button (Alt+Left) actually brings
      you back to where you have been before.
    However, this strategy had the disdvantage that under certain conditions the "past" was shifted to the "future" and vice versa, leading to surprising "histories".
    I stopped this. Now the history always remains in good shape.
  • * Quick File View: For text files now the number of displayed lines and the nature of line ends is displayed.
  • ! List: In "List" view you could get a crash when deleting items with the list being horizontally scrolled. Fixed.

Monday, January 12, 2009

v7.90.0050 - 2009-01-12 12:00

Main changes since last release:

  • +++ Dramatically increased startup speed!
  • +++ Spot: Highlight any strings in Tree and List.
  • +++ Media preview got Play/Pause/Stop buttons.
  • +++ Media preview now supports A-B Repeat.
  • +++ Bugs fixed.

Sunday, January 11, 2009

v7.90.0047 - 2009-01-11 13:58

  • ! Startup: "Open new instance always" did not work since lastini.dat was introduced some days ago. Fixed
  • * Mini Tree: Now there's no more size limit for the Mini Tree stored between sessions. It can have any size (well, <>

v7.90.0046 - 2009-01-11 09:19

  • ! List Style "Full Row Select": Fixed a little drawing glitch.

Saturday, January 10, 2009

v7.90.0045 - 2009-01-10 13:30

  • ! Toolbar | Mini Tree | Context Menu: Setting "Auto-Optimize Tree" did have an effect only if AutoOptimizeTreeRadical=1. Fixed.
  • ! Auto-Optimize Tree (non-radical) did not work since last version. Fixed.
  • * Auto-Optimize Tree: Attempted to improve behavior. Tricky because of conflicting objectives within certain constellations of user settings.
  • * List Style "Full Row Select" (Details mode): Now the selection highlight begins with the filenames but excludes any thing left of them.

Friday, January 9, 2009

v7.90.0044 - 2009-01-09 17:26

  • * List Style "Full Row Select" (Details mode): Now a click right of the right-most column will count as a "white click", i.e. unselect any selections etc. Before it would select the clicked row. Also drag-select now works from right of the right-most column.
  • ! The combination of "Auto-Optimize Tree" and "Expand tree nodes on single-click" would lead to unwanted tree scrolling. Fixed.

v7.90.0041 - 2009-01-09 11:28

  • ! Issue with reading the INI file in some systems with non-english codepages. Fixed.
  • ! Menu View | Columns | Len was missing from CKS. Fixed.
  • ! Menu View | Columns | Path was wrongly mapped to column Len in CKS. Fixed.

Thursday, January 8, 2009

v7.90.0040 - 2009-01-08 14:49

  • % Again faster startup, this time achieved by reducing the number of file reads (udc.dat, fvs.dat, catalog.dat). The effect you'll notice depends on the size of these files.
  • * Menu View: Reorganized resp. added a couple of commands concerning Mini Tree. Now there's a submenu, and all commmands that up to now have been only available through the toolbar context menu are now available in the main menu, and keyboard shortcuts can be assigned to them.
  • * INI file: Keys in sections [ListDateFormats] and [ListTimeFormats] are now written quoted. That means you can tweak them to have any number of leading or trailing spaces.
  • + Added tweak to not save any MRU lists between sessions. By default they are all saved (ForgetMRU=0).
    The following lists are affected:
      Goto (= AddressBar)
  • ! Menu View | Date Column Format: The order of months and days was reversed in many of the menu captions when the numbers were ambiguous (none of them larger 12). The bug lived for a couple of months. Fixed.
  • ! Since v7.90.0026 - 2009-01-04 23:00, the list item focus was not correctly restored after deleting items. Fixed.
  • ! Passing an environment variable in the command line did not work anymore. Fixed. Now you can do this again: XYplorer.exe /ini=%TMP%\

Wednesday, January 7, 2009

v7.90.0031 - 2009-01-07 10:58

  • % Removed a call to winmm.dll on startup. Faster again?
  • * Auto-Optimize Tree: Now it is attempted to keep the current node in its screen position even if nodes above it auto-collapse. This improvement is notable mainly when you use the AutoOptimizeTreeRadical=1 tweak.

Tuesday, January 6, 2009

v7.90.0030 - 2009-01-06 14:24

  • %%% Put your helmets on. Startup is REAL FAST now. About 50% faster. Yep, I said f-i-f-t-y! :D (Of course, the percentage you will see depends on a large number of factors.)
    >>> TIP: Backup your INI file before starting this version!
    >>> You never know with BETA versions...
  • * INI file: Enlarged the max size for keys from 1023 to 2047 bytes. Gives you more room for storing larger MiniTrees.
  • * The last INI file is now stored in a separate little file called "lastini.dat" (UTF-16 encoded) and located in Application Data Path. Before it was stored in XYplorer.ini which was a bit unclever.

Monday, January 5, 2009

v7.90.0029 - 2009-01-05 19:46

  • * SC html is now a function.
      Name: html
      Action: Displays an HTML formatted string.
      Syntax: html([html], [width=600], [height=400], _
        return: A special hypertext reference when a link starting with
                "xys:" was clicked (see example).
                On Close button or ESC, an empty string is returned.
        // shows a message box "Yes!" or "No!" depending on the link
        // you click:
          ::echo(html('<html><body><a href="xys:Yes!">Say "Yes!"</a> _
            <br><a href="xys:No!">Say "No!"</a></body></html>'));
        // the other examples now need parentheses:
          ::html("", 800);

v7.90.0028 - 2009-01-05 15:09

  • + Scripting got a new command.
      Name:   html
      Action: Displays an HTML formatted string.
      Syntax: html [html], [width=600], [height=400], [caption=XYplorer]
        html:    HTML formatted string, or name of one.
                 If no "<" character is contained it is interpreted as
                 a URL or filename pointing to an HTML formatted
                 document, resp. any type of document that can be
                 displayed in InternetExplorer. Default: Current file.
        width:   Width of window in pixels (minimum: 250; maximum:
                 screen width; default: 600).
        height:  Height of window in pixels (minimum: 150; maximum:
                 screen height; default: 400).
        caption: Caption on window's title bar;   default: "XYplorer".
          ::html "<html><body>Hi!</body></html>";
          ::html "", 800;
        // note that <xypath>is resolved before the argument is passed
        // to html, so it is auto-interpreted correctly as filename:
          ::html "<xypath>\XYplorer.pdf";

v7.90.0027 - 2009-01-05 14:36

  • %%% Startup massively faster (ca. 20% depending on a number of factors): Now the WebBrowser control (embedded instance of InternetExplorer) is only loaded when it's needed.

Sunday, January 4, 2009

v7.90.0026 - 2009-01-04 23:00

  • ! Crash when a large scrolled down file list was redrawn to a smaller (but > 0) list (after moving or deleting files). Fixed.

Friday, January 2, 2009

v7.90.0024 - 2009-01-02 15:18

  • * SC run enhanced: Added parameter directory.
      Syntax: run command, [directory], [wait=0]
        command: module name plus (optionally) arguments
                 module names containing blanks must be quoted
        [directory]: working directory, allows you to skip the path in
                     command; defaults to current path
          0 = [default] return immediately and continue the script
          1 = only continue when the shelled process has finished
        ::run "ReadmeXY.txt", "C:\Programme\XYplorer\";
        ::run "notepad Edit.txt",,1; //open Edit.txt using notepad _
          in current path