Всем привет и с Новым Годом!
Куда делось Session Saver?
Поставил FF2. (снес FF1.5)
Просто не могу обходиться без регулярного сохранения сессий!

sargan
В Fx2 встроено сохранение сессий.

Это еще надо найти!
Настройки->Основные->При Запуске FF установить "Показывать окна и вкладки, открытые в прошлый раз"!
Спасибо neutral, сообщение от 17.12.06г.
Я так понимаю, этого достаточно и в настройки конфигурации лезть не надо?
Всем спасибо!

sargan
почитай еще ветку http://forum.mozilla-russia.org/viewtopic.php?id=14323
я там задавал похожий вопрос, у меня теперь есть кнопка, которой я по своему желанию могу вызвать любую из 4-х последних сессий

VlaM
Почитал-поставил,спасибо!
Правда меня устроило и контекстное меню,правда слова там нерусские-раздражают:D

вот тебе с русскими словами:

Выделить код

Код:

customitem://%3Cbinding%20id%3D%22ci-sessionstore%22%20extends%3D%22chrome%3A%2F%2Fcustomitems%2Fcontent%2Fcustomitems.xbl%23customitems%22%20xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axbl%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axul%3D%22http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul%22%3E%0A%3Ccontent%20context%3D%22_child%22%3E%0A%09%3Cxul%3Atoolbarbutton%20label%3D%22Session%20Restore%22%20tooltiptext%3D%22New%20Window%20%7C%20Restore%20Browser%20State%22%20image%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAABb0lEQVR4nKWSv0tCURTHP9ceJaYU5lBBDZlUkw1FLQ2GELS2NoXiEP2YCgrCIipCIYkCERrcmqI%2FoBocais3sd7UUFARFS9JkdtgPqR8WvaFL%2Fecc7%2FnnO9whJSS%2F0AMLe3PNnjHN%2F%2FaqCj1HycjbXbhPrnTko%2Bt8KAaii88TobPVP2Vx90In8TtuEcQT2scJGvzP%2BVGASunG11VtZ7DuKUYe8f63pebBxm9saLwlqXdYfvdxkiEMNAzuUV7kw0usyjUNeJyduiaa1Wlx%2BWqOGdvYLEQnD6i8FJwFgjuEQ1O6yL%2Fyi6xV9VSbgDz8xaAwgGsPmv5fF5nKp3WpJQFzs1JCYYMgTSRedcdlMK%2FsgtAuITlcvAnjB2U8stNCGSxhj%2Bhmfg65XIOijSElCiYBADR4DRCCP0vtjbzQx%2F%2BXjAJBL5zLbXQYrylAnq3nxBM7NxS12knm4NMBswNkMtVaRVgkXC0HhBAP2CuyQJcfQKFzMLCQlddPgAAAABJRU5ErkJggg%3D%3D%22%2F%3E%0A%09%3Cxul%3Amenupopup%20anonid%3D%22contextmenu%22%20onclick%3D%22event.stopPropagation()%22%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D1%8E%D1%8E%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8E%22%20oncommand%3D%22parentNode.parentNode.restore(1%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D1%8E%D1%8E%20%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E%22%20oncommand%3D%22parentNode.parentNode.restore(2%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B5%D1%89%D1%91%20%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5%20%D1%80%D0%B0%D0%BD%D0%BD%D1%8E%D1%8E%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8E%22%20oncommand%3D%22parentNode.parentNode.restore(3%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B2%D1%81%D0%B5%D0%BC%20%D0%B4%D0%B0%D0%B2%D0%BD%D0%B8%D1%88%D0%BD%D1%8E%D1%8E%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8E%22%20oncommand%3D%22parentNode.parentNode.restore(4%2C%20this.label)%22%2F%3E%0A%09%3C%2Fxul%3Amenupopup%3E%0A%3C%2Fcontent%3E%0A%0A%3Cimplementation%3E%0A%09%3Cconstructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(typeof%20(hiddenwindow.customitems_last_session_stored)%20%3D%3D%20'undefined')%0A%09%09%09%7B%0A%09%09%09%09if%20(!this.storedir.exists())%20this.storedir.create(0x01%2C%200755)%3B%0A%09%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%0A%2F*%09%09%09%09%09ioservice.offline%20%3D%20true%3B*%2F%20%2F*to%20restore%20session%20in%20offline%20mode*%2F%0A%09%09%09%09%7D%3B%0A%09%09%09%09for%20(var%20i%3D4%3B%20i%3E0%3B%20i--)%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5Bi%5D.exists())%20this.states%5Bi%5D.remove(false)%3B%0A%09%09%09%09%09if%20(this.states%5Bi-1%5D.exists())%20this.states%5Bi-1%5D.copyTo(this.storedir%2C%22sessionstore.%22%2Bi)%3B%0A%09%09%09%09%7D%0A%09%09%09%09hiddenwindow.customitems_last_session_stored%20%3D%20true%3B%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fconstructor%3E%0A%09%3Cdestructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%7B%0A%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09if%20(states%5B0%5D.exists())%20states%5B0%5D.remove(false)%3B%0A%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%20%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fdestructor%3E%0A%09%3Cmethod%20name%3D%22restore%22%3E%0A%09%09%3Cparameter%20name%3D%22num%22%2F%3E%0A%09%09%3Cparameter%20name%3D%22name%22%2F%3E%0A%09%09%3Cbody%3E%0A%09%09%09%3C!%5BCDATA%5B%0A%09%09%09%09if%20(confirm('restore%20'%2Bname%2B'%20browser%20state%3F'))%0A%09%09%09%09%7B%0A%09%09%09%09%09this.ifstream.init%20(this.states%5Bnum%5D%2C%200x01%2C%200%2C%200)%3B%0A%09%09%09%09%09var%20lifstream%3D%20this.ifstream.QueryInterface(Components.interfaces.nsILineInputStream)%3B%0A%09%09%09%09%09var%20line%20%3D%20%7B%7D%3B%0A%09%09%09%09%09lifstream.readLine(line)%3B%0A%09%09%09%09%09this.seserv.setBrowserState(line.value)%3B%0A%09%09%09%09%09this.ifstream.close()%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%5D%5D%3E%0A%09%09%3C%2Fbody%3E%0A%09%3C%2Fmethod%3E%0A%09%3Cfield%20name%3D%22appshell%22%3E%20Components.classes%20%5B%22%40mozilla.org%2Fappshell%2FappShellService%3B1%22%5D.%20getService(Components.interfaces.nsIAppShellService)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22seserv%22%3E%20Components.classes%5B'%40mozilla.org%2Fbrowser%2Fsessionstore%3B1'%5D.getService(Components.interfaces.nsISessionStore)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22profdir%22%3E%20Components.classes%5B%22%40mozilla.org%2Ffile%2Fdirectory_service%3B1%22%5D.getService(Components.interfaces.nsIProperties).get(%22ProfD%22%2C%20Components.interfaces.nsIFile)%20%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ifstream%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Ffile-input-stream%3B1'%5D.getService(Components.interfaces.nsIFileInputStream)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ioservice%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Fio-service%3B1'%5D.getService(Components.interfaces.nsIIOService2)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22hiddenwindow%22%3E%20appshell.hiddenDOMWindow%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22storedir%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20storedir%3D%20profdir.clone()%3B%0A%09%09%09storedir.append(%22sessionstore%22)%3B%0A%09%09%09storedir%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22curstate%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20curstate%3D%20this.profdir.clone()%3B%0A%09%09%09curstate.append(%22sessionstore.js%22)%3B%0A%09%09%09curstate%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22states%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20states%3D%20new%20Array()%3B%20%0A%09%09%09for%20(var%20i%3D4%3B%20i%3E%3D0%3B%20i--)%0A%09%09%09%7B%0A%09%09%09%09states%5Bi%5D%3D%20this.storedir.clone()%3B%0A%09%09%09%09states%5Bi%5D.append(%22sessionstore.%22%2Bi)%3B%0A%09%09%09%7D%3B%0A%09%09%09states%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%3C%2Fimplementation%3E%0A%0A%3Chandlers%3E%0A%09%3Chandler%20event%3D%22click%22%20button%3D%220%22%20modifiers%3D%22any%22%3E%20OpenBrowserWindow()%3B%20%3C%2Fhandler%3E%0A%09%3Chandler%20event%3D%22click%22%20button%3D%221%22%20modifiers%3D%22any%22%3E%20this.restore(1%2C%20'last')%3B%20%3C%2Fhandler%3E%0A%3C%2Fhandlers%3E%0A%0A%3C%2Fbinding%3E

