Page 19 of 35

Re: Session Manager [v4.b1 ML(4)]

Posted: 25 Sep 2015 01:14
by FluxTorpedoe
 
— Čeština by Hogaty just updated to v4.b1!
— Dansk by Regmos just updated to v4.b1!
(See post above)

---------------------------
SkyFrontier wrote:ability to retrieve the last active session with zero to none intervention other than two CKS/CTB clicks (left+right): one for saving, another to restore the saved session.
This can already be done with the Temporary Session, with one CKS mapped to each line. Don’t know if that’s a step towards what you’re after…
::load "SessionManager.xys", "_Save-Temporary";
::global $DYN_InpSess = "— Temporary Session —"; load "SessionManager.xys", "_Load";
SkyFrontier wrote:An MRU listing the latest X saved (auto-named; tweak or..? to ask user a name) sessions would be a plus here.
Hmmm, I also reread your previous post and I guess you’ll have to enlighten me further (what do you mean by tabs with/without Data?)…
My main interrogation is about the identification of those nearly-auto-saved sessions — let’s call them snap sessions for the time being.

Now, say we can have a list of snaps ordered by most used.
How would one know which snap contains what?
Even if the name contains e.g. parent directory of active tab of active pane and/or time…

I must admit I’m really interested in offering an alternative optimized approach!
But I’m still in the dark…

Ohhhhh wait, I just reread your post for the nth time, trying to comprehend and read your future subconscious between your lines… ;)
And I guess I’m starting to get it (maybe?), you’re talking about keeping track of each and every tab (not tabset or session) to know the most recent/used ones, and store a list of kind-of-sessions that would be based on them?
My question about identification still holds though…

Re: Session Manager [v4.b1 ML(4)]

Posted: 26 Sep 2015 18:42
by SkyFrontier
Hello, Flux.

Thanks much for being interested on this. As said in private msg, such a feature is the jewel of the crown for me concerning session management. More and more I'm needing a quick'er way to store sessions which either vary greatly in content or can be a fixed base for a time limited period of 2 or 3 weeks for instance, plus a "restore points"-like system which would allow me to smoothly pick one of several snap sessions, auto or manually saved - in this case, saved by nothing more than a single CKS press.

Key points to consider for a fork (I'm not familiar with SM internals yet, sorry - will be next week, I hope!):
-XY settings should not be touched at all, never;
-SM functions should not assume any previous XY settings, for instance, remembering perm vars;
-text file-based storage of settings, allowing SM\ss (snap sessions) to recall sessions after system or XY restart.

'Tabs with\out Data' means storing or not a tab layout - columns, sorting, dimensions and so on. Thus 'Tabs without data' are just the locations to be displayed.

Identification? hh_nn_ss + pane 1's 1st folder (no path) as session name. Ideal solution would be a tooltip popped on mouse hover, allowing a quick view of the listed folders' names, as many as possible. As this'll work in ways of a timeline, snapping all tabs on both panes, it'll be easy to recall and retrieve a certain combination of folders ("session") by approximate guesses. Manually saved sessions should be kept, older auto-sessions discarded after reaching a maximum of (100?) snapped sessions. Most used/auto-saved sessions should be listed as the (10?) first entries, or even on a separate list. In the end, let's have a crude system from which an imprecise trial-and-error guess is possible. Better than nothing. Remember: there's livefiltering which can ease the process of picking sessions which contain a specific key folder which stands among the countless clones...

The whole mind reading thing is a joke, forget about it... and sorry if it's caused you trouble! :whistle:
Wait. Wait. Seriously, this can be achieved, actually... Not in the manner I envisioned before (it would actually involve time travelling parameters in XYscripting, not even Don can do this... can he?), but composing a session from the 20 most accessed locations by splitting them equally among two panes... hmmm... this can be quite useful, too!

I generally don't revise things I write so this saves me some time. Delayed posting this as I needed time to do some revising in an attempt to make things easier for you (as well as ensuring that the general guidelines would be stablished in a manner I couldn't add other stuff to it once the project starts on your side - this is nothing like Sammay and I done with RthemeL throughout a whole month of intense mailing back and forth).

