Jak sprawić, by Firefox całkowicie ignorował mój motyw GTK?


50

Mam ciemny motyw GTK zainstalowany w mojej instalacji Ubuntu 10.10 i persona zainstalowaną dla Firefoksa, którą również lubię.

Problem polega na tym, że Firefox używa mojego ciemnego motywu GTK do elementów takich jak przyciski i pola tekstowe na popularnych stronach internetowych, a to zwykle tworzy nieczytelne menu, obszary tekstowe i przyciski. (biały tekst na białym tle lub czarny tekst na czarnych przyciskach).

Nie chcę zmieniać żadnego motywu, ponieważ wyglądają świetnie w każdej innej aplikacji i nie chcę robić czegoś szalonego w mojej instalacji Firefoksa, na przykład używać niestandardowych skryptów użytkownika lub zastąpień CSS.

Wszystko, co chcę zrobić, to powiedzieć Firefoxowi, aby całkowicie przestał używać mojego motywu GTK. To wydaje się być tym, co robi przeglądarka Google Chrome i jest to jak najbardziej sensowne.

Jak twórcy stron internetowych mogą obejść wszystkie możliwe motywy GTK?


Zastanawiam się, czy ktoś ma stałe rozwiązanie tego problemu, więc mogę po prostu uruchomić Firefoksa z mojej karty / okna działań Gnome 3 ...
MarioDS

@MDeSchaepmeester: Zobacz odpowiedź, którą dodałem tutaj dla KDE, może to również działa dla Gnome: askubuntu.com/a/358493/154613
Igor Rodriguez

Istnieją inne rozwiązania, w tym to, które mi pasowało , na powiązane pytanie askubuntu.com/q/227727/23786 .
CodeMouse92,

Odpowiedzi:


36

Uruchom Firefox za pomocą jednego z następujących poleceń:

  • 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

Spowoduje to uruchomienie Firefoksa za pomocą motywu Simple / Adwaita: light, który jest dość prosty i powinien pasować do twojej Persony. Możesz wypróbować inne motywy, zastępując Simple nazwą motywu, ale to nie działa ze wszystkimi motywami.

Do tej pory z powodzeniem testowałem z motywami Simple i Redmond ...

Przed

Przed

Po

Po


działało to tylko dla MW z motywami „nowej fali” i „Redmonda”, ale nadal działało, więc jestem bardzo wdzięczny. zrzuty ekranu są zawsze mile widziane :)
tamale

to jest niesamowite!!!
RolandiXor

co oczywiście musisz zrobić po wyjściu z bieżącej instancji firefox, lub skrypt „firefox” po prostu poinstruuje bieżący proces, aby otworzył nowe okno (a ustawienie GTK2_RC_FILES jest całkowicie ignorowane).
sylvainulg

2
Z jaką najnowszą wersją firefoxa współpracuje? Używam Firefoksa 31 na Ubuntu Utopic i przysięgam, że to działało dla mnie raz, ale muszę mieć halucynacje, ponieważ nie działa już bez względu na to, co próbuję.
robru

4
To już nie działa z Firefoksem 46 z powodu przejścia na GTK 3.
Konstantin Pereiaslov

46

Stałe rozwiązanie:

Możesz określić lekki motyw GTK, który będzie używany do renderowania stron w about: config. Jest to świetne, ponieważ motyw systemu będzie nadal obowiązywał w menu itp., Ale strony internetowe będą renderowane tak, jak w przypadku jasnych motywów.

  1. Przejdź do about:configw przeglądarce Firefox
  2. Kliknij prawym przyciskiem myszy i wybierz nowy-> ciąg
  3. Wpisz widget.content.gtk-theme-overridejako nazwę
  4. Wpisz wartość lekkiego motywu GTK zainstalowanego w systemie. na przykładArc
  5. Uruchom ponownie firefox.

Źródło: https://www.reddit.com/r/firefox/comments/6rbvvw/photon_rectangular_tabs_have_landed_in_nightly/dl4318f/

