Як можна змусити Firefox повністю ігнорувати мою тему GTK?


50

У мене встановлено темну тему GTK, встановлену в моїй установці Ubuntu 10.10, і персону, встановлену для Firefox, що мені також подобається.

Проблема полягає в тому, що Firefox використовує мою темну тему GTK для елементів, таких як кнопки та текстові поля на загальних веб-сторінках, і це зазвичай створює нечитабельні меню, текстові області та кнопки. (білий текст на білому тлі або чорний текст на чорних кнопках).

Я не хочу змінювати жодну тему, тому що вони чудово виглядають у будь-якому іншому додатку, і мені не хочеться робити щось божевільне для моєї установки Firefox, як, наприклад, користувацькі сценарії користувачів або переосмислення CSS.

Все, що я хочу зробити, - це сказати Firefox повністю припинити використання моєї теми GTK. Це, мабуть, те, що робить браузер Google Chrome, і це має найбільш сенс на сьогодні.

Як веб-розробники можуть обходити всі можливі теми GTK там?


Мені цікаво, чи є у когось постійне рішення для цього, тому я можу просто запустити firefox зі вкладки / вікна діяльності Gnome 3 ...
MarioDS

@MDeSchaepmeester: Дивіться відповідь, яку я додав сюди для KDE, можливо, вона працює і для Gnome: askubuntu.com/a/358493/154613
Ігор Родрігес

Є додаткові рішення, в тому числі і те, що працювало на мене, щодо пов'язаного питання askubuntu.com/q/227727/23786 .
CodeMouse92

Відповіді:


36

Запустіть 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, яка є досить базовою і повинна поєднуватися з вашою Persona. Ви можете спробувати інші теми, замінивши Simple на ім’я теми, але це працює не з усіма темами.

Поки я успішно пройшов тестування з простими та редмондськими темами ...

Раніше

Раніше

Після

Після


це працювало для Mw лише з темами "нова хвиля" та "Редмонд", але це все одно спрацювало, тому я дуже великий. Скріншоти завжди також цінують :)
tamale

Це круто!!!
RolandiXor

що вам потрібно зробити після виходу з поточного екземпляра firefox, звичайно, або сценарій "firefox" просто доручить поточному процесу відкрити нове вікно (а налаштування GTK2_RC_FILES просто ігнорується).
sylvainulg

2
Яка найновіша версія Firefox, з якою, як відомо, працює? Я використовую Firefox 31 на Ubuntu Utopic і, клянусь, це працювало для мене колись, але я повинен бути галюцинаційним, оскільки він більше не працює, незалежно від того, що я намагаюся.
robru

4
Це більше не працює з Firefox 46 через перехід на GTK 3.
Костянтин Переяслов

46

Постійне рішення:

Ви можете вказати легку тему GTK, яку слід використовувати для візуалізації веб-сторінок у: config. Це чудово, тому що ваша системна тема все ще застосовуватиметься до меню тощо, але веб-сторінки відображатимуться як легкі теми.

  1. Перейдіть до about:configсвого браузера Firefox
  2. Клацніть правою кнопкою миші та виберіть рядок new->
  3. Введіть widget.content.gtk-theme-overrideяк ім'я
  4. Введіть для цього значення легку тему GTK, встановлену у вашій системі. напрArc
  5. Перезапустіть Firefox.

Джерело: https://www.reddit.com/r/firefox/comments/6rbvvw/photon_rectangular_tabs_have_landed_in_nightly/dl4318f/

Дивіться також https://bugzilla.mozilla.org/show_bug.cgi?id=1283086


2
Я люблю це, і це працює. Збережіть налаштування в самому Firefox, а не дещо незрозумілому в системі чи записі на робочому столі :)
jocull

І це не потрібно для перезавантаження Firefox. Він застосовується миттєво.
Massood Khaari

1
Це було б приємним варіантом, за винятком того, що він більше не працює. Який сором! Запуск Firefox вночі 69.0a1
smac89