Take care there!

Re: Session Manager [v4.b1 ML(4)]

Posted: 28 Sep 2015 11:35
by FluxTorpedoe
@all
A new translation is now available for Session Manager: Français by pseudoz. :D
Get it in latest v4.b1 post.

---------------------------
SkyFrontier wrote:The whole mind reading thing is a joke, forget about it...
No problem, I got that! I was joking too ;) — even though that was the part I (nearly) understood the most! :twisted:

Now, would it be ok if all Snaps were only made of tab location and no tab layout (which are probably better left to regular sessions)?
Cause I think I’m starting to better grasp what you want in general, and I already envision a few interesting leads and ways to implement some of your ideas…

OTOH, I’m also sill trying to ponder whether it would be better left for a fork, or implemented in SM (provided there’s no effect on performance/usability).
Apart from you I’m not sure what demand there is for such features… ;)

Re: Session Manager [v4.b1 ML(5)]

Posted: 29 Sep 2015 17:25
by SkyFrontier
Hi there, Flux!
FluxTorpedoe wrote:
SkyFrontier wrote:The whole mind reading thing is a joke, forget about it...
No problem, I got that! I was joking too ;) — even though that was the part I (nearly) understood the most! :twisted:
You're bad.
:(
:P
FluxTorpedoe wrote:Now, would it be ok if all Snaps were only made of tab location and no tab layout (which are probably better left to regular sessions)?
Cause I think I’m starting to better grasp what you want in general, and I already envision a few interesting leads and ways to implement some of your ideas…
Yet I imagine that layout recording could mean performance glitches, it was the main reason why I thought it would be a good idea proposing the project to you, who seems to mastered layout related tasks. For instance, auto-snaps could NOT record tabs data, manual-snaps could do. What about...?
FluxTorpedoe wrote:OTOH, I’m also sill trying to ponder whether it would be better left for a fork, or implemented in SM (provided there’s no effect on performance/usability).
I'm neutral - and really curious on what you have in mind concerning implementation...
FluxTorpedoe wrote:Apart from you I’m not sure what demand there is for such features… ;)
Just can speak for myself:
-a program which (auto) learns the most used locations over time and mounts it as a "Most Used Tabs session",
-which "timelines" current session so on-the-fly alternating of sessions is possible,
-which makes the whole thing with nearly zero intervention
...what is not to like about it? :D

Re: Session Manager [v4.b1 ML(5)]

Posted: 02 Oct 2015 01:46
by Flora_RMC
It's ready the Italian translation - update for the new v4.b1 :biggrin:
As always, here: http://www.xyplorer.com/xyfc/viewtopic. ... 52#p127315

Re: Session Manager [v4.b1 ML(5)]

Posted: 17 Oct 2015 11:27
by FluxTorpedoe
Flora_RMC wrote:It's ready the Italian translation - update for the new v4.b1
Thanks a lot for the update! :)
And sorry for the delay in replying, was more offline than I had expected…

@SkyFrontier
Not forgetting you, but same as above…
A quick question though: would the automation be really necessary? Problem is that I don’t see how it would easily be feasible in XY without relying on external tools (AHK…) which I’d rather avoid — or having a new function built in XY… ("wait" being out of the question ofc).
Like, after the script "on launch" and "on exit", we would have an "on demand" that would run automatically every ###sec… ;) [:facepalm]

Well, will get back in touch regarding the current leads…

Have a nice day, 8)
Flux

Re: Session Manager [v4.b1 ML(5)]

Posted: 09 Nov 2015 02:39
by FluxTorpedoe
@all
The new v4 final is coming soon, with a nice bonus: you’ll be able to add icons to sessions! Plus the session list is now more readable… 8)

---------------------------

@SkyFrontier and… whoever feels twisted enough

