Session Manager 0.1 to 0.3.9+

Talk about add-ons and extension development.
Locked
old zeniko
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by old zeniko »

Here goes already the first step to version 0.4: <a href="http://www.haslo.ch/zeniko/software/sessionmanager-dev.xpi">testing version 0.3.9.1+</a>. This version includes the code snippet for creating additional backups, allows to resume without a dialog after crashes, adds a menu item for opening the Options dialog and also implements an option to sort the session list chronologically.

Open questions:
* can the "Replace Existing Windows" option also be removed from the Tools menu? Since it defaults to true, it might be necessary to keep it visible to allow the users to see why their other windows suddenly disappeared. Alternatively, I could default that pref to false and let users wonder why they suddenly got that many windows opened....
* should there be an option to hide the older additional backups? Currently, the default is to keep only one, so that the list shouldn't grow too much. If they should be hidden, how to access them if you need them again? Shouldn't this rather be done through something like the Bookmark Backup extension or a userChrome.js snippet?
* should the crashed windows be treated as normal additional session backups? This means that they will get deleted after N restarts, unless you rename them before. This is currently implemented, so we'll see if it bits you... ;)
AnonEmoose
Posts: 2031
Joined: February 6th, 2004, 11:59 am

Post by AnonEmoose »

zeniko wrote:Here goes already the first step to version 0.4: <a href="http://www.haslo.ch/zeniko/software/sessionmanager-dev.xpi">testing version 0.3.9.1+</a>. This version includes the code snippet for creating additional backups, allows to resume without a dialog after crashes, adds a menu item for opening the Options dialog and also implements an option to sort the session list chronologically.
Perhaps a tweak should be added to make sure the 'Last Session' (ie [Previous Browsing Session] ) should always be the top entry regardless of sorting option selected.

zeniko wrote:Open questions:
* can the "Replace Existing Windows" option also be removed from the Tools menu? Since it defaults to true, it might be necessary to keep it visible to allow the users to see why their other windows suddenly disappeared. Alternatively, I could default that pref to false and let users wonder why they suddenly got that many windows opened....
Although I have it to append rather than replace I believe the menu item can be removed and default to 'true'. This would be in sync with FireFox default behavior browser.tabs.loadFolderAndReplace which is set to true (ie replacing existing tabs)

zeniko wrote:* should there be an option to hide the older additional backups? Currently, the default is to keep only one, so that the list shouldn't grow too much. If they should be hidden, how to access them if you need them again? Shouldn't this rather be done through something like the Bookmark Backup extension or a userChrome.js snippet?
IMO all available sessions should be displayed. If someone finds it too cluttered they can reduce the number of backups or physically move/delete the sessions from the "Sessions" folder

zeniko wrote:* should the crashed windows be treated as normal additional session backups? This means that they will get deleted after N restarts, unless you rename them before. This is currently implemented, so we'll see if it bits you... ;)
IMO No, they should be classified seperately. While SessionManager leverages CrashRecovery code, SessionManager manages sessions (autosaved or manually saved) but CrashRecovery is a distinct function and crashed sessions should not be auto-deleted once it was created.
AnonEmoose
Posts: 2031
Joined: February 6th, 2004, 11:59 am

Post by AnonEmoose »

shouldn't this.keepOldBackups(); occur before the creating the new backup.session ??
old zeniko
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by old zeniko »

AnonEmoose wrote:While SessionManager leverages CrashRecovery code, SessionManager manages sessions (autosaved or manually saved) but CrashRecovery is a distinct function and crashed sessions should not be auto-deleted once it was created.

This doesn't interfere with Crash Recovery at all. Until version 0.3.9, Session Manager just made a copy of Crash Recovery's session backup and kept that copy until manually deleted. Now, Session Manager would automatically remove these automatically made copies as it discards the regular additional session backups. For me this makes sense, since both additional session backups and copies of crashed sessions are automatically saved states of a previous session - and Session Manager should make sure to not have too many of those around for the people who don't bother to delete any of them (especially not the crashed sessions).

AnonEmoose wrote:shouldn't this.keepOldBackups(); occur before the creating the new backup.session ??

Of course. Thanks for the note. That (and the removal of the last of the three menu options) is fixed for <a href="http://www.haslo.ch/zeniko/software/sessionmanager-dev.xpi">version 0.3.9.2+</a>.
AnonEmoose
Posts: 2031
Joined: February 6th, 2004, 11:59 am

Post by AnonEmoose »

zeniko wrote:
AnonEmoose wrote:While SessionManager leverages CrashRecovery code, SessionManager manages sessions (autosaved or manually saved) but CrashRecovery is a distinct function and crashed sessions should not be auto-deleted once it was created.

This doesn't interfere with Crash Recovery at all. Until version 0.3.9, Session Manager just made a copy of Crash Recovery's session backup and kept that copy until manually deleted. Now, Session Manager would automatically remove these automatically made copies as it discards the regular additional session backups. For me this makes sense, since both additional session backups and copies of crashed sessions are automatically saved states of a previous session - and Session Manager should make sure to not have too many of those around for the people who don't bother to delete any of them (especially not the crashed sessions).
I realize it doesn't interfere with CrashRecovery but I conceptualize Crashed Sessions as data I want to keep around until such time that I want to delete it (ie lost/recovered data) as opposed to standard sessions created (auto or manual) by SessionManager (ie backup data). While I agree that you don't want to have too many 'crashed' around, I feel using the menu option "Delete Sessions" is an less cumbersome, more friendlier method to remove unwanted 'crashed sessions' than to go the opposite route by subjecting them to auto-deletion and have to rename/move 'crashed sessions' if I want to keep it.
Last edited by AnonEmoose on April 9th, 2006, 12:02 pm, edited 1 time in total.
User avatar
dougeeebear
Posts: 548
Joined: September 15th, 2005, 4:17 pm