Все ще для мене працює над стабільною версією. Коли 69.0 обійдеться, я повторно оціню.
rviertel

9

Я хотів би додати до чудової відповіді @lovinglinux спосіб змусити Firefox завантажувати тему, коли вона відкривається із запуску на панелі завдань замість командного рядка:

  1. Редагувати /usr/share/applications/firefox.desktop як sudo,
  2. У рядку "Exec" замініть значення після "=" командою, використовуючи вказівки, надані згаданим @lovinglinux:

    bash -c 'GTK2_RC_FILES = / usr / share / themes / Redmond / gtk-2.0 / gtkrc firefox% u' Редагування Kate firefox.desktop

І результат такий:

Firefox з темою Redmond та всі інші програми з темною темою


1
Дякуємо, що показали, як змінити файл .desktop. Це робить його дуже зручним! Я використовую ваше рішення для LibreOffice.

Файл на робочому столі перезаписується щоразу, коли Firefox оновлюється, тому це не є постійним рішенням
rviertel

8

ОНОВЛЕННЯ : Моя оригінальна відповідь фактично перезаписується після оновлення 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.


1
Це працює. Btw я використовую Exec=bash -c 'GTK_THEME=Arc-Darker firefox %u'.
mja

Це не працює довго, оскільки файл .desktop перезаписується при оновленні firefox
rviertel

@rviertel ви маєте рацію, це все переписується. Я оновив свою відповідь моїм поточним рішенням цієї проблеми.
barro32

2

Найкраще рішення сказати 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.

Сподіваюся, це допомагає.

Будь ласка, допоможіть мені, проголосувавши це.

Дякую :)


Це працювало для мене. Дякую! +1
VenoM


2

Існує дуже простий спосіб повернути кольорову схему за замовчуванням для веб-сторінок, зберігаючи свою тему GTK для елементів Firefox. Я знаю, що це не саме запитання, але це може допомогти людям, які приїжджають сюди з пошуку в Google.

  1. Перейдіть about:configу свій адресний рядок.
  2. Прокрутіть вниз, доки не з'являться налаштування
    • browser.display.foreground_color
    • browser.diaplay.background_color
  3. Якщо ці налаштування були змінені, клацніть правою кнопкою миші та виберіть reset.

Це повинно бути, перезапуск не потрібен. Це працює з Firefox Quantum.

Налаштування про: config


2

Я використовую Adwaita dark themeс Ubuntu 18. Я використовую тему за замовчуванням у firefox 63.0. Найкращим рішенням у моєму випадку без побічних ефектів було змусити Firefox використовувати легку тему ( Adwaitaв моєму випадку) лише для візуалізації веб-вмісту:

  • Відкрити about:configв адресному рядку.
  • Створіть новий рядок: widget.content.gtk-theme-override(клацніть правою кнопкою миші> Створити> Рядок).
  • Встановіть значення для легкої теми, яка використовується для візуалізації вмісту ( Adwaitaу моєму випадку).
  • Перезапустіть Firefox.

Змініть тему GTK лише для процесу вмісту


1

Ви можете запустити Firefox з іншим користувачем та тим самим профілем. Скопіюйте свій поточний профіль (~ / .mozilla / firefox / profile) у папку цього іншого користувача, замовте його користувачеві, а потім на консолі запустіть:

su newuser
firefox -profilemanager

Це звучить трохи надмірно, але ви можете помістити його в сценарій. Firefox використовуватиме тему в профілі, але не захищає GTK від нового користувача.

Крім того, саме такі речі дозволяють використовувати Firefox та Ubuntu: P весело


0

Ви можете додати іншу тему до Firefox, яка вам подобається, з Інструменти -> Додатки -> Теми. Тоді просто використовуйте цю тему замість типової.


2
Ви не можете використовувати іншу тему Firefox під час використання Personas
lovinglinux

1
Ох, спасибі Не усвідомлював. (Також радий, що ви тут, користувачам Firefox слід дуже допомогти! :))
NightwishFan

0

Рішення 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.