forest-w
У меня так, работает. Может кто-нибудь поправит, если неверно.
/* панели по умолчанию */ #urlbar:not(:-moz-lwtheme) > #urlbar-background, #searchbar:not(:-moz-lwtheme), #search-box:not(:-moz-lwtheme) { /* border: 2px solid green !important; /* установить толщину и цвет */ border-color: green !important; /* или только цвет */ } /* при наведении мышкой */ #urlbar:not(:-moz-lwtheme):hover > #urlbar-background, #searchbar:not(:-moz-lwtheme):hover, #search-box:not(:-moz-lwtheme):hover { border-color: Red !important; /* background-color: rgba(255, 255, 255, .62) !important; */ background-color: lightblue !important; box-shadow: none !important; } /* панель активна */ #urlbar:not(:-moz-lwtheme)[focused="true"] > #urlbar-background, #searchbar:not(:-moz-lwtheme):focus-within, #search-box:not(:-moz-lwtheme)[focused="true"] { border-color: Blue !important; background-color: #FFD700 !important; box-shadow: none !important; }
Добавлено 06-06-2023 11:57:16
Можно добавить для боковой панели. Исходный код здесь и вариант постом выше там же.
#search-box { -moz-appearance: none !important; appearance: none !important; border: 1px solid hsla(240,5%,5%,.25) !important; box-shadow: 0 1px 4px rgba(0,0,0,.05) !important; /* background-color: var(--lwt-sidebar-background-color, transparent) !important; color: var(--lwt-sidebar-text-color, currentColor) !important; */ font-style: normal !important; padding: 1px 2px !important; height: auto !important; min-height: 22px !important; border-radius: 5px !important; }
Отредактировано xrun1 (06-06-2023 11:57:16)
Отсутствует
Ночь не спал, но все же сделал то, о чем писал на предыдущей странице. Для темной темы
/* Agent sheet */ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace html url("http://www.w3.org/1999/xhtml"); @namespace parsererror url("http://www.mozilla.org/newlayout/xml/parsererror.xml"); @supports -moz-bool-pref("layout.css.moz-document.content.enabled") { @-moz-document url("about:devtools-toolbox") { html|*:root.theme-dark { /** цвет фона заголовков наследуемых правил в консоли и в инструментах браузера **/ --rule-header-background-color: hsl(30, 93%, 12%) !important; } } }
Отредактировано 6e73epo (06-06-2023 14:20:23)
Отсутствует
6e73epo
У меня не заработало. Какая версия , куда пихать?
Попробовал через userChrome и через ucf, результата нет.
Меня больше белое меню напрягает в инструментах браузера.
А зачем такой уникальный UA?
Отредактировано _zt (06-06-2023 15:32:56)
Отсутствует
forest-wУ меня так, работает. Может кто-нибудь поправит, если неверно.скрытый текстВыделить кодКод* панели по умолчанию */
К сожалению у меня не заработало, но спасибо за попытку помочь
Отсутствует
У меня не заработало. Какая версия , куда пихать?
Попробовал через userChrome и через ucf, результата нет.
Меня больше белое меню напрягает в инструментах браузера.
А зачем такой уникальный UA?
1) На версии 113 должно работать
2) пихать в user agent стили. Кто пользуется ucf, тот знает куда, подскажут. У меня нет ucf, поддержка агент и автор стилей добавлена через config.js
3) userChrome относится к интерфейсу, а консоль и инструменты браузера к контенту
4) если прописать в userContent, немного изменив код, то будет работать только для консоли, ибо для инструментов браузера не хватит важности
5) UA разный делаю, тестирую, какие сайты как определяют версию
6) для моего кода требуется в about:config установить layout.css.moz-document.content.enabled=true, чтобы в агент стилях можно было задействовать @-moz-document
7) для расширения области действия селекторов можно временно убрать @namespace и @-moz-document и тогда убрать также html|*
:root.theme-dark { /** цвет фона заголовков наследуемых правил в консоли и в инструментах браузера **/ --rule-header-background-color: hsl(30, 93%, 12%) !important; }
8) для светлой темы, наверное, будет просто :root
9) как только заработает код, то можно постепенно сужать область действия
Отсутствует
forest-wКак вариант -> https://github.com/Aris-t2/CustomCSSforFx/blob/master/current/css/locationbar/urlbar_background_color_dark.css
Спасибо! Сработало
Отсутствует
6e73epo
1. У меня 114
2-9. Не, не заработал в инструментах браузера, только в инструментах веб-разработки. По разному пробовал, возможно ucf уже устарел для таких кульбитов.
Отсутствует
возможно ucf уже устарел для таких кульбитов
При чём тут ucf ?
Написано же, что стиль регистрируется из config.js напрямую, читается откуда-то, или инлайн.
(async style => { var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(style)); var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); sss.loadAndRegisterSheet(uri, sss.USER_SHEET); })(`@-moz-document url(chrome://devtools/content/inspector/index.xhtml) { :root { --rule-header-background-color: aqua !important; } }`);
Отсутствует
стиль регистрируется из config.js напрямую, читается откуда-то, или инлайн
Для меня лучше отдельными файлами. Довольно продолжительное время пользуюсь таким кодом для config.js, где то найденным в интернете и немного мной модифицированным. Плохо разбираюсь, можешь посмотреть? Может асинхронный вызов нужен или что-то лишнее. Если правильно понял, то здесь идет пропуск отладочного профиля и есть возможность задать любое имя стилевым файлам, например, *.ag.css
(function() { let sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); function traverseToMainProfile(str) { let dir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get(str, Ci.nsIFile); if (!dir.exists()) { let toAddChrome = false; while (dir.target.includes("chrome_debugger_profile")) { dir = dir.parent; toAddChrome = true; } if (toAddChrome) dir.append("chrome"); } return dir; } let chromeDir = traverseToMainProfile("UChrm"); let files = chromeDir.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator); if (!files) return; while (files.hasMoreElements()) { let file = files.getNext().QueryInterface(Ci.nsIFile); let name = file.leafName; if (!file.isFile()) continue; if (/\.(?:au||ag||us)\.css$/i.test(name)) { let typePrefix = name.split(".")[1]; let type, typeString; switch (typePrefix) { case "au": type = sss.AUTHOR_SHEET; typeString = "author sheet"; break; case "ag": type = sss.AGENT_SHEET; typeString = "agent sheet"; break; case "us": type = sss.USER_SHEET; typeString = "user sheet"; break; } let io = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); let uri = io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler).getURLSpecFromDir(chromeDir); sss.loadAndRegisterSheet(io.newURI(uri + name), type); } } })();
Отсутствует
Dumby
Теперь понял, меня ввело в заблуждение утверждение тв. 6e73epo:
2) пихать в user agent стили. Кто пользуется ucf, тот знает куда, подскажут.
И все молчат как партизаны, не единожды поднимался вопрос применения стилей к этому окну и всегда одно и тоже:
надо разворачивать в дебаггерском профиле
а тут сразу два способа и оба без дебаг-профиля. Не было ни гроша и тут алтын. Наконец то, спустя годы, я себе контекстные меню настроил в этом окне.
Отредактировано _zt (07-06-2023 17:33:51)
Отсутствует
можешь посмотреть?
Это слегка оффтопик здесь, но попробую написать пару слов.
Может асинхронный вызов нужен
Нет, асинхронный вызов нужен (в смысле как обязателен)
только если предполагается использовать внутри await.
А в примере он используется как бы вместо try-catch, то есть,
асинхронная обёртка сразу возвращает promise, и нижепоследующий
код (если есть) идёт исполняться дальше. А код внутри обёртки — ну как получится.
идет пропуск отладочного профиля
Судя по коду, да. Но только если в дебаггерском профиле
нет папки chrome, иначе будет использована она.
или что-то лишнее
Да, всё, что связано с переменной typeString, определённо, лишнее.
Для найденных стилевых файлов она устанавливается, но затем нигде не используется.
И, полагаю, в регулярном выражении /\.(?:au||ag||us)\.css$/i
эти вот две "палочки" || лишние, достаточно одной.
Сомневаюсь, что имелось в виду, что оно должно соответствовать ещё и чему-то,
содержащему две подряд точки перед оконечным css, типа mystyle..css
Видимо, просто опечатка по аналогии с js-оператором.
возможность задать любое имя стилевым файлам, например, *.ag.css
Пустяк, конечно, но возможны проблемы с именем, содержащим точки.
Например, alpha.beta.gamma.au.css
Для него, результатом выражения name.split(".")[1] будет "beta", а не "au".
Наверно, лучше использовать что-то типа name.slice(-6, -4);
или подрядить относительно молодой метод at() — name.split(".").at(-2);
Вобщем, там можно долго ещё копаться, код местами странный и олдскульный,
однако, если работает, то лучше не трогать, ещё не хватало что-нибудь испортить.
Отсутствует
Dumby, ок, благодарю. Под все случаи не подстроишься или код довольно громоздким выйдет, в итоге сократил до такого
(function() { let chromeDir = Services.dirsvc.get("UChrm", Ci.nsIFile); if (chromeDir.parent.leafName === 'chrome_debugger_profile') { chromeDir = chromeDir.parent.parent; chromeDir.append("chrome"); } chromeDir.append("userChrome_ag.css"); let chromeFile = Services.io.newFileURI(chromeDir); let sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); sss.loadAndRegisterSheet(chromeFile, sss.AGENT_SHEET); })();
Отсутствует
doud
@namespace html "http://www.w3.org/1999/xhtml"; @-moz-document url("about:preferences"), url("chrome://browser/content/preferences/preferences.xhtml") { #helpButton.sidebar-footer-link { display: none !important; visibility: collapse !important; } }
Жизнь иногда такое выкидывает, что хочется подобрать...
На форуме
Спасибо, кнопка удалилась и без @namespace html ... и visibility. Еще такой вопрос- как скрыть мелкий серый текст "Недавняя история" в кнопке "Показать ваш журнал"?
Отсутствует
"Недавняя история" в кнопке "Показать ваш журнал"
не смог у себя воспроизвести, это где? или это отдельная кнопка.
Жизнь иногда такое выкидывает, что хочется подобрать...
На форуме
Она называется "Журнал"
@namespace html "http://www.w3.org/1999/xhtml"; @-moz-document url("chrome://browser/content/browser.xhtml") { #PanelUI-history.PanelUI-subView #panelMenu_recentHistory.subview-subheader { display: none !important; visibility: collapse !important; } }
Жизнь иногда такое выкидывает, что хочется подобрать...
На форуме
Farby, к сожалению не удалилась. Добавлял в userContent.css...Потом добавил в userChrome.css и все получилось! Спасибо!
Отредактировано doud (09-06-2023 13:48:22)
Отсутствует
_zt, я делал для своей конфигурации, чтобы без дополнительных проверок. У меня портабельный браузер. Папка "chrome" находится в папке профиля вместе с папкой "chrome_debugger_profile". В папке "chrome" лежит файл userChrome_ag.css. Профиль один, имеет жестко заданное мною имя. А у тебя как все расположено? Ошибка возникает при запуске браузера или при запуске инструментов разработчика?
Отсутствует
6e73epo
Все также, только chrome_debugger_profile у меня удаляется при выходе. Мусор не храню.
Где название профиля в скрипте? Раз об этом особо упомянуто, имя должно быть задано в скрипте.
На второй вопрос ответ в посте выше.
Отредактировано _zt (09-06-2023 19:54:15)
Отсутствует
И еще хочется убрать тень (затухание) на тексте в табах.
скрытый текстВыделить кодКод:
/* <firefox_profile_dir>/chrome/userChrome.css */ hbox[class="tab-label-container"][textoverflow] { /* отключить градиентный эффект при обрезке заголовка вкладки */ /* данная величина задана в файле `<firefox_installation_dir>/browser/omni.ja!/chrome/browser/content/browser/tabbrowser.css:63' */ mask-image: unset !important; }
Кто-нибудь знает код для отключения в современном ? Этот не работает.
Или чтобы поле вокруг крестика на табе при наведении курсора появлялось поверх этого градиента, а не моргало вместо него. Как было в 88- версии.
Отсутствует