Come si può fare in modo che Firefox ignori del tutto il mio tema GTK?


50

Ho un tema GTK scuro installato nella mia installazione di Ubuntu 10.10 e una persona installata per Firefox che mi piace anche.

Il problema è che Firefox sta usando il mio tema GTK scuro per elementi come pulsanti e campi di testo su pagine Web comuni, e questo crea comunemente menu, aree di testo e pulsanti illeggibili. (testo bianco su sfondi bianchi o testo nero su pulsanti neri).

Non voglio cambiare nessuno dei temi, perché hanno un bell'aspetto in ogni altra applicazione, e non voglio fare qualcosa di pazzo per la mia installazione di Firefox come usare script utente personalizzati o sostituzioni CSS.

Tutto quello che voglio fare è dire a Firefox di smettere di usare completamente il mio tema GTK. Questo sembra essere quello che fa il browser Chrome di Google ed è di gran lunga il più sensato.

Come possono gli sviluppatori Web aggirare tutti i possibili temi GTK là fuori?


Mi chiedo se qualcuno ha una soluzione permanente per questo, quindi posso semplicemente avviare Firefox dalla mia scheda / finestra di attività di Gnome 3 ...
MarioDS

@MDeSchaepmeester: vedi la risposta che ho aggiunto qui per KDE, forse funziona anche per Gnome: askubuntu.com/a/358493/154613
Igor Rodriguez,

Ci sono ulteriori soluzioni, inclusa quella che ha funzionato per me, sulla domanda correlata askubuntu.com/q/227727/23786 .
CodeMouse92

Risposte:


36

Avvia Firefox con uno dei seguenti comandi:

  • 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

Questo avvierà Firefox usando il tema Simple / Adwaita: light, che è piuttosto semplice e dovrebbe fondersi con la tua Persona. Puoi provare altri temi, sostituendo Semplice con il nome del tema, ma questo non funziona con tutti i temi.

Finora ho testato con successo con temi Simple e Redmond ...

Prima

Prima

Dopo

Dopo


questo ha funzionato solo per mw con i temi "new wave" e "redmond", ma ha comunque funzionato, quindi sono molto grato. anche gli screenshot sono sempre apprezzati :)
tamale

Questo e spettacolare!!!
RolandiXor

cosa che devi fare dopo aver chiuso la tua attuale istanza di firefox, o lo script "firefox" indicherà semplicemente al processo corrente di aprire una nuova finestra (e l'impostazione GTK2_RC_FILES viene semplicemente ignorata del tutto).
sylvainulg,

2
Qual è la versione più recente di Firefox con cui si sa che funziona? Sto usando Firefox 31 su Ubuntu Utopic e, giuro, ha funzionato per me una volta, ma devo essere allucinante perché non funziona più, qualunque cosa io provi.
Robru,

4
Questo non funziona più con Firefox 46 a causa del passaggio a GTK 3.
Konstantin Pereiaslov

46

Soluzione permanente:

È possibile specificare un tema GTK leggero da utilizzare per il rendering di pagine Web in about: config. Questo è fantastico perché il tema del tuo sistema si applicherà ancora per i menu, ecc. Ma le pagine web saranno rese come sono con temi chiari.

  1. Passare a about:confignel browser Firefox
  2. Fare clic con il tasto destro e selezionare new-> string
  3. Inserisci widget.content.gtk-theme-overridecome nome
  4. Inserisci un tema GTK leggero che hai installato sul tuo sistema per il valore. per esempioArc
  5. Riavvia Firefox.

Fonte: https://www.reddit.com/r/firefox/comments/6rbvvw/photon_rectang_tabs_have_landed_in_nightly/dl4318f/

Vedi anche https://bugzilla.mozilla.org/show_bug.cgi?id=1283086


2
Adoro questo e funziona. Salvare le impostazioni in Firefox stesso, non da qualche parte oscuro nel sistema o in una voce del desktop :)
jocull

E non è necessario riavviare Firefox. Si applica all'istante.
Massood Khaari,

1
Questa sarebbe stata una buona opzione tranne per il fatto che non funziona più. Che peccato! Esecuzione di Firefox nightly 69.0a1
smac89

Sto ancora lavorando per me sulla versione stabile. Quando arriverà 69.0, rivaluterò.
rviertel,

9

Vorrei aggiungere alla grande risposta di @lovinglinux un modo per fare in modo che Firefox carichi il tema quando viene aperto da un programma di avvio nella barra delle applicazioni anziché dalla riga di comando:

  1. Modifica /usr/share/applications/firefox.desktop come sudo,
  2. Nella riga "Exec", sostituire il valore dopo "=" con un comando usando le istruzioni fornite dal citato @lovinglinux:

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

E il risultato è questo:

Firefox con il tema Redmond e tutte le altre applicazioni con un tema scuro


1
Grazie per aver mostrato come modificare il file .desktop. Questo lo rende molto conveniente! Sto usando la tua soluzione per LibreOffice.

Il file desktop viene sovrascritto ogni volta che Firefox si aggiorna, quindi questa non è una soluzione permanente
rviertel

8

AGGIORNAMENTO : La mia risposta originale viene effettivamente sovrascritta quando si aggiorna Firefox.


