Code: Select all
v26.40.0205 - 2024-09-23 13:27
+ Skip Custom Columns: The toggle is now also available in the context menu of the
Custom Column headers.
(1) Installer Package, (2) No-Install Package (for manual unpacking).
Code: Select all
v26.40.0205 - 2024-09-23 13:27
+ Skip Custom Columns: The toggle is now also available in the context menu of the
Custom Column headers.
Code: Select all
v26.40.0206 - 2024-09-25 11:39
+ Live Filter Box in Small Lists: Now you can filter lists by a literal * (asterisk),
i.e. one that isn't a wildcard, simply by doubling it. For example:
*.exe //matches any string (incl. nothing) that ends with .exe
**.exe //matches any string that contains *.exe (internally converted to *[*].exe*)
> You can now also go that way yourself more directly:
[*] is a literal *
[?] is a literal ?
And it's the only way to achieve this:
*[*].exe //matches any string (incl. nothing) that ends with *.exe
! Multi Row Toolbar: More drawing glitches with duplicate buttons. Fixed.
Code: Select all
v26.40.0207 - 2024-09-27 19:00
% Line Numbers: In the main file list and all small lists, the line numbers are now
printed a bit smaller (about 90%) than the main list data. Looks better and makes
things easier to read.
Code: Select all
v26.40.0208 - 2024-09-28 18:16
! Hover Box: Since v26.40.0101, the Hover Box did not work anymore on files in MUSD
(Mouse Up Show Down) lists inside a special folder or a Rapid Access folder (showed
"File is empty" always). Fixed.
Code: Select all
v26.40.0300 - 2024-09-28 21:00
= MAINTENANCE RELEASE.
+++ Minor bug fixes and enhancements.
Code: Select all
v26.40.0301 - 2024-09-29 11:55
+ Configuration | Colors and Styles | Fonts: Added setting "Line numbers relative font
size (%)". Lets you reduce the font size of the line numbers in the main file list
and all small lists by specifying a percentage relative to the general list font
size. Valid values range from 50 to 100. Factory default is 90.
Since v26.40.0207 this value was hard-coded to 90%. Now it's configurable.
Code: Select all
v26.40.0302 - 2024-09-29 16:22
* Line Numbers: Now they are vertically centered regardless of their font size.
* Line Numbers: Now the column width adjusts to their font size.
Code: Select all
v26.40.0303 - 2024-09-30 16:12
+ Scripting got a new function.
Name: Age
Action: Converts a number of milliseconds into a human-friendly age format.
Syntax: age(msecs, [maxfields=2], [sepfields=", "])
msecs: Number of milliseconds.
maxfields: Maximum number of fields.
Defaults to 2.
sepfields: Separator between fields.
Defaults to ", ".
Examples:
echo age(); //0 secs
echo age(1000642); //16 mins, 40 secs
echo age(1000642, 3); //16 mins, 40 secs, 642 ms
echo age(1000000642); //11 days, 13 hrs
echo age(1000000642, 5); //11 days, 13 hrs, 46 mins, 40 secs, 642 ms
echo age(1000000642, 5, " & "); //11 days & 13 hrs & 46 mins & 40 secs & 642 ms
// age() can be nicely combined with datediff() using the ms (milliseconds) interval:
echo age(datediff("2008-08-08", , ms)); //16 years, 1 month before now (2024-09-30)
Remarks:
Months are a tricky unit here because they have different lengths. This is solved
by using an average length of a month of 30.436875 days (365.2425 / 12).
Note that the results of this strategy are sometimes counterintuitive when
the input is in the form of calendar dates:
echo age(datediff("2024-08-08", "2024-09-09", ms)); //1 month, 2 days
echo age(datediff("2024-09-08", "2024-10-09", ms)); //1 month, 1 day
Code: Select all
v26.40.0304 - 2024-10-01 15:19
! SC age: The algorithm had various problems with certain input values. Now it should
handle them all correctly and gracefully. Extreme values should also run smoothly,
e.g:
echo age(2^81, 7); //76,618,668,343,801 years, 4 months, 20 days, 3 hrs, 42 mins, 39 secs, 807 ms
Btw, the new algorithm changed these ones by one day:
echo age(datediff("2024-08-08", "2024-09-09", ms)); //1 month, 1 day
echo age(datediff("2024-09-08", "2024-10-09", ms)); //1 month, 0 days
Code: Select all
v26.40.0305 - 2024-10-02 12:08
* Colors: Changed the default colors for some elements:
Breadcrumb Bar 1 Breadcrumb Bar 2
Active Back: 6F8FB0 A97369
Inactive Back: B1B6BC BAB1AF
Selection Box: 6F8FB0
Selection Background: 5096E2
! SC age: Fixed some remaining minimal inaccuracies with extremely high numbers. At
least as good as possible. The double precision floating point format has its
pitfalls; it can't be perfect. After 2^49, it starts to get blurry.
Anyway, this one now comes out 1 ms longer (and it was already quite long):
echo age(2^81, 7); //76,618,668,343,801 years, 4 months, 20 days, 3 hrs, 42 mins, 39 secs, 808 ms
! Custom Event Actions: Some CEA did not work anymore with control keys since 20240925. Fixed.
Code: Select all
v26.40.0400 - 2024-10-02 21:00
= MAINTENANCE RELEASE.
+++ Minor bug fixes and enhancements.
Code: Select all
v26.40.0401 - 2024-10-05 12:17
+ Custom File Icons: Added another special switch /n to match all branches that do not
contain files, but may contain folders:
*\ /n><xypath>\XYicon_FolderGray.ico //matches all branches without files
So there is now another content-based folder icon in addition to the three that
already exist:
*\ /e><xypath>\XYicon_FolderEmpty.ico //matches all empty folders
*\ /f><xypath>\XYicon_FolderFilled.ico //matches all filled folders
*\ /x><xypath>\XYicon_FolderDenied.ico //matches all inaccessible folders
Notes:
- If no /e (empty) icon is defined, /n (nofiles) will also match empty folders,
otherwise the empty icon will win.
The order of the definitions is irrelevant to the above.
- Of course, determining that a deep branch contains no files can take a while. So
use this switch responsibly.
* Age: The age display and SC age now round up the remainder instead of cutting it
off. Note that unusual age terms such as "2 days 24 hrs" or "5 mins 60 secs" may now
appear. Take it easy. Sophistication is in the pipeline.
Code: Select all
v26.40.0402 - 2024-10-06 16:27
* Updated the help file.
! SC age: Fixed a conversion error caused by backward unit overflow escalation.
echo age(3599501, 3); // 59 mins, 59 secs, 501 ms
echo age(3599501, 2); // 1 hr, 0 mins ( <-- was "59 mins, 60 secs" before!)
echo age(datediff("2022-10-7", "2024-10-01", "ms"), 3); // 1 year, 11 months, 25 days
echo age(datediff("2022-10-7", "2024-10-01", "ms"), 2); // 2 years, 0 months ( <-- was "1 year, 12 months" before!)
Code: Select all
v26.50.0000 - 2024-10-07 17:00
= NEW OFFICIAL RELEASE. Main developments since last release:
+++ Folder Icons Based On Content. Now you can define a custom folder icon for branches
that do not contain files, but may contain folders. This icon is used everywhere, in
the folder tree, file list, all menus and drop-down lists, breadcrumb bars, address
bar, etc., so you can immediately see if a folder is just an empty structure without
any files.
+++ Skip Custom Columns. Custom columns are often time-consuming, especially when
scripts are involved. This new option allows you to temporarily disable them when
the extra information is not needed.
+++ Many Other Improvements. See change log.
Code: Select all
v26.50.0001 - 2024-10-08 14:56
+ Custom File Icons: Added another special switch /t to match all branches that
contain any tagged items, for example:
*\ /t><xypath>\XYicon_FolderGreen.ico //matches all branches with tagged items
Notes:
- The check is only performed against the tags database, the tagged files themselves
are not accessed in any way. It's therefore very fast, but the results will
include any orphans in your tags database (orphans can occur when other programs
change the names or locations of tagged items).
- It's all about the contents of the folder. Whether or not the folder itself is
tagged is irrelevant.
- The /t icon takes precedence over any other content-based folder icon. The order
of the definitions is irrelevant here.
However, other (non content-based) Custom File Icons will always overwrite any
content-based folder icon.
- If such a CFI is defined and enabled, the (un)tagging of items will be a bit
slower than usual, because the folder icons in the whole interface have to be
checked for necessary adjustments.