Zobacz także https://bugzilla.mozilla.org/show_bug.cgi?id=1283086


2
Uwielbiam to i działa. Zapisz ustawienia w samym Firefoksie, a nie gdzieś w systemie lub na pulpicie :)
jocull

I nie trzeba ponownie uruchamiać Firefoksa. Jest nakładany natychmiast.
Massood Khaari

1
Byłaby to miła opcja, z tym że już nie działa. Jaka szkoda! Uruchamianie Firefoksa co noc 69.0a1
smac89

Nadal działa dla mnie na stabilnej wersji. Kiedy pojawi się 69.0, ponownie ocenię.
rviertel

9

Chciałbym dodać do świetnej odpowiedzi @lovinglinux sposób, aby Firefox ładował motyw po otwarciu z programu uruchamiającego na pasku zadań zamiast wiersza poleceń:

  1. Edytuj /usr/share/applications/firefox.desktop jako sudo,
  2. W wierszu „Exec” zastąp wartość po „=” poleceniem, korzystając z instrukcji dostarczonych przez wspomniany @lovinglinux:

    bash -c 'GTK2_RC_FILES = / usr / share / themes / Redmond / gtk-2.0 / gtkrc firefox% u' Edycja Kate firefox.desktop

Rezultat jest następujący:

Firefox z motywem Redmond i wszystkie inne aplikacje z ciemnym motywem


1
Dziękujemy za pokazanie, jak zmodyfikować plik .desktop. To sprawia, że ​​jest to bardzo wygodne! Korzystam z twojego rozwiązania dla LibreOffice.

Plik na pulpicie jest nadpisywany za każdym razem, gdy Firefox jest aktualizowany, więc nie jest to trwałe rozwiązanie
rviertel

8

AKTUALIZACJA : Moja oryginalna odpowiedź faktycznie zostaje zastąpiona, gdy Firefox jest aktualizowany.


Moje obecne (trwałe) rozwiązanie

Edytuj
~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(gdzie abcdef jest ciągiem losowym)

Dodaj

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;
}

Oryginalna odpowiedź

Znalazłem rozwiązanie, dzięki któremu Firefox całkowicie zignoruje Twój motyw GTK.

Edytuj /usr/share/applications/firefox.desktopi zmień

Exec=firefox %u

do

Exec=bash -c 'GTK_THEME=" " firefox %u'

Kiedy ponownie uruchomisz FF, będzie on używał tylko motywu FF.


1
To działa. Btw używam Exec=bash -c 'GTK_THEME=Arc-Darker firefox %u'.
mja

Nie działa to długoterminowo, ponieważ plik .desktop jest nadpisywany podczas aktualizacji
Firefoksa

@ rviertel masz rację, to zostanie nadpisane. Zaktualizowałem swoją odpowiedź z obecnym rozwiązaniem tego problemu.
barro32

2

Najlepszym rozwiązaniem, aby powiedzieć Firefoksowi, że powinien używać jasnego motywu zamiast ciemności, jest określenie zmiennej GTK_THEME przed uruchomieniem.

Więc 4 sposoby na zrobienie tego ...

1- z terminala możesz zrobić:

GTK_THEME=Adwaita:light firefox

2 - jeśli nie znosisz terminala i chcesz go zamknąć, gdy Firefox zadziała:

GTK_THEME=Adwaita:light firefox &

3- od firefox about: config możesz ustawić następujące ustawienie na false:

browser.display.use_system_colors

NIE DZIAŁA NA STRONACH localhost! więc jeśli jesteś programistą / projektantem stron internetowych, nie będzie to dla ciebie tak dobre.

4 - jeśli chcesz, aby było to niewłaściwe zachowanie:

Wystarczy dodać dwie linie do skryptu uruchamiania Firefoksa znajdującego się na /usr/lib/firefox/firefox.sh

w typie terminala w dół:

sudo gedit /usr/lib/firefox/firefox.sh

spójrz na początek skryptu w tym celu:

MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox

export MOZ_APP_LAUNCHER

i zmień to na:

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

Na koniec uruchom ponownie Firefox.

