Improvements to Tabsets

Features wanted...
leinad
Posts: 47
Joined: 17 Jun 2010 09:08

Improvements to Tabsets

Post by leinad »

There are two things which would make tabsets a lot more usable to me.

1) Decouple auto-saving tabsets from the main applications "Save settings on exit" setting.

Reason: I have "Save settings on exit" turned on, because I often make some minor tweaks which I always expect to get persisted. But when I'm in a specific tabset, I'd like to use one of my "default tabset tabs" as a starting point to navigate through the filesystem. I don't want this to get saved, unless I explicitly choose to.

2) Allow re-opening of the same tabset into a pane in order to restore the state of the pane which got saved into that tabset.

Reason: When I use one of my "default tabset tabs" to navigate through the filesystem, I'd like to reload the default tabset after finishing the job in order to go back to the tabs I need most often.

3) Allow a specific task to get pinned to the pane in such a way that it survives a open tabset. It should then get appended to the freshly opened tabset.

Reason: When I opened a tab from which I know that I will now use quite frequently, lets say for a day or so, I'd like to append it to my "default tabset tabs" without having to use another pane as a "tab clipboard".

Point 3 is not very important to me, as it has workarounds, but point 1 and 2 are. They make Tabsets act a bit more like Catalogs, which is the way I expect them to work.

Other than that, it's a really great application. You should get a prize for it.

admin
Site Admin
Posts: 65184
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Improvements to Tabsets

Post by admin »

Did you already look at the Open As command?

Borut
Posts: 1466
Joined: 19 Oct 2010 19:29
Location: Win10 Pro 64b 22H2, @120DPI (125%)

Re: Improvements to Tabsets

Post by Borut »

In addition to the hint which Don just gave you, please note that I would say that your points 1 & 2 were discussed at length among a few beta testers. For a background information you might wish to read parts from the thread http://www.xyplorer.com/xyfc/viewtopic.php?f=5&t=7362.

I am using tabsets in a manner you wold like to with a help of a user toolbar button with something like the following script:

Code: Select all

"Open Tabset"
   tabset("open", "C:\_MyTabsets as: C:\_MyTabsets\<get pane>");
I am saving my "starting-state" tabsets always with "save copy as". The combination of these solves the problem for me.

Actually this prompted me to finally look into the scripting world. Currently I am experimenting with something like this (but this is by no means my final code):

Code: Select all

