tabsets is remembering a deleted tabset
tabsets is remembering a deleted tabset
tabsets is remembering a deleted tabset
I once created a tabset named TabsetNewOne, if I open another tabset and delete TabsetNewOne and then do save settings
the tabset is recreated?
I should also mention that Auto-Save tabsets on switch is off, and tabsets can revert after saving settings is off
I see the following in XYplorer.ini this is ultimately the problem but not sure how it got there.
Tabset1=TabsetNewOne
Tabset2=1
Any help in removing this would be appreciated
I once created a tabset named TabsetNewOne, if I open another tabset and delete TabsetNewOne and then do save settings
the tabset is recreated?
I should also mention that Auto-Save tabsets on switch is off, and tabsets can revert after saving settings is off
I see the following in XYplorer.ini this is ultimately the problem but not sure how it got there.
Tabset1=TabsetNewOne
Tabset2=1
Any help in removing this would be appreciated
-
- Site Admin
- Posts: 63591
- Joined: 22 May 2004 16:48
- Location: Win8.1, Win10, Win11, all @100%
- Contact:
Re: tabsets is remembering a deleted tabset
How did you delete TabsetNewOne?
FAQ | XY News RSS | XY Bluesky
Re: tabsets is remembering a deleted tabset
Deleted from the tabset folder... I fixed the issue by editing the ini file to remove Tabset(n) i.e. tabset1 and tabset2 is there not a better way to remove tabsets than deleting from the tabset folder. My guess is if you do that and depending on the tabset save configuration it can get confused.
I also noted that the back button can get confused and does not take you back to the parent
Regards.
m
I also noted that the back button can get confused and does not take you back to the parent
Regards.
m
-
- Site Admin
- Posts: 63591
- Joined: 22 May 2004 16:48
- Location: Win8.1, Win10, Win11, all @100%
- Contact:
Re: tabsets is remembering a deleted tabset
There is no "official" way to delete a tabset. It's a bit weird, but nobody ever asked for it loud enough. 
Back is back, not up.