Here’s a working proof of concept of "Snap Sessions", to see how it could be integrated (and whether it should be). I know it’s not exactly what you asked, but it’s a first step…

• Snap Sessions only contain the paths of all tabs on both panes, and are stored as single entries in an INI file.
• They’re very light on resources but lack the extra info of regular sessions/tabsets (folder view settings,…)

What it does:
— via UDC, automatically saves auto-named sessions (under a Date+ActivePath name)
   Note: the UDC auto-saving of auto-named “real” sessions could very easily be integrated in SM
— lists all available Snap Sessions: list can easily be integrated in SM / replace regular sessions list if needed
— load Snap Session: very fast (by creating "real-fake" tabsets – faster than loading each tab)

What it doesn’t/won’t do:
— time-based autosaving: not possible internally from XY (but UDC could be activated via AHK)
— guessing the user’s need: hmmm still trying to figure this one out… ;)

• In the end, since I don’t have this kind of needs right now, I’ve a hard time figuring out whether it can already be useful or interesting, and/or how it could or should evolve… :mrgreen:

   So you tell me!…

Have a nice day,
Flux


---------------------------

• Right now, with the script saved as "SessionManager-Snaps.xys", it can be run via:
::load "SessionManager-Snaps.xys", "_SnapSave"
   No confirmation. Adds a Snap Session entry in a "SessionManager-Snaps.ini".
::load "SessionManager-Snaps.xys", "_SnapLoad"
   Opens the Snap Session list. Loading a session will use dummy tabsets so no risk to lose your real tabsets or sessions.

Code: Select all

/* ######################################################################################### */
/* ######################################################################################### */

"_SnapSave"

	$GEN_INI = "<xyscripts>\SessionManager-Snaps.ini";
	set $l_tabs;