Post by dougeeebear »

zeniko,
I would like to remove 1), 2) etc.. from the first 10 entries in the session list (I guess these are keyboard shortcuts).
I've looked through sessionmanager.js but I can't seem to pick out the right code for removing them.
Could this be done with userChrome.js (or possibly with Stylish/userChrome.css)?
old zeniko
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by old zeniko »

@AnonEmoose: The argument for removing them automatically is that you probably don't remember what was part of a crashed session after one or two restarts anyway - unless you rename it to something more descriptive (in which case the session won't be auto-deleted). And how often do you think somebody will come back to a crashed session?

@dougeeebear: The following line of code takes care of those numbers (which are indeed there for faster keyboard access):

Code: Select all

eval("gSessionManager.init = " + gSessionManager.init.toString().replace(/key = [^;]+;/, 'key = "";'));
********
Posts: 947
Joined: August 24th, 2005, 12:23 pm

Post by ******** »

i vote for removing them automatically, since i remove them manually right now anyway.
User avatar
dougeeebear
Posts: 548
Joined: September 15th, 2005, 4:17 pm

Post by dougeeebear »

zeniko wrote:@dougeeebear: The following line of code takes care of those numbers (which are indeed there for faster keyboard access):

Code: Select all

eval("gSessionManager.init = " + gSessionManager.init.toString().replace(/key = [^;]+;/, 'key = "";'));

That's perfect... thanks.
AnonEmoose
Posts: 2031
Joined: February 6th, 2004, 11:59 am

Post by AnonEmoose »

zeniko wrote:@AnonEmoose: The argument for removing them automatically is that you probably don't remember what was part of a crashed session after one or two restarts anyway - unless you rename it to something more descriptive (in which case the session won't be auto-deleted). And how often do you think somebody will come back to a crashed session?


desertfox wrote:i vote for removing them automatically, since i remove them manually right now anyway.
Well I gave it a shot.... ;-) Seems like I'm outvoted.... hehehe
alta88
Posts: 1029
Joined: January 28th, 2006, 3:08 pm

Post by alta88 »

zeniko wrote:Open questions:
* can the "Replace Existing Windows" option also be removed from the Tools menu? Since it defaults to true, it might be necessary to keep it visible to allow the users to see why their other windows suddenly disappeared. Alternatively, I could default that pref to false and let users wonder why they suddenly got that many windows opened....



i have this unchecked normally, but sometimes will check it to load-replace a window. it's not a huge deal, but would require going into prefs to change instead of simple menu tick. and it would seem to also require the TMP hack to be elevated to 'factory install', no? how else to decide if the default usage is not wanted.

btw, haven't tried > 0.3.9.0 so apologies if it's there, but can't tell from just the comments here.

@dougeeebear - i hope you publish your TMP changes so others may pick and choose, they sound useful.

last Q - it's not possible to change in javascript a 'menuitem' declaration to 'menu' is it? can this only be overwritten via overlay? ;)
********
Posts: 947
Joined: August 24th, 2005, 12:23 pm

Post by ******** »

alta88 wrote:i have ["Replace Current Windows"] unchecked normally, but sometimes will check it to load-replace a window. it's not a huge deal, but would require going into prefs to change instead of simple menu tick. and it would seem to also require the TMP hack to be elevated to 'factory install', no? how else to decide if the default usage is not wanted.

read this:
http://forums.mozillazine.org/viewtopic ... 41#2186841
i'm not sure what ctrl+clicking and shift+clicking do when it's unchecked though.
alta88
Posts: 1029
Joined: January 28th, 2006, 3:08 pm

Post by alta88 »

thanks desertfox. but i'm not a multiple key type, cannot remember the matrix of apps/shortcuts. i've gotten ctrl-alt-del and that's it.. ;)

in fact, with zeniko's userchrome.js, i've been able to redo findbar to use arrow keys instead of F3 for find next and some combo for find prev.
Toolz
Posts: 7
Joined: January 21st, 2005, 1:24 am
Contact:

ImgLikeOpera

Post by Toolz »

Managed to squeeze this extension in where I was using SessionSaver which I was pleased about. Please to read that it does more than SessionSaver cos I get the impression that this extension will be more lovingly maintained going on from here however I regret to mention that with this extension I'm back in the slightly irritating situation I was in six months ago: ImgLikeOpera states are not restored for each tab. I guess it's a problem with ImgLikeOpera but just a heads up...
User avatar
Will Pittenger
Posts: 620
Joined: April 3rd, 2005, 6:10 pm
Location: Morton, IL

Post by Will Pittenger »

zeniko wrote:Will: Just that I correctly understand the issue: you don't want the Recover dialog to be shown after a crash at all but just to resume the previous browsing session at the moment of the crash? That's on my list for version 0.4.

Correct.

zeniko wrote:
Will Pittenger wrote:3. Option not to list old sessions in Session Manager menu in Tools.

I'm not sure I understand this request. What is an "old session" to you - and where should it be listed instead? Do you mean the backups created by my second userChrome.js snippet - and don't want them to clutter up your session list?

In the Tools/Session Manager menu, under "Save Current Window", I see a list of sessions. Those just clutter up the menu. I must pass. In fact, the only reason I keep those older sessions is in case the most recent session crashes on startup.
Will Pittenger
Locked