"Set Tabset Base"
   perm $TabsetBase;
   $TabsetBase = inputfolder("C:\", "Select tabset base folder");

"Open Tabset"
   tabset("open", "$TabsetBase as: $TabsetBase\<get pane>");

"Home"
   tabset("load", "$TabsetBase\0 Home as: $TabsetBase\<get pane>");
Win 10 Pro 64bit

leinad
Posts: 47
Joined: 17 Jun 2010 09:08

Re: Improvements to Tabsets

Post by leinad »

"Open As" allows me to replace the current one with one which I have to name differently, right? I'd rather have a "reload" menu entry.

I'll check out that beta discussion thread.

~~~~~~~~~~~~~~~~~~~~~

Edit: Ok, I see that these issues have been discussed in length and will be addressed in a future update, that's good to hear. It's also good to see that the scripting capabilities are strong enough to provide a workaround.

~~~~~~~~~~~~~~~~~~~~~

Edit 2: Thanks Borut. The following completely fits my need.

Code: Select all

"Set Home"
   tabset("savecopyas", "$TabsetBase\MyStartingPoint");

"Reload Home"
   tabset("load", "$TabsetBase\MyStartingPoint as: $TabsetBase\<get pane>");

"Save Tabset as..."
   tabset("savecopyas");

"Open Tabset"
   tabset("open", "$TabsetBase as: $TabsetBase\<get pane>");

"Set Tabset Base"
   perm $TabsetBase;
   $TabsetBase = inputfolder("<xydata>\MyTabsets", "Select tabset base folder");

Borut
Posts: 1466
Joined: 19 Oct 2010 19:29
Location: Win10 Pro 64b 22H2, @120DPI (125%)

Re: Improvements to Tabsets

Post by Borut »

This is not quite the same topic, but I am recycling this thread anyway...

I am using tabset() with operation open and as:-syntax in my scripts. I would very much like to be able to save the name of the opened (i.e. source) tabset in a variable (for a later possible reloading). tabset() actually returns the "as:-name" in this constellation, as far as I can see. Could this somehow be changed/improved? Or, is there already some other way for getting the name of the source-tabset while using the as:-syntax, which I have overlooked?

EDIT: Is there perhaps a possibility to access tabset MRU list from scripts (as simply using the topmost entry would effectively be a reload)?
Win 10 Pro 64bit

Steel
Posts: 56
Joined: 30 Dec 2011 15:37

Re: Improvements to Tabsets

Post by Steel »

I too find the way Tabsets work confusing.

I would have liked for created Tabsets to remain unchanged unless I decided to edit them.

I find the all clone thing confusing and the extra dialog windows annoying.
Although I got how to use the cloning feature often I forget to use it and end up overwriting my Tabsets.

It is also quite difficult to edit established Tabsets (or i haven't figured it out properly).
It would be nice to have a dialog with the listing of all tabs inside each Tabsets and the possibility to edit them through that dialog.

It would also be nice to have a dropdown menu with existing Tabsets names in the Save As window cause I have created many Tabsets but don't remember by heart all their names.


Thanks

leinad
Posts: 47
Joined: 17 Jun 2010 09:08

Re: Improvements to Tabsets

Post by leinad »

EDIT: Issue solved, I totally missed the
delete 0, 0, $start; //deletes the dummy tabset with no prompts and no recycle bin
idea. Leaving this post for reference, code is fixed. I totally love this app.

----

I'm running into issues here:

I need tabset savecopyas to optionally force overwriting an existent tabset without prompting,
-- or --
I need a tabset delete command.

I work with 7 tabsets.

One is Home another one Main 1 and Main 2. These change seldomly so I save them manually via the menu, but load them via a keyboard binding. It is good that I get a prompt at save so that I don't accidentally overwrite them.

Then there are Tabsets 1-3, these have all keyboard bindings, six in total, each one with one for save and one for load. These are transient slots which I use whenever I want to save a tabset quickly and reuse it later.

Then there is a last one, called Previous Tabset. Whenever I load a tabset, I store the current tab state into the "Previous Tabset" tabset. This one allows me to undo one tabset load action in case I made a mistake. It is also bound to a keyboard key.

Now, my problem comes with the Tabsets 1-3 and the Previous Tabset. I want the Previous Tabset save action to be automatic, as well as the save action of Tabsets 1-3. I always want to overwrite them, conciously. So I need to inhibit the popup which asks me if I'm sure if I want to do that. I'm ok with getting a tabset delete command, where I delete the previousTabset or tabset1-3 prior to storing them, or getting a param for the save commands to inhibit the prompt.

Other than that, I think that tabsets are one of the coolest additions ever to this software. I totally love them!

Code: Select all

//--------------------------------------------------------------------------

"Load Home : loadHome"
   delete 0, 0, "<xydata>\MyTabsets\MyPreviousTabset";
   tabset("savecopyas", "<xydata>\MyTabsets\MyPreviousTabset");
   tabset("load", "<xydata>\MyTabsets\MyStartingPoint as: <xydata>\MyTabsets\<get pane>");

"Load Main Tabset 1 : loadMainTabset1"
   delete 0, 0, "<xydata>\MyTabsets\MyPreviousTabset";
   tabset("savecopyas", "<xydata>\MyTabsets\MyPreviousTabset");
   tabset("load", "<xydata>\MyTabsets\MyMainTabset1 as: <xydata>\MyTabsets\<get pane>");

"Load Main Tabset 2 : loadMainTabset2"
   delete 0, 0, "<xydata>\MyTabsets\MyPreviousTabset";
   tabset("savecopyas", "<xydata>\MyTabsets\MyPreviousTabset");
   tabset("load", "<xydata>\MyTabsets\MyMainTabset2 as: <xydata>\MyTabsets\<get pane>");

"-"

"Load Tabset 1 : loadTabset1"
   delete 0, 0, "<xydata>\MyTabsets\MyPreviousTabset";
   tabset("savecopyas", "<xydata>\MyTabsets\MyPreviousTabset");
   tabset("load", "<xydata>\MyTabsets\MyTabset1 as: <xydata>\MyTabsets\<get pane>");

"Load Tabset 2 : loadTabset2"
   delete 0, 0, "<xydata>\MyTabsets\MyPreviousTabset";
   tabset("savecopyas", "<xydata>\MyTabsets\MyPreviousTabset");
   tabset("load", "<xydata>\MyTabsets\MyTabset2 as: <xydata>\MyTabsets\<get pane>");

"Load Tabset 3 : loadTabset3"
   delete 0, 0, "<xydata>\MyTabsets\MyPreviousTabset";
   tabset("savecopyas", "<xydata>\MyTabsets\MyPreviousTabset");
   tabset("load", "<xydata>\MyTabsets\MyTabset3 as: <xydata>\MyTabsets\<get pane>");

"-"

"Load Previous Tabset : previousTabset"
   tabset("load", "<xydata>\MyTabsets\MyPreviousTabset as: <xydata>\MyTabsets\<get pane>");

"Load Tabset from List : loadTabset"
   delete 0, 0, "<xydata>\MyTabsets\MyPreviousTabset";
   tabset("savecopyas", "<xydata>\MyTabsets\MyPreviousTabset");
   tabset("open", "<xydata>\MyTabsets as: <xydata>\MyTabsets\<get pane>");

"-"

"Set Home : saveHome"
   tabset("savecopyas", "<xydata>\MyTabsets\MyStartingPoint");

"Set Main Tabset 1 : saveMainTabset1"
   tabset("savecopyas", "<xydata>\MyTabsets\MyMainTabset1");

"Set Main Tabset 2 : saveMainTabset2"
   tabset("savecopyas", "<xydata>\MyTabsets\MyMainTabset2");

"-"

"Set Tabset 1 : saveTabset1"
   delete 0, 0, "<xydata>\MyTabsets\MyTabset1";
   tabset("savecopyas", "<xydata>\MyTabsets\MyTabset1");

"Set Tabset 2 : saveTabset2"
   delete 0, 0, "<xydata>\MyTabsets\MyTabset1";
   tabset("savecopyas", "<xydata>\MyTabsets\MyTabset2");

"Set Tabset 3 : saveTabset3"
   delete 0, 0, "<xydata>\MyTabsets\MyTabset3";
   tabset("savecopyas", "<xydata>\MyTabsets\MyTabset3");

"-"

"Save Tabset as... : saveTabsetAs"
   tabset("savecopyas");

//--------------------------------------------------------------------------

Steel
Posts: 56
Joined: 30 Dec 2011 15:37

Re: Improvements to Tabsets

Post by Steel »

How do you use these scripts and what do they do?

Thanks

Borut
Posts: 1466
Joined: 19 Oct 2010 19:29
Location: Win10 Pro 64b 22H2, @120DPI (125%)

Re: Improvements to Tabsets

Post by Borut »

Steel wrote:It would also be nice to have a dropdown menu with existing Tabsets names in the Save As window cause I have created many Tabsets but don't remember by heart all their names.
Although this is achievable via scripting (see code box), I would also be happy if this dialog would be expanded in that manner.

Additionally, my wish would be for Tabset dialogs to remember their position and size. I find it easier to select from a dialog then from a MRU and so I would avoid scrolling the list (at least for a while, since the number of tabsets at my place grows steadily - I do not know how I was living without them :) ). Thanks for consideration.

Tabsets Save As via scripting (for those new to scripting, please read the help and adapt the script, since your mileage may vary):

Code: Select all

"Open... As <get pane> : openas"
  global $TabsetBase;
  perm $TabsetBase;
  tabset("open", "$TabsetBase as: $TabsetBase\<get pane>");

"Save Copy As... : savecopyas"
  setting "BackgroundFileOps", 0;
  global $TabsetBase;
  perm $TabsetBase;
  $TabsetList=listfolder("$TabsetBase", "*", 4, "|");
  $TabsetList="Save Copy As New Tabset...;new:|-|" . $TabsetList;
  $SaveAsName=popupmenu("$TabsetList");
  if ($SaveAsName=="new:") {
   tabset("savecopyas");
  } 
  elseif ($SaveAsName=="") {
  status "Save copy as cancelled.", "FF0000";
  }
  else {
   delete 0, 0, "$TabsetBase" . "\" . "$SaveAsName";
   tabset("savecopyas", "$SaveAsName");
  };

"Load Home Tabset As <get pane> : loadhometabset"
  global $TabsetBase;
  perm $TabsetBase;
  tabset("load", "$TabsetBase\0 HOME as: $TabsetBase\<get pane>");

"Show Tabsets Folder : showbase"
  global $TabsetBase;
  perm $TabsetBase;
  status "Tabsets Folder: $TabsetBase";

"Set Tabsets Folder : setbase"
  global $TabsetBase;
  perm $TabsetBase;
  status "Tabsets Folder: $TabsetBase";
  $BrowseFromHere = exists("$TabsetBase")==2 ? "$TabsetBase" : "C:\";
  $TabsetBase = inputfolder("$BrowseFromHere", "Select new tabset base folder");
  if exists("$TabsetBase\0 HOME\pane.ini")==1 {
   status "Tabsets Folder: $TabsetBase";
  }
  else {
   if exists("<xydata>\Panes\0 HOME\pane.ini")==1 {
    copyitem "<xydata>\Panes\0 HOME", "$TabsetBase\0 HOME";
    status "Tabsets Folder: $TabsetBase (home cloned)", 00FF00;
   }
   else {
    status "Tabsets Folder: $TabsetBase (no home!)", FF0000;
   };
  };

"Go to Tabsets Folder : gotobase"
  global $TabsetBase;
  perm $TabsetBase;
  goto "$TabsetBase";
ATTENTION: This code supposes that you work with a specific tabset base (not <xysata>\Panes) and that there is one specific tabset "0 HOME" in <xysata>\Panes, which might not be what you want. This is not my final code and as time permits I am working on improvements and further generalization. Sorry for the lack of comments in the script.
Win 10 Pro 64bit

Steel
Posts: 56
Joined: 30 Dec 2011 15:37

Re: Improvements to Tabsets

Post by Steel »

Borut wrote:
Steel wrote:It would also be nice to have a dropdown menu with existing Tabsets names in the Save As window cause I have created many Tabsets but don't remember by heart all their names.
Although this is achievable via scripting (see code box), I would also be happy if this dialog would be expanded in that manner.

Additionally, my wish would be for Tabset dialogs to remember their position and size. I find it easier to select from a dialog then from a MRU and so I would avoid scrolling the list (at least for a while, since the number of tabsets at my place grows steadily - I do not know how I was living without them :) ). Thanks for consideration.
Yeah unfortunately for as much as I go through the help file I can't understand how to use scripts or what they do by reading through the script with all those dollar signs(???):( .