устанавливать всё также - скопировать в адрессную строку, нажать "перейти" и в появившейся вкладке - "save", после чего вкладку можно закрыть.

Добавлено Чтв 04 Янв 2007 05:38:06 :
пс: правда у меня они русскими стали только после перезагрузки...

Спасибо,менюшка перевелась!
Не понял периодичности и причины,но FF самостоятельно иногда переходит в режим: "работать автономно"?
(Это из-за этого расширения?)

Спасибо, я тоже перевел, приведу с другой, более старой, ветки
Еще вопрос Dark-Demon'у:
Нельзя ли сделать, чтобы по щелчку левой кнопкой не новое окно вылезало, а сразу последняя сессия? И еще нельзя ли отключить выскакивание окна "Подтверждение: restore last browser state?"
Уж если я правой кнопкой выбрал загрузить какую-то сессию, то зачем еще раз спрашивать, ведь вроде уже сделал свой выбор. А то получается слишком много нажатий.

sargan, это такая фича :) тут многие жаловались, что фф при восстановлении не берёт страницы из кэша, а начинает их грузить - вот я и перевожу браузер в оффлайн после краха.
сейчас добавил настройку browser.sessionstore.restore_in_offline, подтверждение убрал:

Выделить код

Код:

customitem://%3Cbinding%20id%3D%22ci-sessionstore%22%20extends%3D%22chrome%3A%2F%2Fcustomitems%2Fcontent%2Fcustomitems.xbl%23customitems%22%20xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axbl%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axul%3D%22http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul%22%3E%0A%3Ccontent%20context%3D%22_child%22%3E%0A%09%3Cxul%3Atoolbarbutton%20label%3D%22Session%20Restore%22%20tooltiptext%3D%22New%20Window%20%7C%20Restore%20Browser%20State%22%20image%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAABb0lEQVR4nKWSv0tCURTHP9ceJaYU5lBBDZlUkw1FLQ2GELS2NoXiEP2YCgrCIipCIYkCERrcmqI%2FoBocais3sd7UUFARFS9JkdtgPqR8WvaFL%2Fecc7%2FnnO9whJSS%2F0AMLe3PNnjHN%2F%2FaqCj1HycjbXbhPrnTko%2Bt8KAaii88TobPVP2Vx90In8TtuEcQT2scJGvzP%2BVGASunG11VtZ7DuKUYe8f63pebBxm9saLwlqXdYfvdxkiEMNAzuUV7kw0usyjUNeJyduiaa1Wlx%2BWqOGdvYLEQnD6i8FJwFgjuEQ1O6yL%2Fyi6xV9VSbgDz8xaAwgGsPmv5fF5nKp3WpJQFzs1JCYYMgTSRedcdlMK%2FsgtAuITlcvAnjB2U8stNCGSxhj%2Bhmfg65XIOijSElCiYBADR4DRCCP0vtjbzQx%2F%2BXjAJBL5zLbXQYrylAnq3nxBM7NxS12knm4NMBswNkMtVaRVgkXC0HhBAP2CuyQJcfQKFzMLCQlddPgAAAABJRU5ErkJggg%3D%3D%22%2F%3E%0A%09%3Cxul%3Amenupopup%20anonid%3D%22contextmenu%22%20onclick%3D%22event.stopPropagation()%22%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22last%22%20oncommand%3D%22parentNode.parentNode.restore(1%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22more%20last%22%20oncommand%3D%22parentNode.parentNode.restore(2%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22very%20last%22%20oncommand%3D%22parentNode.parentNode.restore(3%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22lastest%22%20oncommand%3D%22parentNode.parentNode.restore(4%2C%20this.label)%22%2F%3E%0A%09%3C%2Fxul%3Amenupopup%3E%0A%3C%2Fcontent%3E%0A%0A%3Cimplementation%3E%0A%09%3Cconstructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(typeof%20(hiddenwindow.customitems_last_session_stored)%20%3D%3D%20'undefined')%0A%09%09%09%7B%0A%09%09%09%09if%20(!this.storedir.exists())%20this.storedir.create(0x01%2C%200755)%3B%0A%09%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%0A%09%09%09%09%09try%7Bif%20(this.prefservice.getBoolPref(this.prefofflinerestore))%20this.ioservice.offline%20%3D%20true%3B%7D%20catch(e)%20%7B%7D%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%09for%20(var%20i%3D4%3B%20i%3E0%3B%20i--)%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5Bi%5D.exists())%20this.states%5Bi%5D.remove(false)%3B%0A%09%09%09%09%09if%20(this.states%5Bi-1%5D.exists())%20this.states%5Bi-1%5D.copyTo(this.storedir%2C%22sessionstore.%22%2Bi)%3B%0A%09%09%09%09%7D%0A%09%09%09%09hiddenwindow.customitems_last_session_stored%20%3D%20true%3B%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fconstructor%3E%0A%09%3Cdestructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%7B%0A%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09if%20(states%5B0%5D.exists())%20states%5B0%5D.remove(false)%3B%0A%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%20%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fdestructor%3E%0A%09%3Cmethod%20name%3D%22restore%22%3E%0A%09%09%3Cparameter%20name%3D%22num%22%2F%3E%0A%09%09%3Cparameter%20name%3D%22name%22%2F%3E%0A%09%09%3Cbody%3E%0A%09%09%09%3C!%5BCDATA%5B%0A%09%09%09%09this.ifstream.init%20(this.states%5Bnum%5D%2C%200x01%2C%200%2C%200)%3B%0A%09%09%09%09var%20lifstream%3D%20this.ifstream.QueryInterface(Components.interfaces.nsILineInputStream)%3B%0A%09%09%09%09var%20line%20%3D%20%7B%7D%3B%0A%09%09%09%09lifstream.readLine(line)%3B%0A%09%09%09%09this.seserv.setBrowserState(line.value)%3B%0A%09%09%09%09this.ifstream.close()%3B%0A%09%09%09%5D%5D%3E%0A%09%09%3C%2Fbody%3E%0A%09%3C%2Fmethod%3E%0A%09%3Cfield%20name%3D%22prefofflinerestore%22%3E%20'browser.sessionstore.restore_in_offline'%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22prefservice%22%3E%20Components.classes%5B'%40mozilla.org%2Fpreferences-service%3B1'%5D.getService(Components.interfaces.nsIPrefBranch2)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22appshell%22%3E%20Components.classes%20%5B%22%40mozilla.org%2Fappshell%2FappShellService%3B1%22%5D.%20getService(Components.interfaces.nsIAppShellService)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22seserv%22%3E%20Components.classes%5B'%40mozilla.org%2Fbrowser%2Fsessionstore%3B1'%5D.getService(Components.interfaces.nsISessionStore)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22profdir%22%3E%20Components.classes%5B%22%40mozilla.org%2Ffile%2Fdirectory_service%3B1%22%5D.getService(Components.interfaces.nsIProperties).get(%22ProfD%22%2C%20Components.interfaces.nsIFile)%20%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ifstream%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Ffile-input-stream%3B1'%5D.getService(Components.interfaces.nsIFileInputStream)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ioservice%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Fio-service%3B1'%5D.getService(Components.interfaces.nsIIOService2)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22hiddenwindow%22%3E%20appshell.hiddenDOMWindow%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22storedir%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20storedir%3D%20profdir.clone()%3B%0A%09%09%09storedir.append(%22sessionstore%22)%3B%0A%09%09%09storedir%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22curstate%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20curstate%3D%20this.profdir.clone()%3B%0A%09%09%09curstate.append(%22sessionstore.js%22)%3B%0A%09%09%09curstate%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22states%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20states%3D%20new%20Array()%3B%20%0A%09%09%09for%20(var%20i%3D4%3B%20i%3E%3D0%3B%20i--)%0A%09%09%09%7B%0A%09%09%09%09states%5Bi%5D%3D%20this.storedir.clone()%3B%0A%09%09%09%09states%5Bi%5D.append(%22sessionstore.%22%2Bi)%3B%0A%09%09%09%7D%3B%0A%09%09%09states%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%3C%2Fimplementation%3E%0A%0A%3Chandlers%3E%0A%09%3Chandler%20event%3D%22click%22%20button%3D%220%22%20modifiers%3D%22any%22%3E%20OpenBrowserWindow()%3B%20%3C%2Fhandler%3E%0A%09%3Chandler%20event%3D%22click%22%20button%3D%221%22%20modifiers%3D%22any%22%3E%20this.restore(1%2C%20'last')%3B%20%3C%2Fhandler%3E%0A%3C%2Fhandlers%3E%0A%0A%3C%2Fbinding%3E

