Добрый день, подскажите, пожалуйста, как поднять панель закладок над панелью вкладок на FF68?
#TabsToolbar { -moz-box-ordinal-group: 2 !important; margin-top: 4px !important; } #nav-bar { -moz-box-ordinal-group: 3 !important; } #PersonalToolbar { -moz-appearance: none !important; background-color: rgb(198,198,198) !important; background-image: none !important; }
После FF65 изменилась структура тулбаров, и панель закладок не получается "оторвать" от панели навигации.
/* toolbar order (start) ************************************/ #print-preview-toolbar, #printedit-toolbar, #titlebar { -moz-box-ordinal-group: 0 !important; } #navigator-toolbox #toolbar-menubar { -moz-box-ordinal-group: 1 !important; } /* bookmarks toolbar */ #navigator-toolbox #PersonalToolbar { -moz-box-ordinal-group: 2 !important; } /* tabs toolbar */ #navigator-toolbox #TabsToolbar { -moz-box-ordinal-group: 3 !important; } /* navigation toolbar */ #navigator-toolbox #nav-bar { -moz-box-ordinal-group: 4 !important; } /* 3rd party toolbars */ #navigator-toolbox toolbar { -moz-box-ordinal-group: 10 !important; } /* toolbar order (end) **************************************/
Надеюсь, решение простое. Искал в ветке, не нашёл. Если есть - ткните, пожалуйста.
Спасибо.
Отсутствует
как поднять панель закладок над панелью вкладок на FF68?
Извиняюсь: не получилось под спойлером
Отредактировано Вит (22-08-2020 15:55:22)
Отсутствует
не получилось под спойлером
Выделите весь текст и нажмите кнопку -> Spoiler, и razoo просил стиль для перемещения панели закладок над панелью вкладок, а не наоборот!
Win7
Отсутствует
Вит, спасибо, но kokoss прав: это не то, что нужно.
Похоже, скрина и сниппета старого CSS недостаточно для ясности, поэтому поставлю вопрос по другому.
Как сделать следующий порядок тулбаров:
1. заголовок окна
2. меню
3. панель закладок
4. панель вкладок
5. панель навигации
До 65+ это было легко. Сейчас - вопрос.
По большому счёту вместо панели закладок можно и кастомный тулбар, а "bookmarks item" на него перетащить. Но, кажется простой инструментарий для кастомных тулбаров пропал ещё после FF24.
Отсутствует
Похоже, скрина и сниппета старого CSS недостаточно для ясности
Для тех, кто в теме, этого вполне достаточно.
intersk
Отсутствует
sonyas75
Я конечно не ас, но у себя сделал так. Добавь эту строку к коду sandro79:
Отсутствует
Проверяйте кто там этот стиль использует Вкладки ниже
новый стиль для 78+
А также, кто желает скрипт, чтобы когда панель меню скрыта то пустого места не оставалось
Отредактировано Vitaliy V. (14-04-2022 01:18:55)
Отсутствует
Vitaliy V.
А можно ещё попросить портировать для user_chrome_files кнопку "Восстановить"
Пытался запустить код кнопки из parent.js Add Toolbar Buttons, но ничего из этого конечно не получилось. Может в начале кода нужно что-то дописать или подправить. Сейчас использую код от Aris, но он менее функционален. Заранее спасибо.
try { CustomizableUI.createWidget({ id: "toolbaritem-b-undo-tab", type: "custom", label: "Восстановить", tooltiptext: "ЛКМ: Восстановить вкладку\nПКМ: Восстановить окно", localized: false, showInPrivateBrowsing: showInPrivate, onBuild: function(document) { var win = document.defaultView, toolbaritem = document.createElementNS(ns_xul, "toolbaritem"); toolbaritem.id = "toolbaritem-b-undo-tab"; toolbaritem.className = "chromeclass-toolbar-additional"; toolbaritem.setAttribute("label", "Восстановить"); toolbaritem.setAttribute("type", "custom"); var toolbarbutton_0 = document.createElementNS(ns_xul, "toolbarbutton"); toolbarbutton_0.id = "b-undo-tab"; toolbarbutton_0.className = "toolbarbutton-1"; toolbarbutton_0.setAttribute("label", "Восстановить"); toolbarbutton_0.setAttribute("tooltiptext", "ЛКМ: Восстановить вкладку\nПКМ: Восстановить окно"); toolbarbutton_0.setAttribute("context", "false"); toolbarbutton_0.addEventListener("click", function(event) { if (event.button == 0) win.undoCloseTab(); else if (event.button == 2) { event.preventDefault(); event.stopPropagation(); win.undoCloseWindow(); } }); toolbaritem.append(toolbarbutton_0); var toolbarbutton_1 = document.createElementNS(ns_xul, "toolbarbutton"); toolbarbutton_1.id = "b-undo-tab-menu"; toolbarbutton_1.className = "toolbarbutton-1"; toolbarbutton_1.setAttribute("type", "menu"); toolbarbutton_1.setAttribute("label", ""); toolbarbutton_1.setAttribute("tooltiptext", "ЛКМ: Открыть меню\nПКМ: Показать весь журнал"); toolbarbutton_1.setAttribute("context", "false"); toolbarbutton_1.addEventListener("click", function(event) { if (event.button == 2) { event.preventDefault(); event.stopPropagation(); win.PlacesCommandHook.showPlacesOrganizer("History"); } }); var menupopup_0 = document.createElementNS(ns_xul, "menupopup"); menupopup_0.id = "b-undo-tab-popup"; menupopup_0.setAttribute("tooltip", "bhTooltip"); menupopup_0.setAttribute("popupsinherittooltip", true); menupopup_0.addEventListener("click", function(event) { event.stopPropagation(); }); menupopup_0.addEventListener("command", function(event) { event.stopPropagation(); }); var menu_0 = document.createElementNS(ns_xul, "menu"); menu_0.setAttribute("disabled", true); menu_0.setAttribute("label", "Недавно закрытые вкладки"); var menupopup_1 = document.createElementNS(ns_xul, "menupopup"); menupopup_1.addEventListener("popupshowing", function(event) { var sessionStore = win.SessionStore || add_toolbar_buttons.sessionStore; while (menupopup_1.hasChildNodes()) menupopup_1.firstChild.remove(); if (win == Services.appShell.hiddenDOMWindow || sessionStore.getClosedTabCount(win) == 0) { menu_0.setAttribute("disabled", true); return; } if ("RecentlyClosedTabsAndWindowsMenuUtils" in win) { var tabsFragment = win.RecentlyClosedTabsAndWindowsMenuUtils.getTabsFragment(win, "menuitem"); menupopup_1.append(tabsFragment); menu_0.removeAttribute("disabled"); } }); menu_0.append(menupopup_1); menupopup_0.append(menu_0); var menu_1 = document.createElementNS(ns_xul, "menu"); menu_1.setAttribute("disabled", true); menu_1.setAttribute("label", "Недавно закрытые окна"); var menupopup_2 = document.createElementNS(ns_xul, "menupopup"); menupopup_2.addEventListener("popupshowing", function(event) { var sessionStore = win.SessionStore || add_toolbar_buttons.sessionStore; while (menupopup_2.hasChildNodes()) menupopup_2.firstChild.remove(); if (sessionStore.getClosedWindowCount() == 0) { menu_1.setAttribute("disabled", true); return; } if ("RecentlyClosedTabsAndWindowsMenuUtils" in win) { var windowsFragment = win.RecentlyClosedTabsAndWindowsMenuUtils.getWindowsFragment(win, "menuitem"); menupopup_2.append(windowsFragment); menu_1.removeAttribute("disabled"); } }); menu_1.append(menupopup_2); menupopup_0.append(menu_1); menupopup_0.addEventListener("popupshowing", function(event) { var sessionStore = win.SessionStore || add_toolbar_buttons.sessionStore; if (win == Services.appShell.hiddenDOMWindow || sessionStore.getClosedTabCount(win) == 0) menu_0.setAttribute("disabled", true); else menu_0.removeAttribute("disabled"); if (sessionStore.getClosedWindowCount() == 0) menu_1.setAttribute("disabled", true); else menu_1.removeAttribute("disabled"); }); var menuitem_0 = document.createElementNS(ns_xul, "menuitem"); menuitem_0.id = "b-undo-all-history"; menuitem_0.setAttribute("label", "Показать весь журнал"); menuitem_0.addEventListener("command", function(event) { event.stopPropagation(); win.PlacesCommandHook.showPlacesOrganizer("History"); }); menupopup_0.append(menuitem_0); var menuitem_1 = document.createElementNS(ns_xul, "menuitem"); menuitem_1.setAttribute("label", "Удалить недавнюю историю…"); menuitem_1.addEventListener("command", function(event) { event.stopPropagation(); add_toolbar_buttons.openSanitizeWin(win); }); menupopup_0.append(menuitem_1); toolbarbutton_1.append(menupopup_0); toolbaritem.append(toolbarbutton_1); return toolbaritem; } }); } catch(e) {}
Отсутствует
sandro79
try {(() => { var id = "ucf-undo-tab", label = "Восстановить", tooltiptext = "ЛКМ: Восстановить вкладку\nПКМ: Восстановить окно", tooltiptextbtnmenu = "ЛКМ: Меню восстановить\nПКМ: Показать весь журнал", img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16' viewBox='0 0 48 48'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(0, 120, 173);'/><path style='opacity:0.25;fill:black;' d='M 16,12 C 16,12 3,27 3,26.81 L 24.2,48 H 45 C 46.7,48 48,46.7 48,45 V 17.3 L 40,9.3 Z'/><path style='fill:white;' d='M 27.68,3.93 C 26.7,3.93 25.66,3.992 24.58,4.138 19.23,5.17 13.74,8.472 10.22,12.78 3.018,5.815 7.525,10.29 3.021,5.815 L 3,26.81 H 24.18 L 17.03,19.7 C 20.44,14.7 30.87,6.752 38.32,19.08 40.69,25.69 40.58,36.52 35.69,44 40.97,38.26 45.35,30.55 44.98,21.33 44.59,14.08 39.37,3.992 27.68,3.93' /></g></svg>", imgmenu = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16' viewBox='0 0 48 48'><g><circle cy='24' cx='24' style='fill:rgb(0, 120, 173);' r='20'/><path style='opacity:0.25;fill:black;' d='M 33,41.8 22.3,31.1 36.7,17.9 44,25.2 C 43.5,30.6 41,37.7 33,41.8 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,19 H 13 L 24,30 35,19' /></g></svg>"; CustomizableUI.createWidget({ id: id, type: "custom", label: label, tooltiptext: tooltiptext, localized: false, onBuild(doc) { var win = doc.defaultView, trim = doc.createXULElement("toolbaritem"); trim.id = id; trim.className = "toolbaritem-combined-buttons ucf-toolbaritem-combined-buttons chromeclass-toolbar-additional"; trim.setAttribute("label", label); trim.setAttribute("type", "custom"); var trbn_0 = doc.createXULElement("toolbarbutton"); trbn_0.id = `${id}-button`; trbn_0.className = "toolbarbutton-1 ucf-toolbarbutton-combined-buttons-toolbarbutton"; trbn_0.setAttribute("label", label); trbn_0.setAttribute("tooltiptext", tooltiptext); trbn_0.setAttribute("context", ""); trbn_0.addEventListener("click", e => { if (e.button == 0) win.undoCloseTab(); else if (e.button == 2) { e.preventDefault(); e.stopPropagation(); win.undoCloseWindow(); } }); trim.append(trbn_0); var trbn_1 = doc.createXULElement("toolbarbutton"); trbn_1.id = `${id}-button-menu`; trbn_1.className = "toolbarbutton-1 ucf-toolbarbutton-combined-buttons-dropmarker"; trbn_1.setAttribute("type", "menu"); trbn_1.setAttribute("label", ""); trbn_1.setAttribute("tooltiptext", tooltiptextbtnmenu); trbn_1.setAttribute("context", ""); trbn_1.addEventListener("click", e => { if (e.button == 2) { e.preventDefault(); e.stopPropagation(); win.PlacesCommandHook.showPlacesOrganizer("History"); } }); var mupp_0 = doc.createXULElement("menupopup"); mupp_0.id = `${id}-popup`; mupp_0.setAttribute("tooltip", "bhTooltip"); mupp_0.setAttribute("popupsinherittooltip", true); mupp_0.addEventListener("click", e => { e.stopPropagation(); }); mupp_0.addEventListener("command", e => { e.stopPropagation(); }); var muim_0 = doc.createXULElement("menuitem"); muim_0.id = `${id}-all-history`; muim_0.className = "ucf-menuitem"; muim_0.setAttribute("label", "Показать весь журнал"); muim_0.addEventListener("command", e => { e.stopPropagation(); win.PlacesCommandHook.showPlacesOrganizer("History"); }); mupp_0.append(muim_0); var muim_1 = doc.createXULElement("menuitem"); muim_1.id = `${id}-sanitize`; muim_1.className = "ucf-menuitem"; muim_1.setAttribute("label", "Удалить недавнюю историю…"); muim_1.addEventListener("command", e => { e.stopPropagation(); win.Sanitizer.showUI(win); }); mupp_0.append(muim_1); var muim_2 = doc.createXULElement("menuitem"); muim_2.id = `${id}-session`; muim_2.className = "ucf-menuitem"; muim_2.setAttribute("hidden", "true"); muim_2.setAttribute("label", "Восстановить последнюю сессию"); muim_2.addEventListener("command", e => { e.stopPropagation(); win.SessionStore.restoreLastSession(); }); mupp_0.append(muim_2); var menu_0 = doc.createXULElement("menu"); menu_0.id = `${id}-menu-closed-win`; menu_0.setAttribute("hidden", "true"); menu_0.setAttribute("label", "Недавно закрытые окна"); var mupp_1 = doc.createXULElement("menupopup"); var muim_3 = doc.createXULElement("menuitem"); muim_3.id = `${id}-item-closed-win`; muim_3.className = "ucf-menuitem"; muim_3.setAttribute("hidden", "true"); muim_3.setAttribute("label", "Забыть закрытые окна"); muim_3.addEventListener("command", e => { e.stopPropagation(); var sessionStore = win.SessionStore; var count = sessionStore.getClosedWindowCount(); while(count--) sessionStore.forgetClosedWindow(0); }); mupp_1.append(muim_3); var musr_0 = doc.createXULElement("menuseparator"); musr_0.id = `${id}-sep-closed-win`; musr_0.className = "ucf-menuseparator"; musr_0.setAttribute("hidden", "true"); mupp_1.append(musr_0); mupp_1.addEventListener("popupshowing", e => { e.stopPropagation(); for (let item of mupp_1.querySelectorAll(":scope > :is(menuitem:not(.ucf-menuitem), menuseparator:not(.ucf-menuseparator))")) item.remove(); if (win.SessionStore.getClosedWindowCount() == 0) { muim_3.setAttribute("hidden", "true"); musr_0.setAttribute("hidden", "true"); return; } if ("RecentlyClosedTabsAndWindowsMenuUtils" in win) { muim_3.removeAttribute("hidden"); musr_0.removeAttribute("hidden"); var windowsFragment = win.RecentlyClosedTabsAndWindowsMenuUtils.getWindowsFragment(win, "menuitem"); mupp_1.append(windowsFragment); menu_0.removeAttribute("hidden"); } }); menu_0.append(mupp_1); mupp_0.append(menu_0); var musr_1 = doc.createXULElement("menuseparator"); musr_1.className = "ucf-menuseparator"; musr_1.setAttribute("hidden", "true"); mupp_0.append(musr_1); var muim_4 = doc.createXULElement("menuitem"); muim_4.id = `${id}-item-closed-tabs`; muim_4.className = "ucf-menuitem"; muim_4.setAttribute("hidden", "true"); muim_4.setAttribute("label", "Забыть закрытые вкладки"); muim_4.addEventListener("command", e => { e.stopPropagation(); var sessionStore = win.SessionStore; var count = sessionStore.getClosedTabCount(win); while(count--) sessionStore.forgetClosedTab(win, 0); }); mupp_0.append(muim_4); var musr_2 = doc.createXULElement("menuseparator"); musr_2.id = `${id}-sep-closed-tabs`; musr_2.className = "ucf-menuseparator"; musr_2.setAttribute("hidden", "true"); mupp_0.append(musr_2); mupp_0.addEventListener("popupshowing", e => { var sessionStore = win.SessionStore; if (sessionStore.getClosedWindowCount() == 0) menu_0.setAttribute("hidden", "true"); else menu_0.removeAttribute("hidden"); if (!sessionStore.canRestoreLastSession) muim_2.setAttribute("hidden", "true"); else muim_2.removeAttribute("hidden"); for (let item of mupp_0.querySelectorAll(":scope > :is(menuitem:not(.ucf-menuitem), menuseparator:not(.ucf-menuseparator))")) item.remove(); if (win == Services.appShell.hiddenDOMWindow || sessionStore.getClosedTabCount(win) == 0) { musr_1.setAttribute("hidden", "true"); muim_4.setAttribute("hidden", "true"); musr_2.setAttribute("hidden", "true"); return; } if ("RecentlyClosedTabsAndWindowsMenuUtils" in win) { musr_1.removeAttribute("hidden"); muim_4.removeAttribute("hidden"); musr_2.removeAttribute("hidden"); var tabsFragment = win.RecentlyClosedTabsAndWindowsMenuUtils.getTabsFragment(win, "menuitem"); mupp_0.append(tabsFragment); } }); trbn_1.append(mupp_0); trim.append(trbn_1); var btnstyle = "data:text/css;charset=utf-8," + encodeURIComponent(` #${id}-button { list-style-image: url("${img}") !important; } #${id}-button-menu { list-style-image: url("${imgmenu}") !important; } toolbarpaletteitem[place="palette"] .ucf-toolbarbutton-combined-buttons-dropmarker, .ucf-toolbarbutton-combined-buttons-dropmarker dropmarker { display: none !important; } .ucf-toolbaritem-combined-buttons { margin-inline: 0 !important; padding-inline: 0 !important; } toolbar .ucf-toolbaritem-combined-buttons > .toolbarbutton-1 { padding-inline: var(--toolbarbutton-outer-padding, 1px) !important; } toolbar .ucf-toolbaritem-combined-buttons > .ucf-toolbarbutton-combined-buttons-toolbarbutton { margin-inline-end: 0 !important; padding-inline-end: 0 !important; } toolbar .ucf-toolbaritem-combined-buttons > .ucf-toolbarbutton-combined-buttons-dropmarker { margin-inline-start: 0 !important; padding-inline-start: 0 !important; } .widget-overflow-list .ucf-toolbarbutton-combined-buttons-dropmarker { -moz-box-flex: 0 !important; } .ucf-toolbarbutton-combined-buttons-dropmarker > .toolbarbutton-icon { min-width: 0 !important; max-width: none !important; width: 16px !important; padding-inline: 0 !important; } .ucf-toolbarbutton-combined-buttons-dropmarker > .toolbarbutton-text { display: none !important; } `); try { win.windowUtils.loadSheetUsingURIString(btnstyle, win.windowUtils.USER_SHEET); } catch (e) {} return trim; } }); })();} catch(e) {}
Отредактировано Vitaliy V. (05-07-2021 21:25:52)
Отсутствует
только учтите я эти кнопки не буду обновлять вместе с Add Toolbar Buttons, если что сломается придется вам просить исправить
Да-да, это понятно. Но я думаю мне хватит надолго, на 80 собираюсь задержаться на полгода, может и на год, всем устраивает. А там видно будет.
Достаточно уже экспериментов, теперь отрихтовано всё от и до.
Огромное Вам Спасибо!!!
Отредактировано sandro79 (25-08-2020 17:18:33)
Отсутствует
sibirnik
sandro79
спасибо, а как закруглить углы вкладок?
Добавлено 25-08-2020 18:27:53
с Add Toolbar Buttons
а где можно об этом узнать поподробнее?
Отредактировано intersk (25-08-2020 18:27:53)
Отсутствует
intersk
спасибо, а как закруглить углы вкладок?
Тут мне бы тоже хотелось бы знать, пытался пока не получилось. Может более опытные товарищи подскажут как?
Отсутствует
спасибо, а как закруглить углы вкладок?
Здесь новый стиль не так давно появился. У Aris можно ещё посмотреть. https://forum.mozilla-russia.org/viewto … 30#p782230
а где можно об этом узнать поподробнее?
https://forum.mozilla-russia.org/viewto … 46#p766046 + https://forum.mozilla-russia.org/viewtopic.php?id=70326
Отсутствует
для Firefox Developer Edition или Nightly
вместо extensions.legacy.enabled
теперь extensions.experiments.enabled
Отредактировано Vitaliy V. (25-08-2020 20:45:42)
Отсутствует
intersk
Вот в первый код указанный sandro79 я добавил ещё обводку(бордер) вкладок(все параметры можно под себя подбирать). Может возникнуть проблема(у меня возникла) с прописанными ранее в css кодами для вкладок. Удалил за не надобностью один код для вкладок и всё отлично работает. А чем вас - это не устраивает?
Отсутствует
для Firefox Developer Edition или Nightly
вместо extensions.legacy.enabled
теперь extensions.experiments.enabled
Да, упустил из виду этот нюанс, хотя менял эту настройку в , когда Tabs Focus и Add Toolbar Buttons отключились.
не совсем то что хотелось бы, не подошел для меня
Отсутствует
Vitaliy V.
Для ucf можете создать аналог SidebarModoki (его css на всякий) + AutoCloseBookMarkFolder + AutoCloseHistoryFolder + SidebarBookmarkSearchOpenFolder + undoBookmarksContextMenu.
SidebarModoki создает дополнительный сайдбар, актуально для пользователей TST и других вертикальных панелей вкладок. Так как все нынешние вертикальные панели вкладок работают в стандартном сайдбаре и получается, что нельзя отобразить одновременно и вкладки и закладки (или историю). SidebarModoki эту задачу решает. Ну и все остальные скрипты на мой взгляд неотделимы от базовой функции.
Понятно, что задача большая, но вдруг. Ради этого набора (и еще ExtensionOptionsMenu) держу скрипты.
Да и в скриптах SidebarModoki достаточно уродливо выглядит. А как его оформить я не сообразил, вот это не знаю как раскрасить,
А если SidebarModoki расположить справа, то там еще хуже выглядит.
Отредактировано _zt (26-08-2020 15:29:29)
Отсутствует