добавить подключение стилей по имени в зависимости от OS
Да, но для стилей есть медиа запросы, например:
@media (-moz-platform: macos) {
код для macos
}
@media (-moz-platform: linux) {
код для linux
}
@media (-moz-platform: windows) {
код для windows
}
Скрипты же тем более могут определить OS, я не против добавить но в каких случаях это необходимо?
Т.е. код выше равен коду ниже?
Да все верно, https://developer.mozilla.org/en-US/doc … SS_nesting
Кстати At-rules в том числе медиа запросы тоже могут быть вложенными в селектор https://developer.mozilla.org/en-US/doc … g_at-rules
исправил совместимость с UCF 2024.
Firefox/config.js может грузить старую и новую версию UCF
Немного запоздало я как раз недавно обновил несколько файлов config.js user_chrome.js vertical_top_bottom_bar.css
https://github.com/VitaliyVstyle/Vitali … /config.js
А есть редактор, в котором можно этот новый формат стилей вернуть к старому виду?
Насчет [windows] не в курсе, можно попробовать Visual Studio Code там поищите расширения sass/scss (сам не пробовал подобные расширения)
В Arch Linux хорошо работает такая консольная утилита
Ну как хорошо, вот стиль выше преобразованный данной утилитой
[spoiler][code]:root {
--urlbar-min-height: max(28px, 1.4em) !important;
--urlbar-icon-padding: 4px !important;
--urlbar-container-padding: 0px !important;
--urlbar-icon-border-radius: 0px !important;
--urlbar-margin-inline: 1px !important;
--focus-outline-width: 1px !important;
--v-urlbar-searchbar-border-radi
egorsemenov06
У вас похоже много лишнего в стилях вот на замену (только то что касается строки адреса, поиска и выпадающих панелей), пробуйте сначала вообще без других стилей, потом добавите что не хватает
[spoiler][code]:root {
--urlbar-min-height: max(28px, 1.4em) !important;
--urlbar-icon-padding: 4px !important;
--urlbar-container-padding: 0px !important;
--urlbar-icon-border-radius: 0px !important;
--urlbar-margin-inline: 1px !important;
--focus-outline-width: 1px !important;
--v-urlbar-searchbar-border-radius: calc(var(--urlbar-min-height) / 2);
}
:root[uidensity=touch] {
--urlbar-min-height: max(34px, 1.4em) !important;
--urlbar-margin-inline: 5px !important;
}
#urlbar-container,
#search-container {
padding: 1px 0 !important;
margin: 0 var(--urlbar-margin-inline) !important;
&[breakout] {
position: relative !important;
min-height: var(--urlbar-container-height) !important;
}
#urlbar, #searchbar {
А еще как сделать белую адресную и поисковую строки с голубой обводкой как в светлой так и в темной теме без этих шторок
Так какой темой пользуетесь светлой или темной? Зачем делать везде одинаково не пойму если вы хотите из темной темы сделать светлую я пас.
И что шторками называете, без них это как? Если уж изменяете цвета в стилях (хотя это темы должны делать) то можно использовать функцию light-dark()
она возвращает первое значение для светлой темы и второе для темной, например
background-color: light-dark(rgba(255,255,255,0.8), rgba(10,10,15,0.6)) !important;
egorsemenov06
Системная тема может быть как светлой так и темной я так понял у вас светлая, но с этим стилем и со светлой темой текста не видно он белый.
Исправьте во всех стилях visuallyselected="true" --> visuallyselected
Чтобы текст был черным на активных вкладках можно добавить в :root {
--tab-selected-textcolor: black !important;
Просто для компактного режима, мне так кажется, значения лучше поменьше
Со значениями это свои используйте, да и компактный режим только через about:config включается
В версиях UCF от 2024-3-2 и 2024-3-7 незначительно изменился файл vertical_top_bottom_bar.css, который есть в UserChromeFiles_Fix_115_ESR.zip.
Это для вертикальной панели, когда для панели закладок включенно "отображать только на новой вкладке" не корректно верт. панель была поверх панели закладок.
А для 115 ESR нормально это не требуется.
data:image
А ну да, забыл уже давно не использую data:image, отдельным файлом загружайте и не будет ошибки
Как по мне, лучше старый код, работает
Что именно лучше ? Там плюс минус одно и то же
6e73epo
Получится, данная CSP не влияет на стили, но смотря куда вы добавляете и как, если в userChrome.css понятно не сработает нужно в userContent.css или в UCF ...
egorsemenov06
Это и для доп. панели если не нужно удалите #ucf-additional-top-bar, из кода
[spoiler][code]#ucf-additional-top-bar,
#ucf-additional-vertical-bar,
#ucf-additional-bottom-bar {
--toolbarbutton-border-radius: 2px !important;
--toolbarbutton-outer-padding: 1px !important;
--toolbarbutton-inner-padding: 4px !important;
:root[uidensity="compact"] & { /* компактный режим */
--toolbarbutton-outer-padding: 1px !important;
--toolbarbutton-inner-padding: 4px !important;
}
:root[uidensity="touch"] & { /* мобильный режим */
--toolbarbutton-outer-padding: 2px !important;
--toolbarbutton-inner-padding: 9px !important;
}
.toolbarbutton-badge {
margin-top: calc(-1 * var(--toolbarbutton-inner-padding)) !important;
margin-inline-end: calc(-1 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))) !important;
border-radius: var(--toolbarbutton-border-radius) !important;
}
Но тогда, да, действительно, мы получим вообще всё и сразу
Что ж пусть так и будет. Модули только нужно подгружать по необходимости
https://github.com/VitaliyVstyle/Vitali … me.js#L177
сразу скопировать
их с глобального объекта модулей
Это типа оператором присваивания ?
scope.TextEncoder = UcfPrefs.global.TextEncoder
или же Object.assign() использовать
Можно ещё в виде прототипа все унаследовать
sandboxPrototype: UcfPrefs.global,
но тогда нужно будет опять загружать CustomizableUI и UcfPrefs
Dumby
https://github.com/VitaliyVstyle/Vitali … fs.mjs#L46
Проверил сработало на BROWSER_UI_CONTAINER_IDS и код по ссылке
Но чтобы не мусорила BrowserUsageTelemetry просто переопределил
функцию onViewToolbarCommand https://github.com/VitaliyVstyle/Vitali … ar.js#L143
Также убрал Lazy, побавил TextEncoder TextDecoder https://github.com/VitaliyVstyle/Vitali … me.js#L179
…Я уже упоминал, что, увы, для некоторых задач, необходим дебаггер
Ну именно для BrowserUsageTelemetry я бы не стал добавлять его, но если нужно для некоего кода в custom_script.js что если добавить этот модуль
он делает часть работы ?
ChromeUtils.defineESModuleGetters(scope, {
...
addDebuggerToGlobal: "resource://gre/modules/jsdebugger.sys.mjs",
addSandboxedDebuggerToGlobal: "resource://gre/modules/jsdebugger.sys.mjs",
});
egorsemenov06
А это весь код выложен? У меня не работает прозрачность выпадающей панели адресной строки с вашим кодом,
но попробуйте добавить переменную в блок где у вас /* Прозрачность */ может поможет
--urlbarView-hover-background: rgba(255,255,255,0.1) !important;
Кстати, Console.sys.mjs же собираются выпилить
Да уж 6 лет выпиливали Console.jsm не выпилили, выпилили jsm теперь Console.sys.mjs выпиливают
Когда был проект встроить в UCF дебаггер
Что за проект? Нашел только настройки
extensions.user_chrome_files.debug
extensions.user_chrome_files.expert
05-03-2024 18:32:38
BrowserUsageTelemetry мусорит
Её вообще выпиливать нужно а не id'шники в BROWSER_UI_CONTAINER_IDS добавлять
Наоборот.
В цикле всё равно идёт перебор свойств, где для каждого из них
низачем создаётся своя отдельная функция и назначается как геттер.Когда случится обращение к этому свойству,
геттер-функция низачем проверит, есть ли такое свойство в SystemGlobal,
ведь оно есть и было, перезапишет как свойство сандбокса, и вернёт значение.
Да это понятно но следует добавить что это происходит только один раз при первом вызове
Создание множества этих функций, которые проверяют уже заранее известное,
и возвращающих нечто заведомо существующее — это и есть «лишнее».
Так а где гарантии что это сейчас заведомо существующее не станет потом просто существующим или вообще не существующим.
А лишнее для меня то что не требуется для работы основных функций UserChromeFiles
Мне кажется лишним код с разными переводами. Может оставить просто английский, кому надо, сами переведут в коде
Предлагаете переводить юзерам в коде потому что вам сложно разобраться с кодом а им типа легко.
Не не вариант с локалью проще добавить новый язык просто создать в папке locales папку с названием идентификатора нужного языка и в ней файлы .ftl с переводом.
Мне и одного вполне хватает, если код от этого будет меньше и выпиливать будет легче. Да, можно просто под коврик спрятать все эти потроха, но они и там в глаза бросаются. Вместо одного spring, висят аж 4
Первое пробовали отключить в настройках ненужные панели? Вместе с панелями отключаются и соответствующие кнопки, интервалы
И в коде лучше не выпиливать если не ориентируетесь, можно добавить данный код в custom_script.js или в другой подключенный в scriptsbackground
и эти кнопоки, интервалы будут удалятся до того как попасть на панели или хранилище
[spoiler][code](ids => ({
i
AR: Ничего не происходит, локализация остаётся ru.
Да, я понимаю, что STR довольно экзотичен.
Но, может быть, заменить appLocalesAsBCP47 на availableLocales
Т. е. не происходит без перезагрузки ? Так и не было цели чтобы локали изменялись без перезагрузки, на панелях и кнопках UCF вообще ничего не происходит там просто при старте браузера один раз выбирается наиболее подходящая локаль и все, DOMLocalization не следит за ними.
А appLocalesAsBCP47 вполне достаточно для этого
[spoiler] /**
* Returns a list of locales that the application should be localized to.
*
* The result is a ordered list of valid locale IDs and it should be
* used for all APIs that accept list of locales, like ECMA402 and L10n APIs.
*
* This API always returns at least one locale.
*
* When retrieving the locales for language negotiation and matching
* to language resources, use the language tag form.
* When retrieving the locales for Intl API or ICU locale setting
115 ESR
Хорошо т. к. 128 ESR выйдет в июле судя по графику, сделал патч для 115 ESR,
заменить файлы css из этого архива https://github.com/VitaliyVstyle/Vitali … 15_ESR.zip
Вопрос. Какая минимальная версия [firefox] будет работать с новой сборкой?
Полноценно с [firefox] 117, но можно в [firefox] 115 запустить, не будут работать некоторые стили (в том числе настройках)
нет поддержки вложения селекторов https://developer.mozilla.org/en-US/doc … SS_nesting
В общем не сложно добавить поддержку со 115 версии только зачем
UserChromeFiles обнова https://github.com/VitaliyVstyle/Vitali … hromeFiles
На старых версиях [firefox] работать не будет т. к.
ESM, CSS3, Fluent (для локализации, пока добавленно три языка en-US, uk, ru)
Да, как-то пробовал нарезать тамошние SVG'шки вручную.
Когда иконки разделены на отдельные файлы то при первом нажатии иконка не загруженная в память может появлятся с задержкой.
Да и потом зачем переделывать координаты когда это делается проще, пример с
autoplay.svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> <view id="5" viewBox="0 16 16 16"/> <view id="1" viewBox="0 32 16 16"/> <g style="fill:none;stroke:context-fill;stroke-opacity:context-fill-opacity;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;"> <path d="M4.4 5.4V1.6H.6m3.4.2C3.1 2.1.6 4 .6 8S4 15.4 8 15.4 15.4 12 15.4 8s-2.9-6-3.8-6.5M4.4 21.4v-3.8H.6m3.4.2C3.1 18.1.6 20 .6 24S4 31.4 8 31.4s7.4-3.4 7.4-7.4-2.9-6-3.8-6.5M4.4 37.4v-3.8H.6m3.4.2C3.1 34.1.6 36 .6 40S4 47.4 8 47.4s7.4-3.4 7.4-7.4-2.9-6-3.8-6.5"/> <path d="M6.6 4.6 10 8l-3.4 3.4ZM6.6 27.4v-6.8m3 0v6.8M6.6 43.4v-6.8M9.6 36.6 13 40l-3.4 3.4Z"/> </g> </svg>
Раз jsm-ки скоро отвалится, то весь UCF и CustomStylesScripts.jsm и CustomStylesScriptsChild.jsm тоже перестанут работать?
ESM модули вместо них, несложная конвертация модулей jsm --> mjs, у меня уже работает на FF 103