русская версия:

Выделить код

Код:

customitem://%3Cbinding%20id%3D%22ci-sessionstore%22%20extends%3D%22chrome%3A%2F%2Fcustomitems%2Fcontent%2Fcustomitems.xbl%23customitems%22%20xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axbl%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axul%3D%22http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul%22%3E%0A%3Ccontent%20context%3D%22_child%22%3E%0A%09%3Cxul%3Atoolbarbutton%20label%3D%22Session%20Restore%22%20tooltiptext%3D%22New%20Window%20%7C%20Restore%20Browser%20State%22%20image%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAABb0lEQVR4nKWSv0tCURTHP9ceJaYU5lBBDZlUkw1FLQ2GELS2NoXiEP2YCgrCIipCIYkCERrcmqI%2FoBocais3sd7UUFARFS9JkdtgPqR8WvaFL%2Fecc7%2FnnO9whJSS%2F0AMLe3PNnjHN%2F%2FaqCj1HycjbXbhPrnTko%2Bt8KAaii88TobPVP2Vx90In8TtuEcQT2scJGvzP%2BVGASunG11VtZ7DuKUYe8f63pebBxm9saLwlqXdYfvdxkiEMNAzuUV7kw0usyjUNeJyduiaa1Wlx%2BWqOGdvYLEQnD6i8FJwFgjuEQ1O6yL%2Fyi6xV9VSbgDz8xaAwgGsPmv5fF5nKp3WpJQFzs1JCYYMgTSRedcdlMK%2FsgtAuITlcvAnjB2U8stNCGSxhj%2Bhmfg65XIOijSElCiYBADR4DRCCP0vtjbzQx%2F%2BXjAJBL5zLbXQYrylAnq3nxBM7NxS12knm4NMBswNkMtVaRVgkXC0HhBAP2CuyQJcfQKFzMLCQlddPgAAAABJRU5ErkJggg%3D%3D%22%2F%3E%0A%09%3Cxul%3Amenupopup%20anonid%3D%22contextmenu%22%20onclick%3D%22event.stopPropagation()%22%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.restore(1%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.restore(2%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%B5%D1%89%D1%91%20%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5%20%D0%B4%D0%B0%D0%B2%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.restore(3%2C%20this.label)%22%2F%3E%0A%09%09%3Cxul%3Amenuitem%20label%3D%22%D1%81%D0%BE%D0%B2%D1%81%D0%B5%D0%BC%20%D0%B4%D0%B0%D0%B2%D0%BD%D0%B8%D1%88%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.restore(4%2C%20this.label)%22%2F%3E%0A%09%3C%2Fxul%3Amenupopup%3E%0A%3C%2Fcontent%3E%0A%0A%3Cimplementation%3E%0A%09%3Cconstructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(typeof%20(hiddenwindow.customitems_last_session_stored)%20%3D%3D%20'undefined')%0A%09%09%09%7B%0A%09%09%09%09if%20(!this.storedir.exists())%20this.storedir.create(0x01%2C%200755)%3B%0A%09%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%0A%09%09%09%09%09try%7Bif%20(this.prefservice.getBoolPref(this.prefofflinerestore))%20this.ioservice.offline%20%3D%20true%3B%7D%20catch(e)%20%7B%7D%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%09for%20(var%20i%3D4%3B%20i%3E0%3B%20i--)%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5Bi%5D.exists())%20this.states%5Bi%5D.remove(false)%3B%0A%09%09%09%09%09if%20(this.states%5Bi-1%5D.exists())%20this.states%5Bi-1%5D.copyTo(this.storedir%2C%22sessionstore.%22%2Bi)%3B%0A%09%09%09%09%7D%0A%09%09%09%09hiddenwindow.customitems_last_session_stored%20%3D%20true%3B%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fconstructor%3E%0A%09%3Cdestructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%7B%0A%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09if%20(states%5B0%5D.exists())%20states%5B0%5D.remove(false)%3B%0A%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%20%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fdestructor%3E%0A%09%3Cmethod%20name%3D%22restore%22%3E%0A%09%09%3Cparameter%20name%3D%22num%22%2F%3E%0A%09%09%3Cparameter%20name%3D%22name%22%2F%3E%0A%09%09%3Cbody%3E%0A%09%09%09%3C!%5BCDATA%5B%0A%09%09%09%09this.ifstream.init%20(this.states%5Bnum%5D%2C%200x01%2C%200%2C%200)%3B%0A%09%09%09%09var%20lifstream%3D%20this.ifstream.QueryInterface(Components.interfaces.nsILineInputStream)%3B%0A%09%09%09%09var%20line%20%3D%20%7B%7D%3B%0A%09%09%09%09lifstream.readLine(line)%3B%0A%09%09%09%09this.seserv.setBrowserState(line.value)%3B%0A%09%09%09%09this.ifstream.close()%3B%0A%09%09%09%5D%5D%3E%0A%09%09%3C%2Fbody%3E%0A%09%3C%2Fmethod%3E%0A%09%3Cfield%20name%3D%22prefofflinerestore%22%3E%20'browser.sessionstore.restore_in_offline'%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22prefservice%22%3E%20Components.classes%5B'%40mozilla.org%2Fpreferences-service%3B1'%5D.getService(Components.interfaces.nsIPrefBranch2)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22appshell%22%3E%20Components.classes%20%5B%22%40mozilla.org%2Fappshell%2FappShellService%3B1%22%5D.%20getService(Components.interfaces.nsIAppShellService)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22seserv%22%3E%20Components.classes%5B'%40mozilla.org%2Fbrowser%2Fsessionstore%3B1'%5D.getService(Components.interfaces.nsISessionStore)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22profdir%22%3E%20Components.classes%5B%22%40mozilla.org%2Ffile%2Fdirectory_service%3B1%22%5D.getService(Components.interfaces.nsIProperties).get(%22ProfD%22%2C%20Components.interfaces.nsIFile)%20%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ifstream%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Ffile-input-stream%3B1'%5D.getService(Components.interfaces.nsIFileInputStream)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ioservice%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Fio-service%3B1'%5D.getService(Components.interfaces.nsIIOService2)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22hiddenwindow%22%3E%20appshell.hiddenDOMWindow%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22storedir%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20storedir%3D%20profdir.clone()%3B%0A%09%09%09storedir.append(%22sessionstore%22)%3B%0A%09%09%09storedir%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22curstate%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20curstate%3D%20this.profdir.clone()%3B%0A%09%09%09curstate.append(%22sessionstore.js%22)%3B%0A%09%09%09curstate%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22states%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20states%3D%20new%20Array()%3B%20%0A%09%09%09for%20(var%20i%3D4%3B%20i%3E%3D0%3B%20i--)%0A%09%09%09%7B%0A%09%09%09%09states%5Bi%5D%3D%20this.storedir.clone()%3B%0A%09%09%09%09states%5Bi%5D.append(%22sessionstore.%22%2Bi)%3B%0A%09%09%09%7D%3B%0A%09%09%09states%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%3C%2Fimplementation%3E%0A%0A%3Chandlers%3E%0A%09%3Chandler%20event%3D%22click%22%20button%3D%220%22%20modifiers%3D%22any%22%3E%20OpenBrowserWindow()%3B%20%3C%2Fhandler%3E%0A%09%3Chandler%20event%3D%22click%22%20button%3D%221%22%20modifiers%3D%22any%22%3E%20this.restore(1%2C%20'last')%3B%20%3C%2Fhandler%3E%0A%3C%2Fhandlers%3E%0A%0A%3C%2Fbinding%3E

