Страницы: 1
Single Star Button (without Bookmarks Menu Button) (Без перезапуска)
Дополнение заменяет составную кнопку добавления закладки/открытия меню, одной звездатой кнопкой :)
Нормально работает вместе с Add Bookmark Here (показывает путь закладки). Сигнализирует как и дефолтная звезда о существовании закладки.
Экономит место и упрощает работу с закладками, но открывает меню закладок по правому клику, что непривычно и не очевидно.
А драгоценный левый клик использует под ненужное (с Add Bookmark Here) добавление в закладки !
Ребятушки, нужна помощь !
Пожалуйста ! Поменяйте местами действие левой и правой кнопки !
Я пытался, но что-то не получается.. (в файле bookmarks-button-3io.js)
(секретное действие: клик средней кнопкой открывает библиотеку во вкладке)
Отредактировано citehala (16-06-2016 03:20:08)
Отсутствует
((btn, popup) => { for (var type of ['mouseup', 'click']) { btn.addEventListener(type, e=> { if (e.button === 0 && e.target === btn) { e.preventDefault(); e.stopPropagation(); if(e.type == 'click') popup.openPopup(btn, 'after_start'); } if (e.button === 2 && e.target === btn) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); if (e.type == 'click') BookmarkingUI.onCommand(event); } },true) } })(document.getElementById('bookmarks-menu-button'), document.getElementById('BMB_bookmarksPopup'));
В инициализацию новой/существующей Custom Buttons кнопки. Как добавить кнопку(помощь для новичка)
Отредактировано turbot (16-06-2016 03:39:02)
Отсутствует
Вот это да ! Класс !
Только по правому клику оба действия выполняются, и добавить в закладки и меню показать..
Нельзя ли что-нибудь одно делать ?
Спасибо !
Отредактировано citehala (16-06-2016 09:10:05)
Отсутствует
Спасибо, братуха ! Ты мой герой !
Хинт: Неподшитые закладки в меню закладок можно скрыть посредством Menu Wizard.
А перемещаемый "ярлык" на неё создаётся в настройках Add Bookmark Here (в самом конце).
Отредактировано citehala (16-06-2016 12:15:50)
Отсутствует
Зачем вообще это расширение Single Star Button + СВ, может лучше стилем:
ЛКМ - открыть закладки
СКМ - открыть закладки во вкладке
ПКМ - добавить закладку
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /*AGENT_SHEET*/ @-moz-document url("chrome://browser/content/browser.xul") { #bookmarks-menu-button[cui-areatype="toolbar"] { -moz-binding: url("data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxiaW5kaW5ncwogICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIgogICAgICAgICAgeG1sbnM6eGJsPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3hibCIKICAgICAgICAgIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCiAgICAgICAgICB4bWxuczp4dWw9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcva2V5bWFzdGVyL2dhdGVrZWVwZXIvdGhlcmUuaXMub25seS54dWwiPgogIDxiaW5kaW5nIGlkPSJtZW51LWJ1dHRvbiIgZXh0ZW5kcz0iY2hyb21lOi8vZ2xvYmFsL2NvbnRlbnQvYmluZGluZ3MvdG9vbGJhcmJ1dHRvbi54bWwjbWVudS1idXR0b24iPgogICAgPGhhbmRsZXJzPgogICAgICA8aGFuZGxlciBldmVudD0iY2xpY2siPjwhW0NEQVRBWwogICAgICAgIGlmIChldmVudC50YXJnZXQgPT0gdGhpcykgewoJCSAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCSAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCQkJaWYgKGV2ZW50LmJ1dHRvbiA9PSAxKSB7CgkJCSAgICB2YXIgYnJvd3NlciA9IHdpbmRvdy5nZXRCcm93c2VyKCk7CgkJCQlicm93c2VyLnNlbGVjdGVkVGFiID0gYnJvd3Nlci5hZGRUYWIoImNocm9tZTovL2Jyb3dzZXIvY29udGVudC9wbGFjZXMvcGxhY2VzLnh1bCIpOwoJCQl9CgkJCWlmIChldmVudC5idXR0b24gPT0gMikgQm9va21hcmtpbmdVSS5vbkNvbW1hbmQoZXZlbnQpOwoJCX0KICAgICAgXV0+PC9oYW5kbGVyPgogICAgICA8aGFuZGxlciBldmVudD0iY29udGV4dG1lbnUiPjwhW0NEQVRBWwogICAgICAgIGlmIChldmVudC50YXJnZXQgPT0gdGhpcykgewoJCSAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCSAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCQl9CiAgICAgIF1dPjwvaGFuZGxlcj4KICAgICAgPGhhbmRsZXIgZXZlbnQ9Im1vdXNlZG93biI+PCFbQ0RBVEFbCiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PSB0aGlzKSB7CgkJICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwoJCQlpZiAoZXZlbnQuYnV0dG9uID09IDApIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJCTUJfYm9va21hcmtzUG9wdXAiKS5zaG93UG9wdXAoKTsKCQl9CiAgICAgIF1dPjwvaGFuZGxlcj4KICAgIDwvaGFuZGxlcnM+CiAgPC9iaW5kaW5nPgo8L2JpbmRpbmdzPgo=#menu-button") !important; } #bookmarks-menu-button[cui-areatype="menu-panel"] { -moz-binding: url("data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxiaW5kaW5ncwogICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIgogICAgICAgICAgeG1sbnM6eGJsPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3hibCIKICAgICAgICAgIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCiAgICAgICAgICB4bWxuczp4dWw9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcva2V5bWFzdGVyL2dhdGVrZWVwZXIvdGhlcmUuaXMub25seS54dWwiPgogIDxiaW5kaW5nIGlkPSJtZW51IiBleHRlbmRzPSJjaHJvbWU6Ly9nbG9iYWwvY29udGVudC9iaW5kaW5ncy90b29sYmFyYnV0dG9uLnhtbCNtZW51LWJ1dHRvbiI+CiAgICA8aGFuZGxlcnM+CiAgICAgIDxoYW5kbGVyIGV2ZW50PSJjbGljayIgYnV0dG9uPSIxIj48IVtDREFUQVsKICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09IHRoaXMpIHsKCQkgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCXZhciBicm93c2VyID0gd2luZG93LmdldEJyb3dzZXIoKTsKCQkJYnJvd3Nlci5zZWxlY3RlZFRhYiA9IGJyb3dzZXIuYWRkVGFiKCJjaHJvbWU6Ly9icm93c2VyL2NvbnRlbnQvcGxhY2VzL3BsYWNlcy54dWwiKTsKCQl9CiAgICAgIF1dPjwvaGFuZGxlcj4KICAgIDwvaGFuZGxlcnM+CiAgPC9iaW5kaW5nPgo8L2JpbmRpbmdzPgo=#menu") !important; } #bookmarked-notification-anchor[notification="finish"] > #bookmarked-notification { animation: none !important; display: none !important; } #nav-bar #bookmarks-menu-button.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon { border-style: solid !important; border-width: 1px !important; border-radius: 1px !important; max-width: 32px !important; /* horizontal padding + border + actual icon width */ padding-left: 6px !important; padding-right: 6px !important; } #nav-bar #bookmarks-menu-button > .toolbarbutton-menubutton-button { -moz-padding-end: 2px !important; } #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon { opacity: 1 !important; } #bookmarks-menu-button .toolbarbutton-menubutton-button::after, #bookmarks-menu-button .toolbarbutton-menubutton-dropmarker { display: none !important; } }
Отредактировано Vitaliy V. (16-06-2016 23:32:59)
Отсутствует
Зачем вообще это расширение Single Star Button + СВ, может лучше стилем:
Как с помощью стиля при ЛКМ запретить Add Bookmark Here выводить диалоговое окно с добавлением закладки одновременно с меню закладок?
Отвечу сам себе: если в Add Bookmark Here в настройках звездочки добавления в закладки выставить дефолтное поведение кнопок.
для Vitaliy V.
Еще вопрос по стилю: что прописать, чтобы по клику средней кнопки управление закладками открывалось в окне, а не во вкладке?
для turbot
Поправил.
После создания кнопки в CB и добавления расширения Single Star Button для объединения составной кнопки в одну звездочку, новая звездочка работает как надо. Но при условии, что кнопка, созданная в CB, будет присутствовать на панели, причем она всегда остается не активной. Можно сделать эту кнопку активной, чтобы она полностью заменила звездочку?
Отредактировано Letterman (23-01-2017 16:18:04)
Отсутствует
что прописать, чтобы по клику средней кнопки управление закладками открывалось в окне, а не во вкладке?
Это PlacesCommandHook.showPlacesOrganizer('BookmarksMenu');
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /*AGENT_SHEET*/ @-moz-document url("chrome://browser/content/browser.xul") { #bookmarks-menu-button[cui-areatype="toolbar"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu-button' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); if (event.button == 1) PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); else if (event.button == 2) BookmarkingUI.onCommand(event); } ]]></handler><handler event='contextmenu'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); } ]]></handler><handler event='mousedown' button='0'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); document.getElementById('BMB_bookmarksPopup').showPopup(); } ]]></handler></handlers></binding></bindings>#menu-button") !important; } #bookmarks-menu-button[cui-areatype="menu-panel"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click' button='1'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); } ]]></handler></handlers></binding></bindings>#menu") !important; } #bookmarked-notification-anchor[notification="finish"] > #bookmarked-notification { animation: none !important; display: none !important; } #nav-bar #bookmarks-menu-button.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon { border-style: solid !important; border-width: 1px !important; border-radius: 1px !important; max-width: 32px !important; /* horizontal padding + border + actual icon width */ padding-left: 6px !important; padding-right: 6px !important; } #nav-bar #bookmarks-menu-button > .toolbarbutton-menubutton-button { -moz-padding-end: 2px !important; } #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon { opacity: 1 !important; } #bookmarks-menu-button .toolbarbutton-menubutton-button::after, #bookmarks-menu-button .toolbarbutton-menubutton-dropmarker { display: none !important; } }
Загрузки PlacesCommandHook.showPlacesOrganizer("Downloads");
История PlacesCommandHook.showPlacesOrganizer('History');
и т. д.
Отсутствует
Последняя версия кода для сдвоенной кнопки, не требуется установка дополнения Single Star Button, может использоваться с дополнением Add Bookmark Here и без него.
Функционал:
ЛКМ - показать ваши закладки, при активации пункта "Показать все закладки" открывается менеджер закладок (меню закладок) во вкладке
СКМ - открыть менеджер закладок (меню закладок) во вкладке
Комбинация Shift + СКМ - открыть менеджер закладок (меню закладок) в окне
ПКМ - добавить/редактировать закладку
Настройки в дополнении Add Bookmark Here: Звездочка добавления в закладки - для всех клавиш поведение по умолчанию. При ПКМ - добавить закладку - диалога не будет, только при удалении закладки.
Спасибо Vitaliy V. за разработку данного кода.
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /*AGENT_SHEET*/ @-moz-document url("chrome://browser/content/browser.xul") { #bookmarks-menu-button[cui-areatype="toolbar"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu-button' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); if (event.button == 1) { if (event.shiftKey) { PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); } else { var pages = window.gBrowser.getBrowserForTab(window.gBrowser.selectedTab = window.gBrowser.addTab('chrome://browser/content/places/places.xul')); pages.addEventListener('pageshow', function show(event) { pages.removeEventListener('pageshow', show, false); event.target.defaultView.PlacesOrganizer.location = 'place:folder=BOOKMARKS_MENU&excludeItems=1&expandQueries=0'; }, false); }} else if (event.button == 2) BookmarkingUI.onCommand(event); } ]]></handler><handler event='contextmenu'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); } ]]></handler><handler event='mousedown' button='0'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); document.getElementById('BMB_bookmarksPopup').showPopup(); } ]]></handler></handlers></binding></bindings>#menu-button") !important; } #bookmarks-menu-button[cui-areatype="menu-panel"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click' button='1'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); if (event.shiftKey) { PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); } else { var pages = window.gBrowser.getBrowserForTab(window.gBrowser.selectedTab = window.gBrowser.addTab('chrome://browser/content/places/places.xul')); pages.addEventListener('pageshow', function show(event) { pages.removeEventListener('pageshow', show, false); event.target.defaultView.PlacesOrganizer.location = 'place:folder=BOOKMARKS_MENU&excludeItems=1&expandQueries=0'; }, false); }} ]]></handler></handlers></binding></bindings>#menu") !important; } #bookmarked-notification-anchor[notification="finish"] > #bookmarked-notification { animation: none !important; display: none !important; } #nav-bar #bookmarks-menu-button.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon { border-style: solid !important; border-width: 1px !important; border-radius: 1px !important; max-width: 32px !important; /* horizontal padding + border + actual icon width */ padding-left: 6px !important; padding-right: 6px !important; } #nav-bar #bookmarks-menu-button > .toolbarbutton-menubutton-button { -moz-padding-end: 2px !important; } #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon { opacity: 1 !important; } #bookmarks-menu-button .toolbarbutton-menubutton-button::after, #bookmarks-menu-button .toolbarbutton-menubutton-dropmarker { display: none !important; } #BMB_bookmarksShowAll { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul' xmlns:xbl='http://www.mozilla.org/xbl'><binding id='menu' extends='chrome://global/content/bindings/menu.xml%23menuitem'><implementation><constructor><![CDATA[ this.removeAttribute(%22command%22); this.setAttribute(%22oncommand%22, %22var pages = window.gBrowser.getBrowserForTab(window.gBrowser.selectedTab = window.gBrowser.addTab('chrome://browser/content/places/places.xul')); pages.addEventListener('pageshow', function show(event) { pages.removeEventListener('pageshow', show, false); event.target.defaultView.PlacesOrganizer.location = 'place:folder=BOOKMARKS_MENU&excludeItems=1&expandQueries=0'; }, false);%22); ]]></constructor></implementation></binding></bindings>#menu") !important; } }
Отредактировано Letterman (28-01-2017 13:16:09)
Отсутствует
Страницы: 1