I just think it takes too many steps to open a Tabset (I switch between tabsets a lot) so I wish this would be streamlined by the developer without the need of scripts.
Right clicking on the tabbar inside each pane and select a Tabset would be much easier.

I also could do without the "clone" naming dialog since I just click the default name anyway.

Borut
Posts: 1466
Joined: 19 Oct 2010 19:29
Location: Win10 Pro 64b 22H2, @120DPI (125%)

Re: Improvements to Tabsets

Post by Borut »

Steel wrote:I just think it takes too many steps to open a Tabset (I switch between tabsets a lot) so I wish this would be streamlined by the developer without the need of scripts.
Right clicking on the tabbar inside each pane and select a Tabset would be much easier.

I also could do without the "clone" naming dialog since I just click the default name anyway.
Have you put the standard tabsets button into your toolbar? I think that even when using the standard tabsets button one does not have to do too many clicks/entries - one has "Open as..." on both left and right click. One has "Save Copy As..." on the right click - see the appropriate attached images. I am not sure if you actually need much more.

Defining a user button by using an already prepared script file is not too difficult. Here are the steps for my previous scripts (see the appropriate attached image):

1. Create an empty file Tabsets.xys in the "Scripts" subfolder of your XYplorer's "Data" folder.
2. Open it with a simple editor.
3. Copy in it the contents of the code box from my previous post.
4. Save.
In XYplorer...
5. Rightclick on toolbar | Customise Toolbar
6. Add one of the User buttons from left list to the right list (at the position you want it to be). OK.
7. The "White Star on Blue" user button should now appear in your toolbar. Rightclick on it | Edit.
8. Fill with the following (see the image below):
Name... Tabsets
Icon... :tabsets
On click... load "Tabsets.xys", "openas";
On right-click... load "Tabsets.xys", "savecopyas;-;loadhometabset;openas;-;showbase;gotobase;setbase;resetbase;-";
9. OK.
10. Try right click on it and use "Set Tabsets Folder" first. I hope it should all work.

