Mishania
Только жест свой подставте
'RL':{name:'Восстановить закрытую вкладку',cmd:function(){document.getElementById('History:UndoCloseTab').doCommand();}},
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
понял, что остальное можно не читать
ИМХО, напрасно. Первое - не руководство к подражанию, а красноречивая иллюстрация возможностей, а второе - красноречивое выражение эмоций в адрес Australis...
Отсутствует
Первое - не руководство к подражанию, а красноречивая иллюстрация возможностей, а второе - красноречивое выражение эмоций в адрес Australis...
Совершенно верно, вот эта "красноречивая иллюстрация возможностей" и "красноречивое выражение эмоций" и остановили от дальнейшего прочтения.
Отсутствует
А как бы в этой кнопке сделать, чтобы после очистки истории исчезала с панели кнопка загрузок, а то сейчас чтобы она скрылась приходится на неё нажимать?
Отсутствует
Ну что же, г-да, можно надеяться, что кнопка Открывать всё в новых вкладках, от 07.12.2013 будет доработана, или уже всё...?
Я уже пробовал но не пошло, завтра опять попробую.
Отсутствует
Помогите с кнопкой - Bookmarks | Manager | Add (Firefox) https://forum.mozilla-russia.org/viewto … 92#p521492. Я пытался прикрутить ее к 2.29.1. Все работает, кроме вызова менеджера закладок. Менял в коде Инициализации
try {PlacesCommandHook.showPlacesOrganizer('AllBookmarks'); } catch(e) {toOpenWindowByType('bookmarks:manager', 'chrome://browser/content/bookmarks/bookmarksManager.xul'); }
на
и на
.
Отредактировано stluka (08-10-2014 22:52:06)
Отсутствует
Все работает, кроме вызова менеджера закладок. Менял в коде Инициализации
Отсутствует
Работает. Спасибо.
P.S. А как сделать, чтобы менеджер закладок открывался не в новом окне, а в новой вкладке текущего окна.
Отредактировано stluka (09-10-2014 08:16:30)
Отсутствует
P.S. А как сделать, чтобы менеджер закладок открывался не в новом окне, а в новой вкладке текущего окна.
gBrowser.loadOneTab("chrome://browser/content/places/places.xul", null, null, null, false, false);
Отсутствует
stluka пишетP.S. А как сделать, чтобы менеджер закладок открывался не в новом окне, а в новой вкладке текущего окна.
Выделить кодКод:
gBrowser.loadOneTab("chrome://browser/content/places/places.xul", null, null, null, false, false);
Не работает. Открывается новая пустая вкладка. В адресной строке вкладки -> chrome://browser/content/places/places.xul
Отсутствует
Infocatcher пишетА как бы в этой кнопке сделать, чтобы после очистки истории исчезала с панели кнопка загрузок, а то сейчас чтобы она скрылась приходится на неё нажимать?
Эээ... оригинальная кнопка загрузок сама по себе никуда не исчезает. Что и каким образом ее скрывает?
Отредактировано Infocatcher (09-10-2014 11:09:36)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Эээ... оригинальная кнопка загрузок сама по себе никуда не исчезает. Что и каким образом ее скрывает?
А, действительно, это стиль №11748 так делает, про который я уж и забыл что ставил.
Отсутствует
А, действительно, это стиль №11748 так делает, про который я уж и забыл что ставил.
Можно попробовать добавить вот такое после кода очистки загрузок:
var dlData = DownloadsCommon.getIndicatorData(window); dlData.attentionSuppressed = true; // See DownloadsPanel.onPopupShown() dlData.attentionSuppressed = false; // See DownloadsPanel.onPopupHidden()
Добавлено 09-10-2014 16:55:33
Применительно ко второму коду лучше, наверное, вот так:
// resource:///modules/DownloadsCommon.jsm, see DownloadsCommon.getData() var global = Components.utils.getGlobalForObject(DownloadsCommon); global.DownloadsData.removeFinished(); global.PrivateDownloadsData.removeFinished(); Cc["@mozilla.org/browser/download-history;1"] .getService(Ci.nsIDownloadHistory) .removeAllDownloads(); // See DownloadsPanel.onPopupShown()/.onPopupHidden() global.DownloadsIndicatorData.attentionSuppressed = global.PrivateDownloadsIndicatorData.attentionSuppressed = true; global.DownloadsIndicatorData.attentionSuppressed = global.PrivateDownloadsIndicatorData.attentionSuppressed = false;
Отредактировано Infocatcher (09-10-2014 16:55:33)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Dumby
Возможно ли Вашей кнопке (я приписал там указание авторства и ссылку на пост с кнопкой),
//Автор Dumby //https://forum.mozilla-russia.org/viewtopic.php?pid=663270#p663270 const iconSize = 16; const buttonWidth = 500; const defaultFavicon = ""; if (gBrowser.currentURI.spec == "about:customizing") return; var [img, lab] = document.getAnonymousNodes(this); this.style.cssText = imp('\ -moz-box-orient: horizontal;\ min-width: ' + buttonWidth + 'px;\ max-width: ' + buttonWidth + 'px;\ '); lab.style.cssText = imp('\ display: -moz-box;\ text-align: start;\ margin-left: 7px;\ '); img.style.cssText = imp('\ display: -moz-box;\ width: ' + iconSize + 'px;\ height: ' + iconSize + 'px;\ '); function imp(str) str.replace(/;/g, " !important;"); var mo = new MutationObserver(() => lab.value = document.documentElement.getAttribute("title")); mo.observe(document.documentElement, {attributes: true, attributeFilter: ["title"]}); mo.mutationCallback(addDestructor(() => mo.disconnect())); var pl = {}, df = defaultFavicon || PlacesUtils.favicons.defaultFavicon.spec; pl.onLinkIconAvailable = pl.onLocationChange = () => { var icon = gBrowser.selectedBrowser.mIconURL || df if (icon.startsWith("http")) icon = "moz-anno:favicon:" + icon; img.src = icon; } gBrowser.addProgressListener(pl); pl.onLinkIconAvailable(addDestructor(() => gBrowser.removeProgressListener(pl)));
Имеется неработающая уже кнопка, "добавляющая перетаскиваемость окна за любую из стандартных панелей кроме таббара". Вот её код/инициализация/справка в удобной для восприятия форме:
var mainWindow = document.getElementById("main-window"); var chromeattrib=mainWindow.getAttribute('hidechrome') this.togglechrome = function() { if(chromeattrib=='true') { document.getElementById("main-window").setAttribute('hidechrome','false'); window.restore(); window.maximize(); window.restore(); this.checked=true; this.image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUVJREFUeNqkUz1PwzAQPUedmBCDw8pEg1IJdiREV/4H8Bf4GcnGxsKEQGKDlXYrIgtF7Bk8gQqUJG6wD9tJ81UhIL3Ivvh09+75WUcQEZaxju/7h8qftqw/As/zsGpCLSklpl9qCYHJLMXjE6/wD49j49nLO+raPwHo9RZxnHwm+DqNkU0+CoDOnMvF5fW/uO/2+5kGelNdYWVtFQ7294qE0X0AO9u9WhFRn7abwbAUsYnMGAP9Ms3XIYTUzjwVxlt6qybTdQq2bQNKUem8aELKCkAeNEAqHoYhjJ+ei2QkPzPJriDzRCEMMqUUoiguC3QHK/MIuAgw5TNziDmHIAigyb1oaumQVQPINcgoCBTgui44TreGgPM/dZemuIZBkis6GJXdN7Y24fZu+PssGAkkQtfptRsmPRBX52eth4ksO87fAgwAwhDaXBPgKF4AAAAASUVORK5CYII="; } else { document.getElementById("main-window").setAttribute('hidechrome','true'); window.restore(); window.maximize(); window.restore(); this.image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAR5JREFUeNpi/P//PwMlgImBQsCyc+/eGiDdTIbes0C8mYWDg6PZztqafBeAiDffsUuGxkeBaWnvcAy5CWH+EAM+fvpE0BYpfWMU/rOLZzED8dyxvWCMDYA0dBvIgDGyZrALPgFd8P/fPwZ3Z2ewwMuv/xkYgfR/BvzR++8fRJ7l569fDH///mPYuXc/WEDP1B6ighFVQ0xVI4ShbgCm/v/9iwjEf38QLnj67hfYdjT9DP+hGmHgD8iA/4wQA/4COcD0AJbQ0LdiYCQicf7985eBkRHqApBpVmZGYIk3X//CFcmoqEMYNy9ghoG7MyigIAaA/PPqEyxC/oI9wAgkG7ILoAHKiBYs/xn+AcMNJqY0Z9Giu+QmZcYBz40AAQYAXyBzO2qih9QAAAAASUVORK5CYII="; this.checked=false; } } this.togglechrome();
document.getElementById("main-window").setAttribute('hidechrome','true'); window.restore(); window.maximize(); window.restore(); this.drag= function() { if(window["bDragW"] ) return; var Ctrls = ['PersonalToolbar', 'toolbar-menubar','nav-bar', 'status-bar', 'FindToolbar']; try { Components.utils.import('resource://gre/modules/WindowDraggingUtils.jsm'); for(i=0; i<Ctrls.length; i++) { ctrlW = document.getElementById(Ctrls[i]); if (!ctrlW) continue; try { var bDragW = new WindowDraggingElement(ctrlW, window); DragW.mouseDownCheck=function(e) { return WinState==0 } }catch(e){} } }catch(e){} window["bDragW"]=true } this.drag()
******************************************************************** Toggles window chrome for your browser. Makes the window almost chromeless meaning no titlebar but taskbar should still be accessible. Convenient for going fullscreen without losing all those useful toolbars and the windows taskbar. By default this button makes the browser startup chromeless you can change this by commenting out the appropriately marked line of code in the button's initialization tab. ******************************************************************** Directly Clicking on the Button does the following: L = Toggles Chrome Any Other Click = Custom Buttons Context Menu ********************************************************************
Отредактировано Александр Колесников (10-10-2014 10:16:31)
Отсутствует
Александр Колесников
Есть еще вот такое – с перетаскиванием, но без иконки.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Подскажите кто знает. Хочу посадить на жест CB Mouse Gestures+ открытие PanelUI. Вроде открывает, но дополнительно вылазят ещё панели. Что с этим кодом не так?
cmd:function(){document.getElementById("PanelUI-popup").openPopup(null,"",350,150,false,false);}}
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
InfocatcherСпасибо, работает... Вам бы описание своих кнопок сюда запостить: Готовые кнопки для Custom Buttons | Форум Mozilla Россия... Искал такую, но не нашёл, потому попросил здесь - Dumby сделал наново...
1)Она работает, но то, что она делает то, что мне надо - это, получается, лишь побочный эффект? Ведь заявленный функционал - "Show window title (if original title was hidden by some reasons)". А виндовый тайтлбар у меня всегда спрятан стандартными настройками , и мне не надо его показывать...
2)Если я прав, то обилие кода - именно поэтому?
3)Если я до сих пор прав :-) , то нельзя ли к коду кнопки от Dumby приделать что-то типа этого:
this.drag= function() { if(window["bDragW"] ) return; var Ctrls = ['PersonalToolbar', 'toolbar-menubar','nav-bar', 'status-bar', 'FindToolbar']; try { Components.utils.import('resource://gre/modules/WindowDraggingUtils.jsm'); for(i=0; i<Ctrls.length; i++) { ctrlW = document.getElementById(Ctrls[i]); if (!ctrlW) continue; try { var bDragW = new WindowDraggingElement(ctrlW, window); DragW.mouseDownCheck=function(e) { return WinState==0 } }catch(e){} } }catch(e){} window["bDragW"]=true } this.drag()
Отсутствует
Вам бы описание своих кнопок сюда запостить: Готовые кнопки для Custom Buttons | Форум Mozilla Россия...
Время на это все нужно... Надо бы как-нибудь, да.
1)Она работает, но то, что она делает то, что мне надо - это, получается, лишь побочный эффект? Ведь заявленный функционал - "Show window title (if original title was hidden by some reasons)". А виндовый тайтлбар у меня всегда спрятан стандартными настройками , и мне не надо его показывать...
Кнопка растягивается в ширину и в ней выводится текст заголовка.
2)Если я прав, то обилие кода - именно поэтому?
Там еще стили для заголовкообразного внешнего вида.
приделать что-то типа этого: [...]
За таскаемость отвечает
Отредактировано Infocatcher (10-10-2014 17:34:57)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
при зажатии с последующим перетаскиванием перемещалось бы всё окно
Странное дело, но у меня, для того места, где ты держишь кнопку,
вроде получилось её уменьшить до размера image,
а её label как-бы вылезает справа, но таскать окно не мешает.
Попробуй, вдруг подойдёт.
const iconSize = 16; const buttonWidth = 500; const defaultFavicon = ""; if (gBrowser.currentURI.spec == "about:customizing") return; const labMarginLeft = 7; var btnWidth = iconSize + 2*3; var labWidth = buttonWidth - iconSize - labMarginLeft; var btnMarginRight = labWidth + labMarginLeft; var [img, lab] = document.getAnonymousNodes(this); this.style.cssText = imp('\ -moz-box-orient: horizontal;\ -moz-box-pack: start;\ min-width: ' + btnWidth + 'px;\ max-width: ' + btnWidth + 'px;\ margin-right: ' + btnMarginRight + 'px;\ '); lab.style.cssText = imp('\ display: -moz-box;\ text-align: start;\ margin-left: ' + labMarginLeft + 'px;\ min-width: ' + labWidth + 'px;\ max-width: ' + labWidth + 'px;\ '); img.style.cssText = imp('\ display: -moz-box;\ width: ' + iconSize + 'px;\ height: ' + iconSize + 'px;\ '); function imp(str) str.replace(/;/g, " !important;"); var mo = new MutationObserver(() => lab.value = self.tooltipText = document.documentElement.getAttribute("title")); mo.observe(document.documentElement, {attributes: true, attributeFilter: ["title"]}); mo.mutationCallback(addDestructor(() => mo.disconnect())); var pl = {}, df = defaultFavicon || PlacesUtils.favicons.defaultFavicon.spec; pl.onLinkIconAvailable = pl.onLocationChange = () => { var icon = gBrowser.selectedBrowser.mIconURL || df if (icon.startsWith("http")) icon = "moz-anno:favicon:" + icon; img.src = icon; } gBrowser.addProgressListener(pl); pl.onLinkIconAvailable(addDestructor(() => gBrowser.removeProgressListener(pl))); //addDestructor(() => { for(var node of [self, img, lab]) node.removeAttribute("style") });
Отсутствует
Infocatcher Спасибо за объяснение!
Dumby Спасибо! +натуральнозаголовкообразность +таскаемость без побочных эффектов у меня
Отсутствует