чтобы поменять действия левой и средней кнопок мыши, нужно найти эти строчки:

Выделить код

Код:

<handler event="click" button="0" modifiers="any"> OpenBrowserWindow(); </handler>
	<handler event="click" button="1" modifiers="any"> this.restore(1, 'last'); </handler>

и поменять их значения аттрибута button, чтобы получилось так:

Выделить код

Код:

<handler event="click" button="1" modifiers="any"> OpenBrowserWindow(); </handler>
	<handler event="click" button="0" modifiers="any"> this.restore(1, 'last'); </handler>

после чего нажать "save"

Dark-Demon
>тут многие жаловались, что фф при восстановлении не берёт страницы из кэша, а начинает их грузить - вот я и перевожу браузер в оффлайн после краха>
Логично..., только надо предупреждать :dumb:
Спасибо за помощь :)

Кнопки со средней на правую поменял, а нельзя все=таки, чтобы не выскакивало дополнительное окошко с вопросом? А то, я даю команду "восстановить последнюю сессию", а меня опять спрашивают "восстановить последнюю сессию"? Зачем?

Добавлено Сбт 06 Янв 2007 00:14:26 :
то есть со средней на левую

VlaM, я чуть выше выложил  ничего не спрашивающие кнопки.

Точно! Извиняюсь и спасибо большое!
А я подумал "подтверждение убрал" относится к словам "добавил настройку browser.sessionstore.restore_in_offline", а это оказывается ответ на мое пожелание.
Ну теперь идеально.