Back is back, not up.
FAQ | XY News RSS | XY Bluesky
Re: tabsets is remembering a deleted tabset
HOW ABOUT IF I SHOUT LOUD ENOUGH 
By back arrow I meant parent of the sub folder in my case, but back being back to the previous folder location. However you want to describe it it gets confused at least when my tabsets were confused.
Really would like a save tabs (both sides) button for tabsets to allow easier recall - rather than some half assed scripted mess. See Directory Opus !)
I really want to like XYplorer it has a lot of good features esp. paper / virtual folders ( I assume that works in a saved tabset??) - scripting is not so good (testing, refining and even understanding for example ::#105 how do i get that for all selected files such that i can get the individual parts and format as required in a full script) in my opinion, however I like :: from address bar for quick scripting
Regards.
m

By back arrow I meant parent of the sub folder in my case, but back being back to the previous folder location. However you want to describe it it gets confused at least when my tabsets were confused.
Really would like a save tabs (both sides) button for tabsets to allow easier recall - rather than some half assed scripted mess. See Directory Opus !)
I really want to like XYplorer it has a lot of good features esp. paper / virtual folders ( I assume that works in a saved tabset??) - scripting is not so good (testing, refining and even understanding for example ::#105 how do i get that for all selected files such that i can get the individual parts and format as required in a full script) in my opinion, however I like :: from address bar for quick scripting
Regards.
m
Re: tabsets is remembering a deleted tabset
how do i get that for all selected files such that i can get the individual parts and format as required in a full script
report()
with a template or parse the clipboard after using #105;
?One of my scripts helped you out? Please donate via Paypal
Re: tabsets is remembering a deleted tabset
Tabssets should appear in Tools\List management and should allow you to delete / rename accordingly in my opinion
Re: tabsets is remembering a deleted tabset
Thanks for responding, was playing around with scripting looked at report, convinced it didnt give me what I wanted i.e. formatting of {Name} to get file name size (max) and right pad with spaces to align output for names such that MD5 and SHA1 hashes align accordingly.
Hopefully you can see what I am after
Regards.
m
-
- Site Admin
- Posts: 63591
- Joined: 22 May 2004 16:48
- Location: Win8.1, Win10, Win11, all @100%
- Contact:
Re: tabsets is remembering a deleted tabset
The next round of improvements will come after the migration to TB/64-bit.
FAQ | XY News RSS | XY Bluesky
Re: tabsets is remembering a deleted tabset

Re: tabsets is remembering a deleted tabset
You are free to do the report() and then run over it to apply e.g. padding or just loop over all selected files and get the necessary properties in the loop
One of my scripts helped you out? Please donate via Paypal
Re: tabsets is remembering a deleted tabset
Can report take the item from the loop? excuse the rubbish from copilot below, assume its pseudo code.
i.e can report be passed an individual file object, its easier to manipulate (pad) an individual text string - obviously this requires two loops one to get the maximum file size and one to do the padding
foreach($file, <get SelectedItemsPathNames |>){
echo "Processing: $file"; // can $file be passed to report?
}
Regards.
m
i.e can report be passed an individual file object, its easier to manipulate (pad) an individual text string - obviously this requires two loops one to get the maximum file size and one to do the padding
foreach($file, <get SelectedItemsPathNames |>){
echo "Processing: $file"; // can $file be passed to report?
}
Regards.
m
Re: tabsets is remembering a deleted tabset
report([template], [itemlist], [header], [footer])
One of my scripts helped you out? Please donate via Paypal
Re: tabsets is remembering a deleted tabset
Unfortunately itemList is an enum/integer so that did not help as you cant pass it a filename. so are forced to get everything in one go i.e. all selected files. If it was possible to pass an individual filename that would allow the returned string to be tokenised and used in a suitable way.
I ended up with this:-
The strings are padded correctly for the filenames so ignore the output in the post as they appear misaligned.
Q. could this have been more efficient, I did it using report because in future I may wish to get file properties,
so a practice exercise.. in this case I wanted Size KBR would there have been another way to get the file properties based on the filename, such as those available to report.. without creating a rounded up version of file bytes.
All help/critique welcomed - I am still learning.
// Generate hash reports for selected files
$mdFiveHash = Array();
// want KB rounded - would like to use something like ::#105 for each individual filename, and be able to get individual items
$reportData = report("#{# @}, {Size KBR}<crlf>", 1);
$pathnames = get("SelectedItemsPathNames","|");
// Loop through each part, extract filename, and find max length
foreach($part, $pathnames, "|") {
$fileName = getpathcomponent($part, "file"); // Extract filename
$length = strlen($fileName);
// max length, min(), max() functions
if ($length > $maxLength) {
$maxLength = $length;
}
// get MD5 hash
$hashvalue = hash("md5", $part,3);
// create a string list
$mdFiveHash = "$mdFiveHash$fileName,$hashvalue|";
}
// string list hack, find a better way to not add the final '|' to the string
$mdFiveHash = substr($mdFiveHash, 0, strlen($mdFiveHash) - 1);
$index = 1; // awkward
foreach($value, $mdFiveHash, "|") {
// Extract individual values
$file = gettoken($value, 1, ",");
// why no get next token
$hash = gettoken($value, 2, ",");
// forced to do this as "$file<pad $maxLength>,$hash" is not interpreted correctly
$replaceWith = "$file<pad $maxLength>".", ".$hash;
$reportData = replace("$reportData","#$index","$replaceWith");
$index++; // messy something like python enumerate would be better
}
copytext "$reportData";
// output
Notifications.database, 9fe8cb79ae2e085e9e73ea049823d4a6, 1 KB
Notifications.state , 421fcc6cd8093eadf6daef6509d76430, 1 KB
TidyTabs.data , bb7649e53dbb83fd435fea70c0997b79, 1 KB
I ended up with this:-
The strings are padded correctly for the filenames so ignore the output in the post as they appear misaligned.
Q. could this have been more efficient, I did it using report because in future I may wish to get file properties,
so a practice exercise.. in this case I wanted Size KBR would there have been another way to get the file properties based on the filename, such as those available to report.. without creating a rounded up version of file bytes.
All help/critique welcomed - I am still learning.
// Generate hash reports for selected files
$mdFiveHash = Array();
// want KB rounded - would like to use something like ::#105 for each individual filename, and be able to get individual items
$reportData = report("#{# @}, {Size KBR}<crlf>", 1);
$pathnames = get("SelectedItemsPathNames","|");
// Loop through each part, extract filename, and find max length
foreach($part, $pathnames, "|") {
$fileName = getpathcomponent($part, "file"); // Extract filename
$length = strlen($fileName);
// max length, min(), max() functions
if ($length > $maxLength) {
$maxLength = $length;
}
// get MD5 hash
$hashvalue = hash("md5", $part,3);
// create a string list
$mdFiveHash = "$mdFiveHash$fileName,$hashvalue|";
}
// string list hack, find a better way to not add the final '|' to the string
$mdFiveHash = substr($mdFiveHash, 0, strlen($mdFiveHash) - 1);
$index = 1; // awkward
foreach($value, $mdFiveHash, "|") {
// Extract individual values
$file = gettoken($value, 1, ",");
// why no get next token
$hash = gettoken($value, 2, ",");
// forced to do this as "$file<pad $maxLength>,$hash" is not interpreted correctly
$replaceWith = "$file<pad $maxLength>".", ".$hash;
$reportData = replace("$reportData","#$index","$replaceWith");
$index++; // messy something like python enumerate would be better
}
copytext "$reportData";
// output
Notifications.database, 9fe8cb79ae2e085e9e73ea049823d4a6, 1 KB
Notifications.state , 421fcc6cd8093eadf6daef6509d76430, 1 KB
TidyTabs.data , bb7649e53dbb83fd435fea70c0997b79, 1 KB
Re: tabsets is remembering a deleted tabset
What?as you cant pass it a filename
Code: Select all
0: [Default] All current list items.
1: All currently selected list items.
2: The currently focused list item.
3: The currently hovered list item.
[else]: Items in a CRLF- or |-separated list of items (full path).
Only files and folders, drives are not supported here.
another way to get the file properties based on the filename
Code: Select all
hash()
filesize()
property()
could this have been more efficient
Code: Select all
$report = report("{name}|{prop:#hash.md5}|{size kbr}<crlf>", 1);
$names = trim(regexmatches($report, "^.+?\|"), "|", "R");
$maxLen = 0;
foreach($item, $names, "|", "e") {
$len = strlen($item);
if ($len > $maxLen) { $maxLen = $len; }
}
$newReport = "";
foreach($line, $report, <crlf>, "e") {
$name = gettoken($line, 1, "|");
$len = strlen($name);
if ($len < $maxLen) { $name .= strrepeat(" ", $maxLen - $len); }
$newReport .= $name . ", " . gettoken($line, 2, "|") . ", " . gettoken($line, 3, "|") . <crlf>;
}
copytext $newReport;
One of my scripts helped you out? Please donate via Paypal