Как можно заставить Firefox полностью игнорировать мою тему GTK?
У меня есть темная тема GTK, установленная в моей установке Ubuntu 10.10, и персона, установленная для Firefox, которая мне тоже нравится.
Проблема в том, что Firefox использует мою темную тему GTK для таких элементов, как кнопки и текстовые поля на общих веб-страницах, и это обычно создает нечитаемые меню, текстовые области и кнопки. (белый текст на белом фоне или черный текст на черных кнопках).
Я не хочу менять ни одну из этих тем, потому что они отлично смотрятся в любом другом приложении, и я не хочу делать что-то сумасшедшее с моей установкой Firefox, например использовать пользовательские скрипты или переопределения CSS.
Все, что я хочу сделать, это сказать Firefox, чтобы он прекратил полностью использовать мою тему GTK. Похоже, это то, что делает браузер Google Chrome, и это наиболее логично.
Как веб-разработчики могут обойти все возможные темы GTK?
13 ответов
Запустите Firefox с помощью одной из следующих команд:
- GTK3 Firefox 46+:
env GTK_THEME=Adwaita:light firefox
- GTK2 Firefox <46:
env GTK2_RC_FILES=/usr/share/themes/Simple/gtk-2.0/gtkrc firefox
Это запустит Firefox с помощью темы Simple/Adwaita:light, которая довольно проста и должна сочетаться с вашей персоной. Вы можете попробовать другие темы, заменив Simple на имя темы, но это работает не со всеми темами.
До сих пор я успешно тестировал темы Simple и Redmond...
До
После
Постоянное решение:
Вы можете указать легкую тему GTK для рендеринга веб-страниц в about:config. Это здорово, потому что ваша системная тема будет по-прежнему применяться для меню и т. Д., Но веб-страницы будут отображаться так же, как и со светлыми темами.
- Перейдите к
about:config
в вашем браузере Firefox - Щелкните правой кнопкой мыши и выберите new->string
- Войти
widget.content.gtk-theme-override
как имя - Введите легкую тему GTK, которую вы установили в своей системе для значения. например
Arc
- Перезапустите Firefox.
Смотрите также https://bugzilla.mozilla.org/show_bug.cgi?id=1283086
ОБНОВЛЕНИЕ: мой оригинальный ответ на самом деле перезаписывается при обновлении Firefox.
Мое текущее (постоянное) решение
редактировать~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(где abcdef - случайная строка)
добавлять
input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']), textarea, select {
-moz-appearance: none !important;
background-color: #eee;
color: #111;
}
Оригинальный ответ
Я нашел решение, чтобы Firefox полностью игнорировал вашу тему GTK.
редактировать /usr/share/applications/firefox.desktop
и изменить
Exec=firefox %u
в
Exec=bash -c 'GTK_THEME=" " firefox %u'
Когда вы (пере) запускаете FF, он будет использовать только тему FF.
Я хотел бы добавить к великолепному ответу @lovinglinux способ заставить Firefox загружать тему при открытии из панели запуска на панели задач вместо командной строки:
- Отредактируйте /usr/share/applications/firefox.desktop как sudo,
В строке "Exec" замените значение после "=" командой, используя инструкции, указанные в упомянутом @lovinglinux:
bash -c 'GTK2_RC_FILES = / usr / share / themes / Redmond / gtk-2.0 / gtkrc firefox% u'
И результат такой:
Существует очень простой способ вернуть цветовую схему по умолчанию для веб-страниц, сохраняя при этом тему GTK для элементов Firefox. Я знаю, что это не совсем то, о чем спрашивали, но это может помочь людям, приходящим сюда из поиска Google.
- Перейдите к
about:config
в вашей адресной строке. - Прокрутите вниз, пока не увидите настройки
browser.display.foreground_color
browser.diaplay.background_color
- Если эти настройки были изменены, щелкните их правой кнопкой мыши и выберите
reset
,
Это должно быть, перезагрузка не требуется. Это работает с Firefox Quantum.
Лучшее решение сказать Firefox, что он должен использовать светлую тему вместо темной, - указать переменную GTK_THEME перед запуском.
Итак, 4 способа получить за это..
1- из терминала вы можете сделать:
GTK_THEME=Adwaita:light firefox
2 - если вы ненавидите терминал и хотите закрыть его, как только Firefox заработает:
GTK_THEME=Adwaita:light firefox &
3- из firefox about:config вы можете установить следующее значение false:
browser.display.use_system_colors
НЕ РАБОТАЕТ ДЛЯ ЛОКАЛЬНЫХ САЙТОВ! так что если вы веб-разработчик / дизайнер, это не сработает для вас.
4 - если вы хотите, чтобы это было поведение по умолчанию:
Просто добавьте две строки в скрипт запуска Firefox, расположенный по адресу /usr/lib/firefox/firefox.sh
в терминале введите вниз:
sudo gedit /usr/lib/firefox/firefox.sh
посмотрите на начало сценария для этого:
MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox
export MOZ_APP_LAUNCHER
и измените это на это:
MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox
GTK_THEME=Adwaita:light
export MOZ_APP_LAUNCHER
export GTK_THEME
Наконец, перезапустите Firefox.
Надеюсь это поможет.
Пожалуйста, помогите мне, проголосовав за это.
Спасибо:)
Это дополнение (предложенное koushik) хорошо работает для меня.
Я использую Firefox 57 на Ubuntu MATE 17.10
Я использую Adwaita dark theme
с Ubuntu 18
, Я использую тему по умолчанию в firefox 63.0
, Лучшее решение в моем случае, без каких-либо побочных эффектов, было заставить Firefox использовать легкую тему (Adwaita
в моем случае) только для рендеринга веб-контента:
- открыто
about:config
в адресной строке. - Создайте новую строковую запись:
widget.content.gtk-theme-override
(щелкните правой кнопкой мыши> Создать> Строка). - Установите значение для светлой темы, чтобы использовать для визуализации контента (
Adwaita
в моем случае). - Перезапустите Firefox.
Изменить тему GTK только для обработки контента
Вы можете запустить Firefox с другим пользователем и тем же профилем. Скопируйте ваш текущий профиль (~/.mozilla/firefox/profile) в папку этого другого пользователя, преобразуйте его в пользователя и запустите на консоли:
su newuser
firefox -profilemanager
Это звучит немного излишне, но вы можете поместить это в сценарий. Firefox будет использовать тему в профиле, но оставит без изменений GTK от нового пользователя.
Кроме того, это тот тип вещей, который делает забавным использование Firefox и Ubuntu:P
Лично мне нравится использовать темную тему для Firefox, но я не хочу использовать темную тему для веб-сайтов. Недавно Google и другие веб-сайты, такие как archwiki, начали использовать
prefers-color-scheme
в их css для автоматического переключения на темную или светлую тему вашего браузера.
В Firefox версии 95 все, что мне нужно было сделать, это перейти к
about:config
и изменить значение
layout.css.prefers-color-scheme.content-override
к
1
.
После внесения изменений перезапустите браузер и обязательно очистите файлы cookie.
Следует отметить, что это относится к поиску Google и другим страницам, когда пользователь не вошел в систему. Вам также может потребоваться настроить индивидуальные пользовательские настройки для таких веб-сайтов, как Twitter, Facebook и Google, которые также используют независимые темные настройки для каждого пользователя. поскольку эти настройки не зависят от вашего GTK и/или темы браузера.
Решение Bannaz прекрасно работает, поскольку я не использую файлы.desktop, но иногда (или, может быть, каждый раз), когда я обновляю Firefox, мой патч к скрипту запуска исчезает.
Поэтому мое решение заключается в том, чтобы создать новый файл сценария запуска, который устанавливает предпочитаемую тему GTK, выполняет оригинальный сценарий запуска и на него не влияет обновление.
Оригинальный лаунчер в моей системе находится по адресу /usr/bin/firefox
,
Я создал новый лаунчер, расположенный на /usr/bin/local/firefox
содержащий следующее:
#!/bin/sh
export GTK_THEME=Adwaita
exec /usr/bin/firefox "$@"
Измените расположение путей в соответствии с вашей системой. И не забудьте сделать его исполняемым:
sudo chmod +x /usr/local/bin/firefox
Вы можете добавить другую тему в Firefox, которая вам нравится, из Tools -> Addons -> Themes. Тогда просто используйте эту тему вместо темы по умолчанию.
Я пришел к этому вопросу, задаваясь тем же вопросом, после того, как устал от ошибок с реализацией GTK в Firefox, однако, поскольку ни один из ответов сейчас действительно не избавляет от интеграции GTK, я решил попытаться удалить как можно больше интеграции GTK в Firefox.
Конечным результатом является https://github.com/dominichayesferen/Firefox-CSSTheme-GTKless. Это не полное удаление использования темы GTK из-за ограничений userChrome, но оно охватывает большую часть того, что можно изменить с помощью userChrome.
Скорее всего, вы могли бы полностью удалить использование темы GTK с модификацией исходного кода, но я, к сожалению, не знаю, как это сделать.