Choose one: (1) Install Package, (2) No-Install Package (each about 1 MB).
Code: Select all
v6.80.0101 - 2008-03-07 14:33
! Little glitch with the script name resolving added earlier today.
Fixed.
Code: Select all
v6.80.0101 - 2008-03-07 14:33
! Little glitch with the script name resolving added earlier today.
Fixed.
Code: Select all
v6.80.0100 - 2008-03-07 11:34
+ New variable: <curitem> = currently focused/selected list item,
i.e. the one that's displayed in the statusbar. Up to now this
variable was only recognized in the Source field of a UDC "New".
But there's good use for it in other contexts as well, especially
in scripting.
For example:
::load <curitem>
If a script file is currently selected, this script will load it.
* Scripting: To improve the interaction between script files I
slightly redesigned the logic of resolving the name of a script file
to load:
- If the passed file argument does not contain any extension, the
*.xys is assumed immediately (there is no test whether a file
without any extension exists).
- If a script file was called from another ("parent") script file,
then the first path to look for the file is the path of the parent
script file. If no file is found in that path, then the
application data path will be searched.
The latter is an important imporvement because it enables you to
run script files that depend on other script files from any
directory! For example, you have a lot of script files and
organize them into various folders. In one folder called
E:\XY\Scripts\Rename\ you have these four files:
Rename.xys
Rename - IE.xys
Rename - Insert.xys
Rename - Remove.xys
Now Rename.xys calls the other files in statements like this:
load "Rename - Remove";
This would not have been possible without the new logic added
here, because "Rename - Remove.xys" would have been looked for
only in xy app data path and, of course, not been found. Now it is
found in E:\XY\Scripts\Rename\.
So, now you can e.g. load script files from some network server
and need not to worry about paths.
Also, when users share script files, you don't have to worry about
name collisions anymore because each script file package can run
in its own folder.
Code: Select all
v6.80.0099 - 2008-03-06 12:57
+ Scripting command enhanced:
- load
Now the first argument (resource) can be set to * in order to
refer to *this* resource! Kind of a recursion trigger, and very
useful.
Example (multi-script):
----------------------
"Copy 0"
copytext "0", a;
// load this script resource (file or script)
load *;
"Copy 1"
copytext "1", a;
// load this script resource (file or script)
load *;
----------------------
Run this script through the Try Script... dialog, or load it
as a script file -- it will work just the same. Tip: Use the
keyboard to select the menu items else your menu will try to
leave the screen towards south-east... ;)
+ Configuration | Advanced: Added option "Assume that servers
exist". If enabled then the check for existence is skipped,
with two possible effects:
(1) It might speed up browsing and start up.
(2) In some rare configurations the checks are not reliable
(servers that do exist are not seen), so if YOU know the
servers do exist, you don't need the check and can turn it
off.
The factory default is ON (skip the check).
Note that this setting has already been available as INI tweak
since v6.30.0044 - 2007-10-03 14:58.
Code: Select all
v6.80.0098 - 2008-03-05 12:52
+ List: Now there's "Move On Rename", a cute little time saver that
enables you to move & rename files in one go. Simply enter a
relative (to the current path of the file!) or absolute path into
the inline rename box (F2) and "Move On Rename" will happen. If
the new folder (or multi-folder path!) does not exist yet, you
will be prompted to create it on the fly. Note that "Move On
Rename" does work only for one item at a time.
For example, select a file in the List and enter this into the
rename box:
- C:\new.png = Move file to C:\ renaming it to new.png.
- C:\1\2\3\new.png = Move file to C:\1\2\3 renaming it to
new.png. If "C:\1\2\3\" does not exist it is created.
- ..\new.png = Move file one up renaming it to new.png.
- stuff\new.png = Move file one down to subfolder "stuff"
renaming it to new.png. If "stuff" does not exist it is
created.
For logistic reasons this is currently only implemented as an INI
tweak. You have to manually enable it by editing the INI file:
[Settings]
AllowMoveOnRename=1
* Menu File | Move/Copy/Backup To: Now the submenu MRU items are
prefixed with serial numbers. Also items containing an "&" are
displayed correctly now.
+ CKS | Miscellaneous | Tree: Added command "Create New Subfolder
Here". Creates new folder under the current Tree folder, and opens
rename box in Tree.
Note: This command is featured in the Tree items' context menu
since long. Before, the keyboard shortcut for New Folder (Ctrl+N)
was displayed here, but that was not correct because the commands
are not the same: "New Folder" opens the rename box in the List,
whereas "Create New Subfolder Here" opens it in the tree.
+ Menu User | Run Script: items now have icons.
+ Menu User | Load Script File: items now have icons.
* Toolbar: Removed the only two special tooltips for pressed state,
namely:
- "Reactivate Auto-Refresh" of button "Suspend Auto-Refresh"
- "Unlock Tab" of button "Lock Tab"
It's more consistent like this, and clearer: With toggle-state
buttons, the tooltip always describes what happens when the button
is pressed, and the opposite happens when it is unpressed.
*% List: From now on, the "Len" column will only be filled with data
when visible. This increases the listing speed for most users (since
the Len is not very commonly used) and makes no difference for
users that actually use the column.
The only downside:
- When you switch the Len column from hidden to visible you have
to refresh the list (F5) in order to fill it.
- You cannot sort by Len while Len is hidden.
* Menu Edit | New | New Folder: Now, the rename box is opened in
Tree when the focus was on Tree when the command was triggered by
keyboard. Before, the rename box was always opened in List when the
command was triggered by keyboard.
Code: Select all
v6.80.0097 - 2008-03-04 09:39
+++ Menu Edit | Paste Special: Added "Paste Image Into New [EXT] File"
[Ctrl+Shift+Alt+V]. Creates a new image file filled with the image (if
any) currently on the clipboard.
Call it bloat, but me loves this feature and missed it ever since!
If you are a visual artist or web hunter it will save you hours of
tedious maneuvers.
The standard image format is PNG. But you can change this to JPG,
GIF, BMP or TIF using a new INI Tweak:
[General]
ImageFromClipFormat=jpg
Allowed values are: png (default), jpg, gif, bmp, and tif.
In the case of JPG you can control the quality by appending a
number from 1 (worst) to 100 (best) inclusively, for example:
ImageFromClipFormat=jpg100
or:
ImageFromClipFormat=jpg50
The default value is 85.
Note that the GIF quality is very bad (dithered) and practially
unusable. The other formats, however, are of high quality.
This feature requires GDI+.
* Menu Edit | Paste Special: Renamed "Paste Clipboard Into New
Textfile" to "Paste Text Into New File".
* Statusbar: Now the click duration (time between MouseDown and
MouseUp) must be smaller 500 msec to trigger an info pane toggle.
This allows you to activate the window by clicking on the statusbar
without toggling the info panel.
Code: Select all
v6.80.0093 - 2008-03-03 10:53
+ Toolbar learned to have special images for the pressed state.
First applied to the "Step Through Scripts" button: Now, when
pressed it turns red.
+ Scripting command enhanced:
- msg
Now you can show OK/Cancel buttons and clicking Cancel (pressing
ESC) will immediately terminate the script.
Syntax: msg text, [buttons: 0 = OK | 1 = OK/Cancel]
Example:
::msg "Continue script?", 1; msg "Won't show if you cancelled."
! Tree and List: The control would lose its Ux Theme Borders when
you dragged an item from it towards another application, under
certain circumstances. Fixed.
! Keyboard Shortcuts: commands File / To Clipboard / Item Base(s)
and File / To Clipboard / Item Short Path/Name(s) were not found.
Fixed.
Code: Select all
v6.80.0091 - 2008-03-02 12:12
+++ Menu Edit | Paste Special: Added "Paste Clipboard Into New
Textfile" [Ctrl+Alt+V]. Creates a new textfile filled with the
current clipboard contents.
The pasted text depends on the actual data format on the
clipboard; it is identical to what variable <clipboard> would
return:
Clipboard contents Text
------------------ ----
Text The text
File items One item per line, CRLF ends a line
Else (e.g. empty, or images) Nothing
The new file is called something like "Clipboard- 20080302.txt".
The "-20080302" part is the date now (format defined in
Configuration | Report | Date suffix). The file is appended to the
current file list (aka "lazy sort"), and after creation of the file,
rename-mode is invoked.
As you see, all this is just like the Drop-Text-To-File feature
that creates files named "DroppedText...".
% Slightly higher speed in browsing and searching. Even after years
of optimizing you can still find something that can be improved a
bit.
* Menu View | Show Items | WOW64 Redirection (64-bit only): Now it's
remembered between sessions.
Code: Select all
v6.80.0088 - 2008-02-29 11:02
* Menu Scripting: Renamed "Enter Script..." to "Try Script...".
- Menu Scripting: Removed item "Enable Extended Scripting", resp.
moved it to Configuration as "Quick Scripting" (see next).
* Configuration | Advanced: Dropped "Enable Scripting" and added
"Quick Scripting" which is exactly what was called "Enable
Extended Scripting" before.
+ Menu Scripting: Added "Load Script File...". Here you can load a
script file (*.xys) from application data path. If it contains
exactly one script it will immediately executed, else a menu is
popped up.
- Removed the following because it's now featured menu Scripting:
- v6.80.0011 - 2008-01-11 10:01
Scripting: Added new command for easier switching of the
stepwise mode: CKS | Miscellaneous | Scripting | Step Through
Scripts
Code: Select all
v6.80.0087 - 2008-02-28 11:35
+++ New top menu "Scripting", with the following commands:
- Step Through Scripts
Toggle executing scripts stepwise. Stepping is recommended for
debugging scripts.
Default KS: Ctrl+Alt+S
- Enable Extended Scripting
Enable entering scripts through location interfaces (Address
Bar, Go To, Catalog, Favorites). Such scripts must be
additionally prefixed with a double-colon (::) to distinguish
them from normal locations.
Script items in Catalog show special icons only when Enable
Extended Scripting is ON.
- Enter Script...
Enter and execute a script directly. The script can be multi-
line, and you can enter more than one script (in which case a
menu will pop up).
The last entered script is remembered during the current
XYplorer session. This memory is shared with the scripting
command try.
* Configuration | Advanced | Enable Scripting: Now,
if ON then
- Menu "Scripting" is shown
- Scripting related controls in CKS and UDC are shown
if OFF then
- Scripts are not processed unless you YES a yes/no prompt.
- Menu "Scripting" is hidden
- Scripting related controls in CKS and UDC are hidden
Code: Select all
v6.80.0086 - 2008-02-25 14:28
* As you might know, the toolbar's Manage User-Defined Commands button's
right-click menu enables you to directly create a new UDC with the
argument field preset to some current context value. How? Simply
hold CTRL while clicking one of the menu items! The preset values
adjust to the command category, and now the recently added
categories have been added here as well:
- "Go To", "Open", "Open With", "New", "Load Script File"
-> current file (if any is selected)
- "Rename" -> [empty]
- "Run Script" -> [empty]
- else -> current path
* Window activation (i.e. when app in background) by clicking on
tabs now happens (a) before any other action is triggered, and (b)
also on right-button clicks.
! UDC | New: Could not update the Source field. Fixed.
Code: Select all
v6.80.0085 - 2008-02-23 11:08
+++ The following commands now -- finally! -- support multiple items
(before they would work for single items only):
Menu File:
Copy Here with Suffix Number
Copy Here with Suffix Date Now
Copy Here with Suffix Date Modified
Copy Here As...
Drag'n'Drop context menu:
Move Here with Suffix Number
Move Here with Suffix Date Now
Move Here with Suffix Date Modified
Move Here As...
Copy Here with Suffix Number
Copy Here with Suffix Date Now
Copy Here with Suffix Date Modified
Copy Here As...
Remarks:
- The "...Suffix Date Now/Date Modified" variants will
automatically avoid any collisions with existing items by
appending suffix numbers if necessary.
- It's unusual to implement "Move/Copy Here As..." for multiple
items but I did it anyway -- who knows who might need it. Note
that these commands do NOT auto-avoid collisions so you will be
prompted whether to overwrite any existing files.
The newly generated names are distinguished by suffix numbers in
the current order of listing, for example:
Copy
china.jpg
japan.jpg
Here As "asia" will generate the following copies (assuming your
number suffix template is "-00"):
asia-01.jpg (copy of china.jpg)
asia-02.jpg (copy of japan.jpg)
However, if only one file is selected (and this will be the
typical case with this command) then no suffix number is
appended:
Copy
china.jpg
Here As "asia" will generate the following copy:
asia.jpg
* Scripting: The recursion checker now gives you the option to
continue. Also, the recursion checker now is reset everytime during
script execution when a menu is popped representing a manual choice
between an array of scripts.
! Could not activate window (i.e. when app in background) by
clicking on tabs. Fixed.
* Toolbar | Visual Filter | Context Menu: Now, the last selected
filter is always shifted to position one of the MRU list. Before, it
stayed where it was.
Code: Select all
v6.80.0084 - 2008-02-20 11:46
+ New variable: <xyexe> = XYplorer executable name. This useful
because you can rename the executable to whatever you want and still
run XYplorer without problems.
For example, this script now will backup the current XYplorer no
matter how it is called:
backupto D:\Archives\XY\<srcver>_<dyyyy-mm-dd>,
<xypath>\<xyexe>
* Scripting command "write" now is called "try"! The alternative
"push" is dropped.
+ Scripting commands enhanced:
- Load
Now you can load a script directly using the new parameter
"resource type".
Syntax: load resource, [label], [resource type]
resource: required, scriptfile or script
scriptfile can be relative to app path
script can be any script conforming to the syntax
of script files
label: optional, will directly run the script of that number
(first script = 1) or label without popping a menu
resource type: optional, f = file (default), s = script
Examples
::load "msg A loaded script.;", , s
- Input
Now the input field can be multiline.
Syntax: inputtext [variable name], [caption], [default value], [m]
m: optional, if set then input is multiline.
Examples:
::input $s, Enter script, "type here...", m; text $s;
::input $s, Enter script, "type here...", m; load $s, , s;
Note that the combination of "input" and "load" is pretty much
what "write" does in one go, only that with "input" you have more
control over the default, and with "load" you can specify a
label, for example:
::input $s, Enter several scripts with labels, , m;
input $label, Enter the label of the script to run now;
load $s, $label, s;
* Scripting command changed/dropped:
- CopyText
Syntax: copytext text, [a]
text: text to be copied
a: optional; if set text is appended
Example:
::copytext Blah, a
= append "Blah" to the clipboard
- CopyTextA
Dropped.
! Tab header was not updated when going home. Fixed.
Code: Select all
v6.80.0083 - 2008-02-18 21:26
+ Menu Edit | Paste Special: Added command "Paste Shortcut(s)". Use
it to paste items from clipboard as shortcuts into the current
folder. This standard command of Explorer had been missing from
XYplorer ever since -- finally it's there!
! UDC | Run Script: Would not accept a changed script when entered
through the one-liner textbox "Script:". Fixed.
! Could not load other configuraton files anymore since v6.80.0081.
Fixed.
Code: Select all
v6.80.0081 - 2008-02-18 11:36
+ Scripting got a new command:
- seltab
Action: select a tab by position
Syntax: seltab [position]
Examples:
::seltab 1 = select the first (left-most) tab
::seltab = select the default tab (if any)
::seltab + = select the next tab (wraps around)
::seltab - = select the previous tab (wraps around)
+ UDC | Run Script: Now you can enter a multi-line script with
comments (same style as in script files). Since the standard UDC
textbox can only hold one line you have a new "Edit" button now by
which you can open a larger textbox for your scripting.
Even better: You can enter more than one multi-line script! In
that case a menu pops up presenting the choices, just like when
loading a script file.
And you can use the "sub" command inside the script resource.
So in short: UDC | Run Script is now a full alternative to script
files.
Note that you still can do one-liners as before.
+ Scripting command enhanced:
- write
Now you can enter more than one script. In that case a menu pops
up presenting the choices, just like when loading a script file.
And you can use the "sub" command inside the script resource.
* Popping up menus from script resources: Now, if the menu would
have only one item, this item will be called directly without
presenting the menu first.
For example, this script resource (paste it into a write-box) has
only one visible script, the other two are invisible subs:
"_Show date : date"
msg <dyyyy-mm-dd>
"_Show time : time"
msg <dhh:nn:ss>
"Show Date && Time : datetime"
sub date;
sub time
When you run it, you will get the two msg boxes directly.
* For consistency's sake I added a #ID button to the CKS dialog that
functions exactly as the one in the UDC dialog.
! Scripting: Command "sel" could lead to a crash depending on the
parameters (since yesterday). Fixed.
Code: Select all
v6.80.0080 - 2008-02-17 10:42
* Scripting: Now, when a sub-script (a script that was called by
another script) is terminated by error or user decision then any
calling super-scripts are terminated immediately as well.
+ Scripting command enhanced:
- selfilter
Added new argument "column".
Syntax: selfilter filterspec, [type = |f|d], [column]
type: (none) = all, f=files only, d=dirs only
column: column name (or part of) to filter by (default is Name)
Examples:
::selfilter *h*, , attr
= select all hidden items
::selfilter *Image*, , type
= select all items of type "*image*"
::selfilter *Image*|*Bild*, , type
= select all items of type "*image*" or "*bild*"
* Scripting command "sel".
The "pattern" argument now has to be put in brackets instead of
in quotes! It's easier to do and easier to read.
Before:
::sel """*.txt""" = select the next *.txt file.
Now:
::sel [*.txt] = select the next *.txt file.
::sel [[*] = select the next item starting with [
::sel [[abc]*] = select the next item starting with a, b, or c
! Scripting:
::sel [*.txt*] selected the next *.txt file.
::sel [*.txt] did not (but should)!
Fixed.
! Resolving <src...> variables in copyto/moveto/backupto did not
work. For example:
::backupto D:\Archives\XY\<srcver>_<dyyyy-mm-dd>,
<xypath>\XYplorer.exe
Fixed. Now this backups the current XYplorer.exe to this location:
D:\Archives\XY\6.80.0078_2008-02-17\XYplorer.exe
Note that the <srcver> variable will not yet be resolved at the
time of a stepping break.
* Menu View | Size Column Format | Show Folder Sizes: Now the list's
scroll position and any selections are retained when toggling this
switch.
* Iconized Tabs: Now, right-clicking them will always pop the main
tab context menu. Before, when you right-clicked the left half of
the icon, the breadcrumb menu was popped. This was not practical.