Вит
chrome/userChrome.css
@-moz-document url("chrome://browser/content/browser.xul") { #main-menubar > #bookmarksMenu > .menubar-text { -moz-binding: url("./bindings/backupBookmarks.xml#backup") !important; } #v-toolbarbutton-backupbookmarks { list-style-image: url("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><path d='M 2.438,0 C 1.087,0 0,1.088 0,2.438 V 45.56 C 0,46.91 1.087,48 2.438,48 H 45.56 C 46.91,48 48,46.91 48,45.56 V 2.438 C 48,1.088 46.91,0 45.56,0 Z' style='fill:%23f38725;fill-opacity:1;' /><path style='opacity:0.25;fill:%23000000;' d='M 24,3 11.1,45 14.1,48 H 45 C 46.7,48 48,46.7 48,45 V 22.2 L 45,19.2 39,18 Z'/><path style='fill:%23ffffff;stroke:%23ffffff;stroke-width:1;stroke-linejoin:round' d='M 45,19.05 C 45.09,19.34 36.05,30.02 35.96,30.3 35.86,30.57 37.21,44.81 36.97,45 36.76,45.15 24.28,39.43 24,39.43 23.73,39.43 11.25,45.16 11.03,45 10.79,44.81 12.11,30.57 12.02,30.3 11.94,30.02 2.911,19.34 3.001,19.05 3.087,18.77 16.37,15.69 16.6,15.53 16.82,15.35 23.72,3 24,3 24.28,3 31.18,15.35 31.4,15.53 31.63,15.69 44.88,18.75 45,19.05' /></g></svg>") !important; } }
<?xml version="1.0" encoding="UTF-8"?> <bindings xmlns="http://www.mozilla.org/xbl"> <binding id="backup"> <implementation> <constructor><![CDATA[ try { let id = "v-toolbarbutton-backupbookmarks"; if (this._getWidget(id)) { let label = "Создать резервную копию…"; let tooltiptext = "ЛКМ: Создать резервную копию закладок в JSON файл\n((Shift или Ctrl) и ЛКМ) или СКМ: Экспорт закладок в HTML файл"; CustomizableUI.createWidget({ id: id, type: "custom", label: label, tooltiptext: tooltiptext, onBuild: function(document) { var win = document.defaultView; var toolbarbutton_0 = document.createElement("toolbarbutton"); toolbarbutton_0.id = id; toolbarbutton_0.setAttribute("label", label); toolbarbutton_0.setAttribute("tooltiptext", tooltiptext); toolbarbutton_0.backupBookmarks = function(htmlfile = false) { var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker); if (!htmlfile) { let _PlacesBackups = this._PlacesBackups || (this._PlacesBackups = ChromeUtils.import("resource://gre/modules/PlacesBackups.jsm", {}).PlacesBackups); let backupsDir = Services.dirsvc.get("Desk", Ci.nsIFile); let fpCallback = function fpCallback_done(aResult) { if (aResult != Ci.nsIFilePicker.returnCancel) _PlacesBackups.saveBookmarksToJSONFile(fp.file.path).catch(Cu.reportError); }; fp.init(win, "Имя файла резервной копии закладок", Ci.nsIFilePicker.modeSave); fp.appendFilter("JSON", "*.json;*.jsonlz4"); fp.defaultString = _PlacesBackups.getFilenameForDate(); fp.defaultExtension = "json"; fp.displayDirectory = backupsDir; fp.open(fpCallback); } else { let _BookmarkHTMLUtils = this._BookmarkHTMLUtils || (this._BookmarkHTMLUtils = ChromeUtils.import("resource://gre/modules/BookmarkHTMLUtils.jsm", {}).BookmarkHTMLUtils); let fpCallback = function fpCallback_done(aResult) { if (aResult != Ci.nsIFilePicker.returnCancel) _BookmarkHTMLUtils.exportToFile(fp.file.path).catch(Cu.reportError); }; fp.init(win, "Экспорт файла закладок", Ci.nsIFilePicker.modeSave); fp.appendFilters(Ci.nsIFilePicker.filterHTML); fp.defaultString = "bookmarks.html"; fp.open(fpCallback); } }; toolbarbutton_0.addEventListener("click", function(event) { if (event.button == 0) { if (!event.shiftKey && !event.ctrlKey) this.backupBookmarks(); else this.backupBookmarks(true); } else if (event.button == 1) this.backupBookmarks(true); }, false); toolbarbutton_0.classList.add("toolbarbutton-1"); toolbarbutton_0.classList.add("chromeclass-toolbar-additional"); return toolbarbutton_0; } }); } } catch(e) {} ]]></constructor> <method name="_getWidget"> <parameter name="id"/> <body><![CDATA[ var widget = CustomizableUI.getWidget(id); if (!widget || widget.provider != CustomizableUI.PROVIDER_API) return true; return false; ]]></body> </method> </implementation> </binding> </bindings>
но правильно ли это?
нет это нарушит другие темы
Отредактировано Vitaliy V. (21-01-2019 17:55:03)
Отсутствует
qwertyjop пишетно правильно ли это?
нет это нарушит другие темы
Теперь красит только текст тайтлбара. И сам тайтлбар в голубой.
#navigator-toolbox > toolbar { background: #C0DEED; } #navigator-toolbox > .titlebar-color { color: black !important; }
Отсутствует
Vitaliy V., если можно - ещё пара вопросов:
1. можно ли заголовкам в Quick Dial'е:
Добавить эффект ухода в прозрачный градиент (можно и в цветной, если это проще) по правому краю (как в заголовках вкладок и в адресной строке)?
2. Про перекрашивание полоски в активной вкладке: а получает ли Firefox другие цвета текущей темы Windows (кроме цвета окна)?
На сколько я понимаю, текущий акцентный цвет системы - хранится в HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM\AccentColor (в AGBR), и это тот цвет - в который используется в качестве фона плиток (в пуске), а все остальные цвета (в том числе и цвет выделенного окна) - являются его производными.
Если Firefox - получает этот цвет от системы, то как называется перименная хранящая его, а если нет - то как в:
@media (-moz-windows-accent-color-in-titlebar) { #tabbrowser-tabs:not(:-moz-lwtheme) { --tab-line-color: -moz-win-accentcolor !important; } }
подкрутить параметры цвета?
Я знаю что это можно сделать через filter: brightness() saturate(), но куда его там правильно вставить (чтобы задело только саму полоску)?
© уважением Neytrino.
Отсутствует
вот бы добавить на ПКМ - Импорт закладок!
добавил
ПКМ: Восстановить резервную копию из JSON файла
(Shift или Ctrl) и ПКМ: Импорт закладок из HTML файла
<?xml version="1.0" encoding="UTF-8"?> <bindings xmlns="http://www.mozilla.org/xbl"> <binding id="backup"> <implementation> <constructor><![CDATA[ try { let id = "v-toolbarbutton-backupbookmarks"; if (this._getWidget(id)) { let label = "Создать резервную копию…"; let tooltiptext = "ЛКМ: Создать резервную копию закладок в JSON файл\n((Shift или Ctrl) и ЛКМ) или СКМ: Экспорт закладок в HTML файл\nПКМ: Восстановить резервную копию из JSON файла\n(Shift или Ctrl) и ПКМ: Импорт закладок из HTML файла"; CustomizableUI.createWidget({ id: id, type: "custom", label: label, tooltiptext: tooltiptext, onBuild: function(document) { var win = document.defaultView; var toolbarbutton_0 = document.createElement("toolbarbutton"); toolbarbutton_0.id = id; toolbarbutton_0.setAttribute("label", label); toolbarbutton_0.setAttribute("tooltiptext", tooltiptext); toolbarbutton_0.setAttribute("context", false); toolbarbutton_0.backupBookmarks = function(htmlfile = false) { var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker); if (!htmlfile) { let _PlacesBackups = this._PlacesBackups || (this._PlacesBackups = ChromeUtils.import("resource://gre/modules/PlacesBackups.jsm", {}).PlacesBackups); let backupsDir = Services.dirsvc.get("Desk", Ci.nsIFile); let fpCallback = function fpCallback_done(aResult) { if (aResult != Ci.nsIFilePicker.returnCancel) _PlacesBackups.saveBookmarksToJSONFile(fp.file.path).catch(Cu.reportError); }; fp.init(win, "Имя файла резервной копии закладок", Ci.nsIFilePicker.modeSave); fp.appendFilter("JSON", "*.json;*.jsonlz4"); fp.defaultString = _PlacesBackups.getFilenameForDate(); fp.defaultExtension = "json"; fp.displayDirectory = backupsDir; fp.open(fpCallback); } else { let _BookmarkHTMLUtils = this._BookmarkHTMLUtils || (this._BookmarkHTMLUtils = ChromeUtils.import("resource://gre/modules/BookmarkHTMLUtils.jsm", {}).BookmarkHTMLUtils); let fpCallback = function fpCallback_done(aResult) { if (aResult != Ci.nsIFilePicker.returnCancel) _BookmarkHTMLUtils.exportToFile(fp.file.path).catch(Cu.reportError); }; fp.init(win, "Экспорт файла закладок", Ci.nsIFilePicker.modeSave); fp.appendFilters(Ci.nsIFilePicker.filterHTML); fp.defaultString = "bookmarks.html"; fp.open(fpCallback); } }; toolbarbutton_0.restoreBookmarks = function(htmlfile = false) { let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker); if (!htmlfile) { let backupsDir = Services.dirsvc.get("Desk", Ci.nsIFile); let _BookmarkJSONUtils = this. _BookmarkJSONUtils || (this. _BookmarkJSONUtils = ChromeUtils.import("resource://gre/modules/BookmarkJSONUtils.jsm", {}).BookmarkJSONUtils); let fpCallback = function fpCallback_done(aResult) { if (aResult != Ci.nsIFilePicker.returnCancel) { let aFilePath = fp.file.path; if (!aFilePath.toLowerCase().endsWith("json") && !aFilePath.toLowerCase().endsWith("jsonlz4")) { Services.prompt.alert(win, "Firefox", "Неподдерживаемый тип файла."); return; } if (!Services.prompt.confirm(null, "Восстановление закладок", "Все ваши текущие закладки будут заменены закладками из резервной копии. Вы уверены?")) return; (async function() { try { await _BookmarkJSONUtils.importFromFile(aFilePath, { replace: true }); } catch (ex) { Services.prompt.alert(win, "Firefox", "Не удалось обработать файл резервной копии."); } })(); } }; fp.init(win, "Выберите резервную копию закладок", Ci.nsIFilePicker.modeOpen); fp.appendFilter("JSON", "*.json;*.jsonlz4"); fp.appendFilters(Ci.nsIFilePicker.filterAll); fp.displayDirectory = backupsDir; fp.open(fpCallback); } else { let _BookmarkHTMLUtils = this._BookmarkHTMLUtils || (this._BookmarkHTMLUtils = ChromeUtils.import("resource://gre/modules/BookmarkHTMLUtils.jsm", {}).BookmarkHTMLUtils); let fpCallback = function fpCallback_done(aResult) { if (aResult != Ci.nsIFilePicker.returnCancel && fp.fileURL) _BookmarkHTMLUtils.importFromURL(fp.fileURL.spec).catch(Cu.reportError); }; fp.init(win, "Импорт файла закладок", Ci.nsIFilePicker.modeOpen); fp.appendFilters(Ci.nsIFilePicker.filterHTML); fp.open(fpCallback); } }; toolbarbutton_0.addEventListener("click", function(event) { if (event.button == 0) { if (!event.shiftKey && !event.ctrlKey) this.backupBookmarks(); else this.backupBookmarks(true); } else if (event.button == 1) this.backupBookmarks(true); else if (event.button == 2) { event.preventDefault(); event.stopPropagation(); if (!event.shiftKey && !event.ctrlKey) this.restoreBookmarks(); else this.restoreBookmarks(true); } }, false); toolbarbutton_0.classList.add("toolbarbutton-1"); toolbarbutton_0.classList.add("chromeclass-toolbar-additional"); return toolbarbutton_0; } }); } } catch(e) {} ]]></constructor> <method name="_getWidget"> <parameter name="id"/> <body><![CDATA[ var widget = CustomizableUI.getWidget(id); if (!widget || widget.provider != CustomizableUI.PROVIDER_API) return true; return false; ]]></body> </method> </implementation> </binding> </bindings>
#navigator-toolbox > toolbar ... #navigator-toolbox > .titlebar-color
не сработает как ожидали в 65
вообще не нужно перекрашивать есть темы и можно сделать любую...
как убрать полоску всё никак не разберусь.
Добавить эффект ухода в прозрачный градиент (можно и в цветной, если это проще) по правому краю (как в заголовках вкладок и в адресной строке)?
к тому стилю добавьте где .Grid td > a > div:last-child
а получает ли Firefox другие цвета текущей темы Windows (кроме цвета окна)?
см. там https://developer.mozilla.org/en-US/doc … tem_Colors
System Colors работают как надо в классической теме или контрастных,
а например Highlight HighlightText - цвет выделения работает везде
как и с префиксом -moz- https://developer.mozilla.org/en-US/doc … Extensions
Если Firefox - получает этот цвет от системы, то как называется перименная хранящая его, а если нет - то как в:подкрутить параметры цвета?
какая переменная CSS ? в ? подкрутить вы её никак не подкрутите только в системе
или добавлением фильтров, градиентов ...
но куда его там правильно вставить
.tab-line[multiselected], .tab-line[selected="true"] { background-color: var(--tab-line-color); }
Отредактировано Vitaliy V. (21-01-2019 19:39:51)
Отсутствует
Vitaliy V.
СПАСИБО! Но заметил непонятку: сделал копии в формате json и html, удалил все закладки с Панели закладок и для проверки попытался восстановить их. Так вот из файла html вообще ничего не восстановилось!? А из json - без поблем, что это может быть???
PS они попадают в Меню закладок, ну и как их перенести на панель закладок?
Отредактировано Вит (21-01-2019 19:49:39)
Отсутствует
PS они попадают в Меню закладок, ну и как их перенести на панель закладок?
это та же функция что и в библиотеке Импорт закладок из HTML файла...
перенести вы их можете там же, управление -> выделить всё и перенести
Отредактировано Vitaliy V. (21-01-2019 20:21:08)
Отсутствует
есть темы и можно сделать любую
Так то оно так, но...
Я обычно, на старом огнелисе, использовал эту тему оформления: https://addons.mozilla.org/ru/firefox/addon/tweettweet
Но тут обнаружил, что с твиком css/tabs/classic_squared_tabs.css из https://github.com/aris-t2/customcssforfx она конфликтует, ощутимо повышая нагрузку на ЦП. Знаний в css у меня никаких, только и остается что искать как перекрасить лису в удобный цвет.
Отсутствует
Отсутствует
Так, я всё. Получилось как-то вот так:
Если вдруг кому-то захочется так-же:
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* Заменяем иконки */ /* Undo Close Tab */ #_4853d046-c5a3-436b-bc36-220fd935ee1d_-browser-action { list-style-image: url("./svg/undoclosetab.svg") !important; } /* Quick Dial */ #quickdial_matmoul_com-browser-action { list-style-image: url("./svg/quickdial.svg") !important; } #contentAreaContextMenu menuitem[id$="AddToQuickDial"] .menu-iconic-icon { object-position: 16px 0px !important; list-style-image: none !important; background: url("./png/quickdial.png") transparent center no-repeat !important; } /* Расширенное меню */ #nav-bar-overflow-button { list-style-image: url("chrome://browser/skin/page-action.svg") !important; } /* Гамбургер-меню */ #PanelUI-menu-button { list-style-image: url("./svg/hamburger.svg") !important; } /* Gmail Notifier */ #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="gray/16.png"] { list-style-image: url("./svg/gmail-logon.svg") !important; } #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="blue/16.png"] { list-style-image: url("./svg/gmail-logoff.svg") !important; } #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="red/16.png"] { list-style-image: url("./svg/gmail-unread.svg") !important; } #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="new/16.png"] { list-style-image: url("./svg/gmail-new.svg") !important; opacity: .4 !important; } #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="load0/16.png"] { list-style-image: url("./svg/gmail-load0.svg") !important; } #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="load1/16.png"] { list-style-image: url("./svg/gmail-logoff.svg") !important; } #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="load2/16.png"] { list-style-image: url("./svg/gmail-load2.svg") !important; } #jid0-gjwrpchs3ugt7xydvqvk4dqk8ls_jetpack-browser-action[style*="load3/16.png"] { list-style-image: url("./svg/gmail-load3.svg") !important; } /* AdBlock Plus */ #_d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d_-browser-action[style*="abp-16.png"] { list-style-image: url("./svg/adblockplus-on.svg") !important; } #_d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d_-browser-action[style*="abp-16-whitelisted.png"] { list-style-image: url("./svg/adblockplus-off.svg") !important; } #contentAreaContextMenu menuitem[image^="moz-extension://"][image$="/icons/abp-16.png"] .menu-iconic-icon { object-position: 16px 0px !important; list-style-image: none !important; background: url("./png/adblockplus.png") transparent center no-repeat !important; } /* Flash and Video Download */ #_adeadebb-fedc-4180-a7f4-cfdd87496551_-browser-action[style*="active.svg"] { list-style-image: url("./svg/flashandvideodownload-active.svg") !important; } #_adeadebb-fedc-4180-a7f4-cfdd87496551_-browser-action[style*="grey_not_active.svg"] { list-style-image: url("./svg/flashandvideodownload-unactive.svg") !important; } /* InFormEnter+ */ #_5546f97e-11a5-46b0-9082-32ad74aaa920_-browser-action[style*="informenter-16.png"] { list-style-image: url("./svg/informenter-on.svg") !important; } #_5546f97e-11a5-46b0-9082-32ad74aaa920_-browser-action[style*="informenter-16-gray.png"] { list-style-image: url("./svg/informenter-off.svg") !important; } #contentAreaContextMenu menu[image^="moz-extension://"][image$="/img/informenter-16.png"] .menu-iconic-icon { object-position: 16px 0px !important; list-style-image: none !important; background: url("./png/informenter.png") transparent center no-repeat !important; } /* Private Bookmarks */ #private-bookmarks_rharel-browser-action[style*="locked-bookmarks.svg"] { list-style-image: url("./svg/privatebookmarks-locked.svg") !important; } #private-bookmarks_rharel-browser-action[style*="unlocked-bookmarks.svg"] { list-style-image: url("./svg/privatebookmarks-unlocked.svg") !important; } /* FireX Proxy */ #divanproger_gmail_com-browser-action { list-style-image: url("./svg/firexproxy.svg") !important; } /* Скрываем элементы интерфейса */ /* Пространство для перетаскивания (в панели вкладок) */ #TabsToolbar *[type="pre-tabs"], #TabsToolbar *[type="post-tabs"], /* (кнопка) Все вкладки */ #tabbrowser-tabs ~ #alltabs-button, /* "Лупа" (из адресной строки) */ #urlbar-zoom-button { display:none !important; } /* Убираем разделитель (слева от Гамбургер-меню) */ #PanelUI-button { border-image-slice: 0 !important; } /* Скрываем элементы интерфейса (в "не приватном" режиме) */ /* Private Bookmarks */ :root:not([privatebrowsingmode="temporary"]) #private-bookmarks_rharel-browser-action, /* FireX Proxy */ :root:not([privatebrowsingmode="temporary"]) #divanproger_gmail_com-browser-action { display:none !important; } /* Скрываем элементы меню */ /* Контекстное меню */ /*(кнопка) Добавить в закладки */ #context-bookmarkpage, /* Открыть фоновое изображение */ #context-viewbgimage, /* Исходный код страницы */ #context-viewsource, /* Информация о странице */ #context-viewinfo, /* Исследовать элемент */ #context-inspect, /* Исследовать свойства поддержки доступности */ #context-inspect-a11y, /* Сделать скриншот */ #screenshots_mozilla_org-menuitem-_create-screenshot, /* Добаввить ссылку в закладки */ #context-bookmarklink, /* Искать "" в ... */ #context-searchselect, /* Отправить изображение по почте */ #context-sendimage, /* Сделать фоновым рисунком рабочего стола */ #context-setDesktopBackground, /* Отменить */ #context-undo, /* Добавить краткое имя для данного поиска */ #context-keywordfield, /* Исходный код выделенного фрагмента */ #context-viewpartialsource-selection, /* Сохранить страницу в Pocket */ #context-pocket, /* Отправить страницу на устройство */ #context-sendpagetodevice, /* Сохранить ссылку в Pocket */ #context-savelinktopocket, /* Отправить ссылку на устройство */ #context-sendlinktodevice, /* Меню адресной строки */ /* Отправить ссылку по почте */ #pageAction-panel-emailLink, /* Bookmark this page privately */ #pageAction-panel-private-bookmarks_rharel, /* Сохранить страницу в Pocket */ #pageAction-panel-pocket, /* Отправить * вкладку на устройство */ #pageAction-panel-sendToDevice, /* Вкладка */ /* Добавить вкладку в закладки */ #context_bookmarkTab, /* Искать "" в ... */ #context-searchselect, /* Отправить * вкладку на устройство */ #context_sendTabToDevice, /* Добавить вкладки в закладки */ #context_bookmarkSelectedTabs { display:none !important; } /* Cкрываем неактивные элементы меню */ menupopup :-moz-any(menu,menuitem,menucaption)[disabled="true"], menupopup menuseparator:first-of-type { display: none; } menupopup :-moz-any(menu,menuitem,menucaption):not([disabled="true"]):not([hidden="true"]) ~ menuseparator:first-of-type:not([hidden="true"]) { display: -moz-box; } /* Меняем размер кнопок */ :root { --toolbarbutton-outer-padding: 2px !important; --toolbarbutton-inner-padding: 7px !important; } /* Меняем цвет (синей) полосы в верхней части активной вкладки (в соответствии с текущей темой Windows) */ @media (-moz-windows-accent-color-in-titlebar) { #tabbrowser-tabs:not(:-moz-lwtheme) { --tab-line-color: -moz-win-accentcolor !important; } } .tab-line[multiselected], .tab-line[selected="true"] { filter: brightness(2.34) saturate(.89); } /* Добавляем прозрачности и переводим в оттенки серого Favicon'ы (в неактивных вкладках) */ tab:not([selected="true"]) :-moz-any(.tab-icon, .tab-icon-image) { filter: grayscale(1) opacity(.7) } /* Добавляем вторую кнопку "Новая вкладка" */ .tabs-newtab-button, #new-tab-button { visibility:visible !important; } /* Добавляем выемку к левой границе кнопки "обновить", соответствующую по форме кнопке "назад" */ :root:not([uidensity="compact"]) #back-button { padding-inline-end: 0 !important; position: relative !important; z-index: 1 !important; border-radius: 0 10000px 10000px 0 !important; overflow: hidden !important; } :root:not([uidensity="compact"]) #back-button + #stop-reload-button { margin-inline-start: calc(-1 * var(--toolbarbutton-inner-padding)) !important; } :root:not([uidensity="compact"]) #back-button + #stop-reload-button :-moz-any(#reload-button,#stop-button) > .toolbarbutton-animatable-box { margin-inline-start: calc((16px + 4 * var(--toolbarbutton-inner-padding) - 18px) / 2) !important; } :root:not([uidensity="compact"]) #back-button + #stop-reload-button :-moz-any(#reload-button,#stop-button) > .toolbarbutton-icon { mask-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='40' width='40'><path d='M 0,40 C 1,40 9,33 9,20 9,7 1,0 0,0 H 40 V 40 Z' style='fill:black;'/></svg>") !important; mask-size: 100% 100% !important; mask-repeat: no-repeat !important; mask-origin: border-box !important; mask-position: center !important; padding-inline-start: calc(2 * var(--toolbarbutton-inner-padding)) !important; width: calc(3 * var(--toolbarbutton-inner-padding) + 16px) !important; } /* Автоматически скрываем кнопку "вперёд" когда она неактивна */ #forward-button { transition-duration: 0.2s !important; transition-property: margin-inline-start, transform !important; transition-timing-function: linear !important; transition-delay: 0s !important; } #forward-button[disabled="true"] { margin-inline-start: calc(-2 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding)) - 16px) !important; pointer-events: none !important; transform: scale(0, 0) !important; } #nav-bar-customization-target:hover #forward-button[disabled="true"] { transition-delay: 60s !important; } #nav-bar-customization-target:not(:hover) #forward-button[disabled="true"] { margin-inline-start: calc(-0.01px - (2 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))) - 16px) !important; transform: scale(0, 0.1) !important; } /* Вносим кнопку Quick Dial в адресную строку */ #nav-bar #quickdial_matmoul_com-browser-action { position: relative !important; } #nav-bar #quickdial_matmoul_com-browser-action + #urlbar-container { margin-inline-start: calc(-2 * var(--toolbarbutton-inner-padding) - var(--toolbarbutton-outer-padding) - 16px) !important; } #nav-bar #quickdial_matmoul_com-browser-action + #urlbar-container #identity-box { padding-inline-start: calc(2 * var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding) + 16px) !important; } #nav-bar #quickdial_matmoul_com-browser-action + #urlbar-container #urlbar { -moz-appearance: none !important; margin-inline-start: 0 !important; padding-inline-start: 0 !important; } /* Вносим кнопку "Classical Search Bar" в поисковую строку */ toolbar #_6905b838-e843-4ee3-9df0-b4c79673b21c_-browser-action { position: relative !important; } toolbar #_6905b838-e843-4ee3-9df0-b4c79673b21c_-browser-action + #search-container { margin-inline-start: calc(-2 * var(--toolbarbutton-inner-padding) - var(--toolbarbutton-outer-padding) - 16px) !important; } toolbar #_6905b838-e843-4ee3-9df0-b4c79673b21c_-browser-action + #search-container .searchbar-textbox > box:first-child { padding-inline-start: calc(2 * var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding) + 16px) !important; } toolbar #_6905b838-e843-4ee3-9df0-b4c79673b21c_-browser-action + #search-container .searchbar-textbox { -moz-appearance: none !important; margin-inline-start: 0 !important; padding-inline-start: 0 !important; } toolbar #_6905b838-e843-4ee3-9df0-b4c79673b21c_-browser-action + #search-container .searchbar-textbox :-moz-any(.searchbar-search-button,.search-go-button) { display: none !important; } /* Меняем размеры кнопки Гамбургер-меню */ toolbar #PanelUI-menu-button { padding: 0px 2px !important; --v-toolbarbutton-inner-padding-horizontal: 0px; /* по горизонтали */ --v-toolbarbutton-inner-padding-vertical: 7px; /* по вертикали */ --toolbarbutton-border-radius: 2px !important; /* радиус */ } toolbar #PanelUI-menu-button > .toolbarbutton-icon, toolbar #PanelUI-menu-button > .toolbarbutton-text, toolbar #PanelUI-menu-button > .toolbarbutton-badge-stack { padding: var(--v-toolbarbutton-inner-padding-vertical) var(--v-toolbarbutton-inner-padding-horizontal) !important; } toolbar #PanelUI-menu-button > .toolbarbutton-icon { width: calc(2 * var(--v-toolbarbutton-inner-padding-horizontal) + 16px) !important; height: calc(2 * var(--v-toolbarbutton-inner-padding-vertical) + 16px) !important; } /* Превращаем расширенное меню в таблицу с кнопками */ .panel-subview-body > #widget-overflow-fixed-list { padding-left: 6px !important; padding-right: 6px !important; display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 6px !important; grid-auto-rows: 60px !important; justify-content: stretch !important; grid-template-areas: "b z z z" !important; } .panel-subview-body > #widget-overflow-fixed-list > #edit-controls { grid-area: b !important; display: flex !important; flex-direction: row !important; } .panel-subview-body > #widget-overflow-fixed-list > #zoom-controls { grid-area: z !important; display: flex !important; flex-direction: row !important; } .panel-subview-body > #widget-overflow-fixed-list .toolbarbutton-1 > .toolbarbutton-icon, .panel-subview-body > #widget-overflow-fixed-list .toolbarbutton-1 > .toolbarbutton-badge-stack > .toolbarbutton-icon { width: 28px !important; height: 28px !important; padding: 0 !important; border: none !important; } .panel-subview-body > #widget-overflow-fixed-list .toolbarbutton-1::after, .panel-subview-body > #widget-overflow-fixed-list toolbarbutton:not(#zoom-reset-button).toolbarbutton-1 > :-moz-any(label,dropmarker) { display: none !important; } /* Изменяем ширину подменю FireX Proxy */ #PanelUI-webext-divanproger_gmail_com-browser-action-view /* Fire X Proxy */ { min-width: 420px !important; } /* Меняем цвет фона адресной и поисковой строк (в приватном режиме) */ #main-window[privatebrowsingmode="temporary"] #urlbar, #main-window[privatebrowsingmode="temporary"] .searchbar-textbox { background: rgba(128, 0, 215, 0.3) !important; } /* Открываем домашнюю страницу (при входе в приватный режим) */ @-moz-document url("chrome://browser/content/browser.xul") { #main-menubar > #file-menu > label.menubar-text { -moz-binding: url("data:text/xml;charset=utf-8,<bindings xmlns='http://www.mozilla.org/xbl'><binding id='privatebrowsing'><implementation><constructor><![CDATA[ if ('OpenBrowserWindow' in window) { let str = window.OpenBrowserWindow.toString(), regx = /defaultArgs\\s*=\\s*\"\\s*about\\:privatebrowsing\\s*\"\\s*\\;/g; if (regx.test(str)) { let newOpenBrowserWindow = 'window.OpenBrowserWindow = ' + str.replace(regx, 'console.log(\"load page: \" + defaultArgs);'); eval(newOpenBrowserWindow); } } ]]></constructor></implementation></binding></bindings>#privatebrowsing") !important; } }
@-moz-document regexp("moz-extension\:\/\/.*\/dial([\?].*)?") { :root { --qd-base-color: rgb(59, 36, 104); --qd-accent-color: rgb(80, 46, 126); } .Grid td > a { position: relative !important; } /* обычный */ .Grid td > a::after { content: "" !important; background: linear-gradient(transparent 0%, transparent 65%, var(--qd-base-color) 90%); position: absolute; top: 0; bottom: 0; left: 0; right: 0; } /* выделенный */ .Grid td > a:hover::after { background: linear-gradient(transparent 0%, transparent 65%, var(--qd-accent-color) 90%); } .Grid td > a > div:last-child { position: absolute !important; z-index: 1 !important; border: none !important; top: auto; bottom: 0; left: 0.5em; right: 0em; text-align: left !important; font-size: 12px !important; mask-image: linear-gradient(to left, transparent, black 2em); } .Grid ~ div[style*="position: fixed"] { z-index: 2 !important; } }
© уважением Neytrino.
Отсутствует
Neytrino, Очень даже опрятно получилось)
Отсутствует
Всем доброго дня.
Ребята, подскажите пожалуйста можно ли, и если можно то как сделать, чтобы на панели закладок отображалось то количество закладок, которое нужно, пусть даже в ущерб главному окну? У меня сейчас отображаются 6 строк. При попытке добавления закладок на панель, новая добавляется, а какая-то другая пропадает (становится невидимой), но при этом если я захожу через панель Меню в папку Закладки, то там все добавленные закладки есть. В файле userChrome.css в соответствующем блоке прописано вот так:
#PersonalToolbar {
-moz-box-ordinal-group: 2 !important;
max-height: 200px !important; /* максимальная высота панели закладок */
background: #dbebfa !important; /* фон панели закладок */
padding-left: 0 !important;
padding-right: 0 !important;
}
Когда меняю высоту например на 400px, ничего не меняется.
Можно ли как-то это решить?
Заранее большое спасибо откликнувшимся.
Отредактировано nbghost (24-01-2019 09:45:07)
Отсутствует
Отсутствует
drage2
у тебя тема то какая ? в нормальных темах отображается правильно,
нечего переделывать дефолтную тему если не понимаешь что делаешь.
#customization-panelWrapper:not(:-moz-lwtheme) > .panel-arrowcontent { color: white !important; background: black !important; }
#customization-panelWrapper:not(:-moz-lwtheme) > .panel-arrowcontent .toolbarbutton-1 { fill: white !important; }
Отредактировано Vitaliy V. (25-01-2019 18:16:32)
Отсутствует
Vitaliy V.
Первые коды и все класс! То, что надо , правда "заголовок"(customizeMode.titlebar) никак текст белым не могу сделать...hbox id и checkbox id реально парят ....
<hbox id="customization-footer"> <checkbox id="customization-titlebar-visibility-checkbox" class="customizationmode-checkbox" label="&customizeMode.titlebar;" oncommand="gCustomizeMode.toggleTitlebar(this.checked)"/>
Отредактировано drage2 (25-01-2019 21:27:04)
Отсутствует
реально парят ....
что с ними не так? добавляй color: white !important; но только не к checkbox
потому что при отключенном состоянии там другой цвет
к #customization-container:not(:-moz-lwtheme)
или к #customization-footer:not(:-moz-lwtheme)
Отсутствует
Vitaliy V.
Что-то я затупил , так получилось
.customizationmode-checkbox {
color: #fff !important;
}
Вот убрать "место для перетаскивания" - не выходит ....
<checkbox id="customization-extra-drag-space-checkbox" class="customizationmode-checkbox" label="&customizeMode.extraDragSpace;" oncommand="gCustomizeMode.toggleDragSpace(this.checked)"/>
Отредактировано drage2 (26-01-2019 14:13:48)
Отсутствует
Ребята! Помогите пожалуйста! Сил уже просто нет! Перерыл всё что мог! Я не айтишник, и мне не всё так просто даётся! Как подстроить под себя внешний вид нового меню закладок? Уже разобрался что надо файл userChrome.css сделать, сделал, слава богу вернулся желтый цвет папок! Теперь бьюсь с иконкой ссылок в закладках которые не имеют фавикона! Как изменить этот унылый серо-черный мячик на какое-то свое изображение? Ну просто до рвоты доводит! Сжальтесь честной народ - ткните мя мордой если уже было где-то говорено про эту хитрость! Или научите КАК?
Отредактировано LegosX (27-01-2019 01:20:43)
Отсутствует
Неужели никто до сих пор не задавался этим вопросом? Перерыл все папки и в профиле и там где установлен фаерфокс - нигде не могу найти этой иконки Или она как то программно формируется? В userChrome.css есть какой либо параметр отвечающий за неё?
Отсутствует
LegosX
Это defaultFavicon.svg omni.ja -chrome-toolkit-skin-classic-mozappps-places-defaultFavicon.svg
Или смени её или к Vitaliy V. на ликбез .
Отсутствует
LegosX
https://forum.mozilla-russia.org/viewtopic.php?pid=758911#p758911
Подставляешь свою в base64, как в примере или, например, так
var defaultFavicon = ".\image\globe.png";
Отсутствует
Вит
Если есть иконка, на любом онлайн-сервисе перекодировать в base64 (например, https://www.askapache.com/online-tools/base64-image-converter/ или https://icoconvert.com/) и заменить значение в var defaultFavicon. У меня такое
var defaultFavicon = "data:image/png;base64,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";
Можно не перекодировать, а просто подставить свою иконку, как указал выше
var defaultFavicon = ".\image\globe.png"; // типа лежит в папке image
Иконки можно утащить
https://findicons.com/
https://www.iconsearch.ru/
http://www.iconarchive.com/
Отредактировано xrun1 (27-01-2019 20:16:01)
Отсутствует
xrun1
Что-то не получается подставить свою иконку. Положил в папку image иконку png 16x16, вставил var defaultFavicon = ".\image\globe.png"; и опять тот же Глобус. Что я делаю не так?
А в редакторе, по вашей ссылке-получилось
Отредактировано Вит (27-01-2019 20:54:50)
Отсутствует