Опять зашел на эту почти самую любимую ветку и подумал, по принципу исполнения желаний, если уж все сбылось нельзя ли еще пожелать от Dark-Demon'а кнопку перерисовать, когда я смотрю на свою панель:
- хотел показать картинку, а не знаю как -
ну, вообщем, по красоте она остальным несколько уступает, и еще нельзя ли ее сделать с панелькой справа с треугольником при нажатии на которую и выходит контекстное меню (я все про желание нажимать одной левой кнопкой), как например у кнопки "показать список закрытых вкладок" от TabMix Plus?
Я, наверно, как старуха в сказке про разбитое корыто: желания все растут.

Выделить код

Код:

customitem://%3Cbinding%20id%3D%22ci-sessionsaver-combo%22%20extends%3D%22chrome%3A%2F%2Fcustomitems%2Fcontent%2Fcustomitems.xbl%23customitems%22%20xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axbl%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%20xmlns%3Axul%3D%22http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul%22%3E%0A%3Ccontent%20tooltiptext%3D%22New%20Window%20%7C%20Restore%20Browser%20State%22%3E%0A%09%3Cxul%3Atoolbarbutton%20type%3D%22menu-button%22%20oncommand%3D%22parentNode.restore(1)%3B%20event.stopPropagation()%3B%22%20label%3D%22Session%20Restore%22%20image%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAABb0lEQVR4nKWSv0tCURTHP9ceJaYU5lBBDZlUkw1FLQ2GELS2NoXiEP2YCgrCIipCIYkCERrcmqI%2FoBocais3sd7UUFARFS9JkdtgPqR8WvaFL%2Fecc7%2FnnO9whJSS%2F0AMLe3PNnjHN%2F%2FaqCj1HycjbXbhPrnTko%2Bt8KAaii88TobPVP2Vx90In8TtuEcQT2scJGvzP%2BVGASunG11VtZ7DuKUYe8f63pebBxm9saLwlqXdYfvdxkiEMNAzuUV7kw0usyjUNeJyduiaa1Wlx%2BWqOGdvYLEQnD6i8FJwFgjuEQ1O6yL%2Fyi6xV9VSbgDz8xaAwgGsPmv5fF5nKp3WpJQFzs1JCYYMgTSRedcdlMK%2FsgtAuITlcvAnjB2U8stNCGSxhj%2Bhmfg65XIOijSElCiYBADR4DRCCP0vtjbzQx%2F%2BXjAJBL5zLbXQYrylAnq3nxBM7NxS12knm4NMBswNkMtVaRVgkXC0HhBAP2CuyQJcfQKFzMLCQlddPgAAAABJRU5ErkJggg%3D%3D%22%3E%0A%09%09%3Cxul%3Amenupopup%20anonid%3D%22contextmenu%22%20oncommand%3D%22event.stopPropagation()%22%3E%0A%09%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.parentNode.restore(1)%22%2F%3E%0A%09%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.parentNode.restore(2)%22%2F%3E%0A%09%09%09%3Cxul%3Amenuitem%20label%3D%22%D0%B5%D1%89%D1%91%20%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5%20%D0%B4%D0%B0%D0%B2%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.parentNode.restore(3)%22%2F%3E%0A%09%09%09%3Cxul%3Amenuitem%20label%3D%22%D1%81%D0%BE%D0%B2%D1%81%D0%B5%D0%BC%20%D0%B4%D0%B0%D0%B2%D0%BD%D0%B8%D1%88%D0%BD%D1%8F%D1%8F%20%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%22%20oncommand%3D%22parentNode.parentNode.parentNode.restore(4)%22%2F%3E%0A%09%09%3C%2Fxul%3Amenupopup%3E%0A%09%3C%2Fxul%3Atoolbarbutton%3E%0A%3C%2Fcontent%3E%0A%0A%3Cimplementation%3E%0A%09%3Cconstructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(typeof%20(hiddenwindow.customitems_last_session_stored)%20%3D%3D%20'undefined')%0A%09%09%09%7B%0A%09%09%09%09if%20(!this.storedir.exists())%20this.storedir.create(0x01%2C%200755)%3B%0A%09%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%0A%09%09%09%09%09try%7Bif%20(this.prefservice.getBoolPref(this.prefofflinerestore))%20this.ioservice.offline%20%3D%20true%3B%7D%20catch(e)%20%7B%7D%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%09for%20(var%20i%3D4%3B%20i%3E0%3B%20i--)%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20(this.states%5Bi%5D.exists())%20this.states%5Bi%5D.remove(false)%3B%0A%09%09%09%09%09if%20(this.states%5Bi-1%5D.exists())%20this.states%5Bi-1%5D.copyTo(this.storedir%2C%22sessionstore.%22%2Bi)%3B%0A%09%09%09%09%7D%0A%09%09%09%09hiddenwindow.customitems_last_session_stored%20%3D%20true%3B%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fconstructor%3E%0A%09%3Cdestructor%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09if%20(this.curstate.exists())%20%0A%09%09%09%7B%0A%09%09%09%09if%20(this.states%5B0%5D.exists())%20this.states%5B0%5D.remove(false)%3B%0A%09%09%09%09if%20(states%5B0%5D.exists())%20states%5B0%5D.remove(false)%3B%0A%09%09%09%09this.curstate.copyTo(this.storedir%2C%22sessionstore.0%22)%3B%20%0A%09%09%09%7D%3B%0A%09%09%5D%5D%3E%0A%09%3C%2Fdestructor%3E%0A%09%3Cmethod%20name%3D%22restore%22%3E%0A%09%09%3Cparameter%20name%3D%22num%22%2F%3E%0A%09%09%3Cbody%3E%0A%09%09%09%3C!%5BCDATA%5B%0A%09%09%09%09this.ifstream.init%20(this.states%5Bnum%5D%2C%200x01%2C%200%2C%200)%3B%0A%09%09%09%09var%20lifstream%3D%20this.ifstream.QueryInterface(Components.interfaces.nsILineInputStream)%3B%0A%09%09%09%09var%20line%20%3D%20%7B%7D%3B%0A%09%09%09%09lifstream.readLine(line)%3B%0A%09%09%09%09this.seserv.setBrowserState(line.value)%3B%0A%09%09%09%09this.ifstream.close()%3B%0A%09%09%09%5D%5D%3E%0A%09%09%3C%2Fbody%3E%0A%09%3C%2Fmethod%3E%0A%09%3Cfield%20name%3D%22prefofflinerestore%22%3E%20'browser.sessionstore.restore_in_offline'%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22prefservice%22%3E%20Components.classes%5B'%40mozilla.org%2Fpreferences-service%3B1'%5D.getService(Components.interfaces.nsIPrefBranch2)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22appshell%22%3E%20Components.classes%20%5B%22%40mozilla.org%2Fappshell%2FappShellService%3B1%22%5D.%20getService(Components.interfaces.nsIAppShellService)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22seserv%22%3E%20Components.classes%5B'%40mozilla.org%2Fbrowser%2Fsessionstore%3B1'%5D.getService(Components.interfaces.nsISessionStore)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22profdir%22%3E%20Components.classes%5B%22%40mozilla.org%2Ffile%2Fdirectory_service%3B1%22%5D.getService(Components.interfaces.nsIProperties).get(%22ProfD%22%2C%20Components.interfaces.nsIFile)%20%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ifstream%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Ffile-input-stream%3B1'%5D.getService(Components.interfaces.nsIFileInputStream)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22ioservice%22%3E%20Components.classes%5B'%40mozilla.org%2Fnetwork%2Fio-service%3B1'%5D.getService(Components.interfaces.nsIIOService2)%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22hiddenwindow%22%3E%20appshell.hiddenDOMWindow%20%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22storedir%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20storedir%3D%20profdir.clone()%3B%0A%09%09%09storedir.append(%22sessionstore%22)%3B%0A%09%09%09storedir%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22curstate%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20curstate%3D%20this.profdir.clone()%3B%0A%09%09%09curstate.append(%22sessionstore.js%22)%3B%0A%09%09%09curstate%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%09%3Cfield%20name%3D%22states%22%3E%0A%09%09%3C!%5BCDATA%5B%0A%09%09%09var%20states%3D%20new%20Array()%3B%20%0A%09%09%09for%20(var%20i%3D4%3B%20i%3E%3D0%3B%20i--)%0A%09%09%09%7B%0A%09%09%09%09states%5Bi%5D%3D%20this.storedir.clone()%3B%0A%09%09%09%09states%5Bi%5D.append(%22sessionstore.%22%2Bi)%3B%0A%09%09%09%7D%3B%0A%09%09%09states%0A%09%09%5D%5D%3E%0A%09%3C%2Ffield%3E%0A%3C%2Fimplementation%3E%0A%0A%3Chandlers%3E%0A%09%3Chandler%20event%3D%22click%22%20button%3D%221%22%20modifiers%3D%22any%22%3E%20OpenBrowserWindow()%3B%20%3C%2Fhandler%3E%0A%3C%2Fhandlers%3E%0A%0A%3C%2Fbinding%3E

пока не тестил, но вроде должна работать...

А что должно произойти? У меня ничего не изменилось.

должа появиться новая кнопка :) старую можно удалить.

Точно, спасибо

Надеюсь когда-нибудь и до кнопки дойдет дело, Остальные кнопки при наведении на них мышки подсвечиваются, эта нет. Наверное, у ее какой-то другой принцип формирования. Это, собственно, последнее желание на будующее.

это поправим в новой версии расширения в котором будет более "дружелюбный" редактор...

Будем ждать