Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№115-06-2016 22:39:10

citehala
Участник
 
Группа: Members
Зарегистрирован: 07-05-2015
Сообщений: 63
UA: Firefox 47.0

Single Star Button


Single Star Button (without Bookmarks Menu Button) (Без перезапуска)

Дополнение заменяет составную кнопку добавления закладки/открытия меню, одной звездатой кнопкой :)

kiss_7kb.1466017907.png

Нормально работает вместе с Add Bookmark Here (показывает путь закладки). Сигнализирует как и дефолтная звезда о существовании закладки.
Экономит место и упрощает работу с закладками, но открывает меню закладок по правому клику, что непривычно и не очевидно.
А драгоценный левый клик использует под ненужное (с Add Bookmark Here) добавление в закладки !

Ребятушки, нужна помощь !

Пожалуйста ! Поменяйте местами действие левой и правой кнопки !

Я пытался, но что-то не получается.. (в файле bookmarks-button-3io.js)

(секретное действие: клик средней кнопкой открывает библиотеку во вкладке)

Отредактировано citehala (16-06-2016 03:20:08)

Отсутствует

 

№216-06-2016 01:13:27

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Single Star Button

Выделить код

Код:

((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)

Отсутствует

 

№316-06-2016 03:10:51

citehala
Участник
 
Группа: Members
Зарегистрирован: 07-05-2015
Сообщений: 63
UA: Firefox 47.0

Re: Single Star Button

Вот это да ! Класс !
Только по правому клику оба действия выполняются, и добавить в закладки и меню показать..
Нельзя ли что-нибудь одно делать ?
Спасибо !

Отредактировано citehala (16-06-2016 09:10:05)

Отсутствует

 

№416-06-2016 03:33:07

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Single Star Button

Поправил.

Отсутствует

 

№516-06-2016 09:09:01

citehala
Участник
 
Группа: Members
Зарегистрирован: 07-05-2015
Сообщений: 63
UA: Firefox 47.0

Re: Single Star Button


Спасибо, братуха ! Ты мой герой ! :rock: :rock: :rock:

Хинт: Неподшитые закладки в меню закладок можно скрыть посредством Menu Wizard.
А перемещаемый "ярлык" на неё создаётся в настройках Add Bookmark Here (в самом конце).

Отредактировано citehala (16-06-2016 12:15:50)

Отсутствует

 

№616-06-2016 22:02:03

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2186
UA: Seamonkey 2.40

Re: Single Star Button

Зачем вообще это расширение 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)

Отсутствует

 

№717-06-2016 01:15:24

citehala
Участник
 
Группа: Members
Зарегистрирован: 07-05-2015
Сообщений: 63
UA: Firefox 47.0

Re: Single Star Button

Vitaliy V. пишет

может лучше стилем:

Абсолютно согласен ! Но turbot всё-таки показал класс !

Отредактировано citehala (17-06-2016 01:16:10)

Отсутствует

 

№823-01-2017 14:27:21

Letterman
Участник
 
Группа: Members
Зарегистрирован: 13-01-2017
Сообщений: 53
UA: Firefox 50.0

Re: Single Star Button

Зачем вообще это расширение Single Star Button + СВ, может лучше стилем:

Как с помощью стиля при ЛКМ  запретить Add Bookmark Here выводить диалоговое окно с добавлением закладки  одновременно с меню закладок?

Отвечу сам себе: если в Add Bookmark Here в настройках звездочки добавления в закладки выставить дефолтное поведение кнопок.

для Vitaliy V.
Еще вопрос по стилю: что прописать, чтобы по клику средней кнопки управление закладками открывалось в окне, а не во вкладке?

для turbot

Поправил.

После создания кнопки в CB и добавления расширения Single Star Button для объединения составной кнопки в одну звездочку, новая звездочка работает как надо. Но при условии, что кнопка, созданная в CB, будет присутствовать на панели, причем она всегда остается не активной.  Можно сделать эту кнопку активной, чтобы она полностью заменила звездочку?

Отредактировано Letterman (23-01-2017 16:18:04)

Отсутствует

 

№923-01-2017 17:20:50

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2186
UA: Seamonkey 2.48

Re: Single Star Button

Letterman пишет

что прописать, чтобы по клику средней кнопки управление закладками открывалось в окне, а не во вкладке?

Это 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('UnfiledBookmarks');
PlacesCommandHook.showPlacesOrganizer('BookmarksToolbar');

Загрузки PlacesCommandHook.showPlacesOrganizer("Downloads");
История PlacesCommandHook.showPlacesOrganizer('History');
и т. д.

Отсутствует

 

№1023-01-2017 18:08:24

Letterman
Участник
 
Группа: Members
Зарегистрирован: 13-01-2017
Сообщений: 53
UA: Firefox 50.0

Re: Single Star Button

Это PlacesCommandHook.showPlacesOrganizer('BookmarksMenu');

Великолепно, как раз то что нужно! Спасибо за код.:)

Отсутствует

 

№1128-01-2017 12:06:42

Letterman
Участник
 
Группа: Members
Зарегистрирован: 13-01-2017
Сообщений: 53
UA: Firefox 50.0

Re: Single Star Button

Последняя версия кода для сдвоенной кнопки, не требуется установка дополнения 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)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]