Mam nadzieję że to pomoże.

Proszę, pomóż mi, głosując za tym.

Dziękuję Ci :)


To zadziałało dla mnie. Dziękuję Ci! +1
VenoM

2

Ten dodatek (sugerowany przez koushik ) działa dobrze dla mnie.

Używam Firefox 57 na Ubuntu MATE 17.10


Dzięki, to rozszerzenie działało idealnie dla Firefox Quantum na Fedorze. :)
John 400

2

Istnieje bardzo prosty sposób na przywrócenie domyślnego schematu kolorów dla stron internetowych przy jednoczesnym zachowaniu motywu GTK dla elementów Firefoksa. Wiem, że nie jest to dokładnie to, o co pytano, ale może pomóc osobom przybywającym tutaj z wyszukiwarki Google.

  1. Przejdź do about:configna pasku adresu.
  2. Przewiń w dół, aż zobaczysz ustawienia
    • browser.display.foreground_color
    • browser.diaplay.background_color
  3. Jeśli te ustawienia zostały zmodyfikowane, kliknij je prawym przyciskiem myszy i wybierz reset.

To powinno być to, nie trzeba restartować. Działa z Firefox Quantum.

Ustawienia w about: config


2

Używam Adwaita dark themez Ubuntu 18. Używam domyślnego motywu w firefox 63.0. Najlepszym rozwiązaniem w moim przypadku, bez żadnych skutków ubocznych, było zmuszenie firefox do użycia lekkiego motywu ( Adwaitaw moim przypadku) tylko do renderowania treści internetowych:

  • Otwórz about:configw pasku adresu.
  • Utwórz nowy wpis ciągu: widget.content.gtk-theme-override(kliknij prawym przyciskiem myszy> Nowy> Ciąg).
  • Ustaw wartość jasnego motywu używanego do renderowania treści ( Adwaitaw moim przypadku).
  • Uruchom ponownie firefox.

Zmień motyw GTK tylko dla procesu treści


1

Możesz uruchomić Firefoksa z innym użytkownikiem i tym samym profilem. Skopiuj swój bieżący profil (~ / .mozilla / firefox / profile) do folderu innego użytkownika, pokaż go użytkownikowi, a następnie uruchom konsolę:

su newuser
firefox -profilemanager

Brzmi to trochę przesadnie, ale możesz umieścić to w skrypcie. Firefox będzie korzystał z motywu z profilu, ale ukrywa nietknięte GTK przed nowym użytkownikiem.

Jest to także rodzaj rzeczy, które sprawiają, że korzystanie z Firefoksa i Ubuntu: P jest fajne


0

Możesz dodać kolejny motyw do Firefoksa, wybierając Narzędzia -> Dodatki -> Motywy. Następnie użyj tego motywu zamiast domyślnego.


2
Nie możesz użyć innego motywu Firefoksa podczas korzystania z Personas
lovinglinux

1
Och, wow, dzięki. Nie zdawałam sobie sprawy. (Cieszę się również, że tu jesteś, użytkownikom Firefoxa należy bardzo pomóc!))
NightwishFan,

0

Rozwiązanie Bannaz działa świetnie, ponieważ nie używam plików .desktop, ale czasami (a może za każdym razem) podczas aktualizacji Firefoksa moja łatka do skryptu uruchamiającego znika.

Więc moim rozwiązaniem jest utworzenie nowego pliku skryptu uruchamiania, który ustawia preferowany motyw GTK, wykonuje oryginalny skrypt uruchamiania i nie ma na niego wpływu aktualizacja.


Oryginalny program uruchamiający w moim systemie znajduje się pod adresem /usr/bin/firefox.

Utworzyłem nowy program uruchamiający /usr/bin/local/firefoxzawierający:

#!/bin/sh
export GTK_THEME=Adwaita
exec /usr/bin/firefox "$@"

Zmień lokalizacje ścieżek odpowiednio do systemu. I nie zapomnij, aby był wykonywalny:

sudo chmod +x /usr/local/bin/firefox
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.