La mia attuale soluzione (permanente)

Modifica
~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(dove abcdef è una stringa casuale)

Inserisci

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

Risposta originale

Ho trovato una soluzione per far sì che Firefox ignori completamente il tema GTK.

Modifica /usr/share/applications/firefox.desktope cambia

Exec=firefox %u

per

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

Quando (ri) avvierai FF, userà solo il tema FF.


1
Funziona. A proposito io uso Exec=bash -c 'GTK_THEME=Arc-Darker firefox %u'.
mja,

Questo non funziona a lungo termine perché il file .desktop viene sovrascritto quando si aggiorna firefox
rviertel

@rviertel hai ragione, viene sovrascritto. Ho aggiornato la mia risposta con la mia attuale soluzione a questo problema.
barro32,

2

La migliore soluzione per dire a Firefox che dovrebbe usare il tema chiaro invece del buio è specificando la variabile GTK_THEME prima del lancio.

Quindi, 4 modi per ottenere questo ...

1- dal terminale puoi fare:

GTK_THEME=Adwaita:light firefox

2- se odi il terminale e vuoi chiuderlo una volta che Firefox funziona:

GTK_THEME=Adwaita:light firefox &

3- da firefox about: config è possibile impostare su false la seguente impostazione:

browser.display.use_system_colors

NON FUNZIONA PER SITI localhost! quindi se sei uno sviluppatore / designer web non funzionerà così bene per te.

4- se vuoi che questo sia il comportamento abituale:

Basta aggiungere due righe allo script di avvio di Firefox che si trova in /usr/lib/firefox/firefox.sh

nel terminale digita:

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

guarda all'inizio dello script per questo:

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

export MOZ_APP_LAUNCHER

e cambiarlo in questo:

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

Infine, riavvia Firefox.

Spero che sia di aiuto.

Per favore aiutatemi a votare questo.

Grazie :)


Questo ha funzionato per me. Grazie! +1
VenoM


2

Esiste un modo molto semplice per ripristinare la combinazione di colori predefinita per le pagine Web mantenendo il tema GTK per gli elementi di Firefox. So che non è esattamente quello che è stato chiesto, ma può aiutare le persone che vengono qui da una ricerca su Google.

  1. Vai a about:confignella barra degli indirizzi.
  2. Scorri verso il basso fino a visualizzare le impostazioni
    • browser.display.foreground_color
    • browser.diaplay.background_color
  3. Se tali impostazioni sono state modificate, fare clic con il tasto destro del mouse e selezionare reset.

Dovrebbe essere così, non è necessario il riavvio. Funziona con Firefox Quantum.

Impostazioni in about: config


2

Sto usando il Adwaita dark themecon Ubuntu 18. Sto usando il tema predefinito in firefox 63.0. La migliore soluzione nel mio caso, senza effetti collaterali, è stata quella di forzare Firefox a utilizzare un tema leggero ( Adwaitanel mio caso) solo per il rendering di contenuti Web:

  • Apri about:confignella barra degli indirizzi.
  • Creare una nuova voce di stringa: widget.content.gtk-theme-override(fare clic con il tasto destro> Nuovo> Stringa).
  • Imposta il valore sul tema chiaro da utilizzare per il rendering del contenuto ( Adwaitanel mio caso).
  • Riavvia Firefox.

Modifica il tema GTK solo per il processo di contenuto


1

È possibile avviare Firefox con un altro utente e lo stesso profilo. Copia il tuo profilo corrente (~ / .mozilla / firefox / profile) nella cartella di quel diverso utente, chown per l'utente e quindi sulla tua console esegui:

su newuser
firefox -profilemanager

Sembra un po 'eccessivo, ma puoi inserirlo in uno script. Firefox utilizzerà il tema nel profilo, ma manterrà il GTK senza vergogna dal nuovo utente.

Inoltre, questo è il tipo di cose che rendono divertente l'uso di Firefox e Ubuntu: P


0

Puoi aggiungere un altro tema a Firefox che ti piace da Strumenti -> Componenti aggiuntivi -> Temi. Quindi usa quel tema invece di quello predefinito.


2
Non puoi usare un tema Firefox diverso mentre usi Personas
lovinglinux il

1
Oh wow, grazie. Non me ne sono reso conto. (Sono contento che tu sia qui, gli utenti di Firefox dovrebbero essere aiutati moltissimo! :))
NightwishFan

0

La soluzione Bannaz funziona alla grande poiché non utilizzo i file .desktop, ma a volte (o forse ogni volta) quando aggiorno Firefox, la mia patch allo script di avvio scompare.

Quindi la mia soluzione a questo è quella di creare un nuovo file di script di avvio che imposta il tema GTK preferito, esegue lo script di avvio originale e non viene influenzato da un aggiornamento.


Il programma di avvio originale sul mio sistema si trova in /usr/bin/firefox.

Ho creato un nuovo launcher che si trova in /usr/bin/local/firefoxcontenente quanto segue:

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

Modifica le posizioni dei percorsi in base al tuo sistema. E non dimenticare di renderlo eseguibile:

sudo chmod +x /usr/local/bin/firefox
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.