XYplorer scripting is very powerful. Reading the help about it is a long term time investment.
Attachments
Defining a user button for using the tasets scripts
Defining a user button for using the tasets scripts
UserButtonDefinition.jpg (111.51 KiB) Viewed 2940 times
Standard tabsets button popup menu on rightclick
Standard tabsets button popup menu on rightclick
XY_StandardTabsetButton_Rightclick.jpg (8.68 KiB) Viewed 2940 times
Standard tabsets button popup menu on leftclick
Standard tabsets button popup menu on leftclick
XY_StandardTabsetButton_Leftclick.jpg (5.35 KiB) Viewed 2940 times
Win 10 Pro 64bit

Steel
Posts: 56
Joined: 30 Dec 2011 15:37

Re: Improvements to Tabsets

Post by Steel »

Oh wow many thanks for taking the time!

I'll experiment and let you know. :)

admin
Site Admin
Posts: 65184
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Improvements to Tabsets

Post by admin »

Steel wrote:I too find the way Tabsets work confusing.

I would have liked for created Tabsets to remain unchanged unless I decided to edit them.

I find the all clone thing confusing and the extra dialog windows annoying.
Although I got how to use the cloning feature often I forget to use it and end up overwriting my Tabsets.

It is also quite difficult to edit established Tabsets (or i haven't figured it out properly).
It would be nice to have a dialog with the listing of all tabs inside each Tabsets and the possibility to edit them through that dialog.

It would also be nice to have a dropdown menu with existing Tabsets names in the Save As window cause I have created many Tabsets but don't remember by heart all their names.


Thanks
Yes, I got several request in that direction. It took some days to wrap my head around it but now I think I finally made it. Please check the next beta v10.70.0205 and see if it works better for you.

@all others who made request here lately: Does v10.70.0205 solve your issues? If not please restate what is missing IYO (in your opinion).

Borut
Posts: 1466
Joined: 19 Oct 2010 19:29
Location: Win10 Pro 64b 22H2, @120DPI (125%)

Re: Improvements to Tabsets

Post by Borut »

Thank you Don!! I was not expecting your move in this direction. Upon the first look, it seems to work as expected, but I shall be testing it intensely in the next days (have saved all my tabsets first :) ).

Here is a Steel's wish, which I do not think has been implemented (I was hoping for that too, although there is a script solution):
It would also be nice to have a dropdown menu with existing Tabsets names in the Save As window cause I have created many Tabsets but don't remember by heart all their names.
(Also in Save Copy As, please.)

Here is my wish, which I also do not think has been implemented:
Tabset dialogs to remember their position and size.
I would say that both of these wishes are a "very nice to have".
Win 10 Pro 64bit

PeterH
Posts: 2826
Joined: 21 Nov 2005 20:39
Location: DE W11Pro 24H2, 1920*1200*100% 3840*2160*150%

Re: Improvements to Tabsets

Post by PeterH »

I didn't use it till now, but what I read in the beta description seems much better to me than the old logic. I expect it's now much better usable than it was before!

Sorry for the guys that have put much work in it to make it fit their needs...
...but I think this helped to 'push' Don a bit to change the way things work.

Post Reply