// ------------------------------<> Define name of Snap Session from date and active path
	$SnapName = gettoken(tab("get", "data"), -1, "\");
	$d_Ellips = (strlen($SnapName) > 30)? "…" : "";	
	$SnapName = <date yymmdd_hhnnss>." - “".substr(tab("get", "path"), 0, 1).":>…\".substr($SnapName, 0, 30).$d_Ellips."”";

	focus "P1";
// --------------------------------------------------------->>  Process each pane
	while ($i++ < 2) {
// ---------------------------------------------> Save each tab
		while ($j++ < tab("get", "count")) {
			$l_tabs = $l_tabs.tab("get", "data", $j)."|";
		}
// ---------------------------------------------<
		$l_tabs = trim($l_tabs, "|")."¶";
		focus "P2";
		set $j;
	}
// ---------------------------------------------------------<<

// ------------------------------<> Store Snap Session in INI file as: Date=Name¶Pane1Tabs¶Pane2Tabs
	setkey $SnapName."¶".trim($l_tabs, "|"), <date yymmdd_hhnnss>, "Snaps",  $GEN_INI;


/* ######################################################################################### */
/* ######################################################################################### */

"_SnapLoad"

	$GEN_INI = "<xyscripts>\SessionManager-Snaps.ini";
	$l_Snaps = trim(replace(getkey( , "Snaps", $GEN_INI), chr(0), "|"), "|");

	set $input;
	foreach ($Snap, $l_Snaps) {
		$input = $input."|".gettoken(getkey($Snap, "Snaps", $GEN_INI), 1, "¶");
	}
	$input = inputselect("Select Snap Session to open", trim($input, "|"), , 8, , 400, 650, "Snap Sessions");
	$l_tabs = getkey(gettoken($input, 1), "Snaps", $GEN_INI);

// --------------------------------------------------------->>  Process each pane
	while($i++ < 2) {
		tabset("saveas", "§0§_TMP_".$i, $i); // Temporary tabset to avoid risk of 1. ruining real sessions, 2. name collision
		$l_tabsinpane = gettoken($l_tabs, 1+$i, "¶");
// ---------------------------------------------> Build fake pane.ini
	  $pane_ini = "[Tabs]<crlf>Count=".gettoken($l_tabsinpane, "count", "|")."<crlf>";
	  foreach($tab, $l_tabsinpane) {
	    $pane_ini = $pane_ini."D".$j++."=".$tab."<crlf>";
	  }
		writefile("<xydata>\Panes\§0§_".$i."\pane.ini", $pane_ini);
// ---------------------------------------------<
		tabset("load", "§0§_".$i, $i);
	  set $j;
	}
// ---------------------------------------------------------<<
	delete 1, 0, "<xydata>\Panes\§0§_*";
[/size]

Re: Session Manager [v4.b1 ML(5)]

Posted: 09 Nov 2015 18:08
by kunkel321
FluxTorpedoe wrote:The new v4 final is coming soon, [...]
Looks like I have good timing... Thanks again for your work on this Flux. I haven't followed this thread very well, but I've been using Session Manager pretty much since you first made it. :biggrin: I finally updated my custom toolbar icon with Don's "flat" orange icon.

Here it is on my toolbar:
Image

I'm attaching the compiled (and zipped) .ico file.

Also, here's the image itself:
Image

Feel free to use/bundle/post, etc.

Re: Session Manager [v4.b1 ML(5)]

Posted: 20 Nov 2015 02:55
by SkyFrontier
Yay!
Thanks for the good news, Flux!
Will test it asap (this weekend, max) and come back with impressions.
Sorry for the late reply - my turn, this one... :biggrin:

Re: Session Manager [v4.b1 ML(5)]

Posted: 20 Nov 2015 06:02
by bdeshi
kunkel321 wrote:I finally updated my custom toolbar icon with Don's "flat" orange icon.
Image.
:tup: maybe you could use a lighter outline for the briefcase on the star.

Re: Session Manager [v4.b1 ML(5)]

Posted: 23 Nov 2015 19:52
by kunkel321
SammaySarkar wrote:
kunkel321 wrote:I finally updated my custom toolbar icon with Don's "flat" orange icon.
Image.
:tup: maybe you could use a lighter outline for the briefcase on the star.
Are you thinking like more of a "flat icon" look?

Re: Session Manager [v4.b1 ML(5)]

Posted: 24 Nov 2015 03:24
by kunkel321
I took a different direction on SessionManFlat2... Trying to stay with the new "flat" look.
Not sure if I like it or not ... :? I might make the briefcase a bit bigger so that it doesn't get distorted at 24x24pix. Also, the star looks a pixel lower than the Bookmarks toolbar icon in my screenshot...

Image

Re: Session Manager [v4.b1 ML(5)]

Posted: 24 Nov 2015 13:13
by klownboy
Hi kunkle321, I like the previous version of SessionManager256 (09/11/2015) better since the difference in colors between the briefcase and star were a bit more dramatic. When viewed on the 24x24 toolbar, the colors on the newer version blend in since the difference in color is not distinctive. I can't speak for Sammay but maybe he was getting at the dark border around the briefcase could be lightened to give better separation between the star and briefcase. Though I like the previous version, I think you could lighten/brighten up the star on that version to give even better separation of color. Keep up the good work. I'm using quite a few of your icons. Thanks. :appl:

Edit: I guess all I'm really trying to say is both versions are nice, but the briefcase would really standout if the star was a more typical bright sunshine yellow as oppose to the burnt orange color of XY's favorites (:favs). :)

Re: Session Manager [v4.b1 ML(5)]

Posted: 25 Nov 2015 14:39
by Enternal
Awesome a new version is coming! Thanks a lot for this script! It's always something I have in my script toolbox to carry around since it's so useful.

Re: Session Manager [v4.b1 ML(5)]

Posted: 28 Nov 2015 17:54
by kunkel321
EDIT: Actually I'm going to move my bit about homemade icons here: http://www.xyplorer.com/xyfc/viewtopic.php?f=3&t=15088 since it's actually not a discussion of Script Exchanging, and since I realized that I'm hijacking FluxTorpedo's thread here. :biggrin: