Comment faire en sorte que Firefox ignore totalement mon thème GTK?


51

J'ai un thème GTK sombre installé dans mon installation Ubuntu 10.10 et un personnage installé pour Firefox que j'aime aussi.

Le problème est que Firefox utilise mon thème GTK sombre pour des éléments tels que des boutons et des champs de texte sur des pages Web communes, ce qui crée généralement des menus, des zones de texte et des boutons illisibles. (texte blanc sur fond blanc ou texte noir sur boutons noirs).

Je ne veux changer aucun thème, car ils ont fière allure dans toutes les autres applications et je ne veux pas avoir à faire quelque chose de fou pour mon installation de Firefox, comme utiliser des scripts utilisateur personnalisés ou des remplacements CSS.

Tout ce que je veux, c'est dire à Firefox de ne plus utiliser mon thème GTK. Cela semble être ce que fait le navigateur Chrome de Google et c'est de loin le plus logique.

Comment les développeurs Web peuvent-ils éventuellement contourner tous les thèmes GTK possibles?


Je me demande si quelqu'un a une solution permanente pour cela alors je peux juste lancer firefox à partir de mon onglet / fenêtre d'activités Gnome 3 ...
MarioDS

@MDeSchaepmeester: Consultez la réponse que j'ai ajoutée ici pour KDE. Peut-être que cela fonctionne également pour Gnome: askubuntu.com/a/358493/154613
Igor Rodriguez

Il existe d'autres solutions, y compris celle qui a fonctionné pour moi, sur la question connexe askubuntu.com/q/227727/23786 .
CodeMouse92

Réponses:


36

Démarrez Firefox avec l'une des commandes suivantes:

  • 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

Cela lancera Firefox en utilisant le thème Simple / Adwaita: light, qui est assez basique et devrait s’intégrer à votre Persona. Vous pouvez essayer d'autres thèmes en remplaçant Simple par le nom du thème, mais cela ne fonctionne pas avec tous les thèmes.

Jusqu'à présent, j'ai testé avec succès les thèmes de Simple et Redmond ...

Avant

Avant

Après

Après


cela n'a fonctionné que pour mw avec les thèmes «new wave» et «redmond» uniquement, mais cela a quand même fonctionné, alors je suis très reconnaissant. les captures d'écran sont toujours appréciées aussi :)
tamale

C'est génial!!!
RolandiXor

ce que vous devez faire après avoir quitté votre instance firefox actuelle, bien sûr, sinon le script "firefox" demandera simplement au processus en cours d'ouvrir une nouvelle fenêtre (et le paramètre GTK2_RC_FILES est tout simplement ignoré).
Sylvainulg

2
Quelle est la version la plus récente de Firefox avec laquelle il est connu de fonctionner? J'utilise Firefox 31 sur Ubuntu Utopic et, je jure que cela a fonctionné pour moi une fois, mais je dois avoir des hallucinations parce que cela ne fonctionne plus, peu importe ce que j'essaie.
robru

4
Cela ne fonctionne plus avec Firefox 46 en raison du passage à GTK 3.
Konstantin Pereiaslov

46

Solution permanente:

Vous pouvez spécifier un thème GTK léger à utiliser pour le rendu des pages Web dans about: config. Cela est très bien car le thème de votre système continuera à s'appliquer aux menus, etc., mais les pages Web seront restituées telles quelles avec des thèmes clairs.

  1. Accédez à about:configdans votre navigateur Firefox
  2. Faites un clic droit et sélectionnez new-> string
  3. Entrez widget.content.gtk-theme-overridecomme nom
  4. Entrez un thème GTK léger que vous avez installé sur votre système pour la valeur. par exempleArc
  5. Redémarrez Firefox.

Source: https://www.reddit.com/r/firefox/comments/6rbvvw/photon_rectangular_tabs_have_landed_in_nightly/dl4318f/

Voir aussi https://bugzilla.mozilla.org/show_bug.cgi?id=1283086


2
J'adore ça et ça marche. Enregistrez le paramètre dans Firefox lui-même, pas dans un endroit obscur du système ou dans une entrée du bureau :)
jocull

Et il n'est pas nécessaire de redémarrer Firefox. Il est appliqué instantanément.
Massood Khaari

1
Cela aurait été une bonne option, sauf que cela ne fonctionne plus. C'est dommage! Faire tourner Firefox tous les soirs 69.0a1
smac89

Travaille toujours pour moi sur la version stable. Quand 69.0 arrivera, je réévaluerai.
Rviertel le

9

J'aimerais ajouter à l'excellente réponse de @lovinglinux un moyen de charger Firefox de charger le thème lorsqu'il est ouvert à partir d'un programme de lancement dans la barre des tâches au lieu d'une ligne de commande:

  1. Éditez /usr/share/applications/firefox.desktop en tant que sudo,
  2. Dans la ligne "Exec", remplacez la valeur après le "=" par une commande utilisant les instructions fournies par le @lovinglinux mentionné:

    bash -c 'GTK2_RC_FILES = / usr / partage / themes / Redmond / gtk-2.0 / gtkrc firefox% u' Kate édite firefox.desktop

Et le résultat est le suivant:

Firefox avec le thème Redmond et toutes les autres applications avec un thème sombre


1
Merci de montrer comment modifier le fichier .desktop. Cela le rend très pratique! J'utilise votre solution pour LibreOffice.

Le fichier du bureau est écrasé chaque fois que Firefox est mis à jour. Ce n'est donc pas une solution permanente
rviertel

8

MISE À JOUR : Ma réponse originale est en réalité écrasée lorsque Firefox est mis à jour.


Ma solution actuelle (permanente)

Edit
~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(où abcdef est une chaîne aléatoire)

Ajouter

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

Réponse originale

J'ai trouvé une solution pour que Firefox ignore complètement votre thème GTK.

Editer /usr/share/applications/firefox.desktopet changer

Exec=firefox %u

à

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

Lorsque vous (re) démarrez FF, il utilisera uniquement le thème FF.


1
Ça marche. Btw je utilise Exec=bash -c 'GTK_THEME=Arc-Darker firefox %u'.
mja

Cela ne fonctionne pas à long terme car le fichier .desktop est écrasé lors de la mise à jour de firefox
rviertel

@ Rviertel vous avez raison, il est écrasé. J'ai mis à jour ma réponse avec ma solution actuelle à ce problème.
Barro32

2

La meilleure solution pour dire à Firefox qu'elle doit utiliser le thème light au lieu de l'obscurité consiste à spécifier la variable GTK_THEME avant son lancement.

Donc, 4 façons d'obtenir ce que vous faites ..

1- du terminal, vous pouvez faire:

GTK_THEME=Adwaita:light firefox

2- si vous détestez le terminal et que vous voulez le fermer une fois que Firefox fonctionne:

GTK_THEME=Adwaita:light firefox &

3- depuis firefox sur: config, vous pouvez définir le paramètre suivant sur false:

browser.display.use_system_colors

NE FONCTIONNERA PAS POUR LES SITES localhost! Donc, si vous êtes un développeur / concepteur Web, cela ne fonctionnera pas très bien pour vous.

4- Si vous voulez que ce soit le comportement par défaut:

Ajoutez simplement deux lignes au script de lancement de Firefox situé à /usr/lib/firefox/firefox.sh

dans le terminal, tapez:

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

regardez le début du script pour ceci:

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

export MOZ_APP_LAUNCHER

et changez cela en ceci:

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

Enfin, redémarrez Firefox.

J'espère que cela t'aides.

S'il vous plaît aidez-moi en votant cela.

Merci :)


Cela a fonctionné pour moi. Je vous remercie! +1
VenoM

2

Cet add-on (suggéré par koushik ) fonctionne bien pour moi.

J'utilise Firefox 57 sur Ubuntu MATE 17.10


Merci, cette extension a parfaitement fonctionné pour Firefox Quantum sur Fedora. :)
john400

2

Il existe un moyen très simple de récupérer le jeu de couleurs par défaut pour les pages Web tout en conservant votre thème GTK pour les éléments Firefox. Je sais que ce n'est pas exactement ce qui a été demandé, mais cela peut aider les personnes qui viennent ici après une recherche sur Google.

  1. Accédez à about:configdans votre barre d'adresse.
  2. Faites défiler jusqu'à ce que vous voyez les paramètres
    • browser.display.foreground_color
    • browser.diaplay.background_color
  3. Si ces paramètres ont été modifiés, cliquez dessus avec le bouton droit de la souris et sélectionnez reset.

Cela devrait être ça, pas de redémarrage nécessaire. Cela fonctionne avec Firefox Quantum.

Paramètres dans environ: config


2

J'utilise le Adwaita dark themeavec Ubuntu 18. J'utilise le thème par défaut dans firefox 63.0. La meilleure solution dans mon cas, sans aucun effet secondaire, était de forcer Firefox à utiliser un thème clair ( Adwaitadans mon cas) pour le rendu du contenu Web uniquement:

  • Ouvrir about:configdans la barre d'adresse.
  • Créez une nouvelle entrée de chaîne: widget.content.gtk-theme-override(clic droit> Nouveau> Chaîne).
  • Définissez la valeur sur le thème de lumière à utiliser pour le rendu du contenu ( Adwaitadans mon cas).
  • Redémarrez Firefox.

Changer le thème GTK pour le processus de contenu uniquement


1

Vous pouvez démarrer Firefox avec un utilisateur différent et le même profil. Copiez votre profil actuel (~ / .mozilla / firefox / profile) dans le dossier de cet utilisateur différent, envoyez-le à l'utilisateur, puis exécutez-le sur votre console:

su newuser
firefox -profilemanager

Cela semble un peu exagéré, mais vous pouvez le mettre dans un script. Firefox utilisera le thème sur le profil, mais conservera le GTK non modifié du nouvel utilisateur.

C'est aussi le genre de choses qui rendent l'utilisation de Firefox et Ubuntu amusante: P


0

Vous pouvez ajouter un autre thème à Firefox que vous aimez à partir de Outils -> Modules -> Thèmes. Ensuite, utilisez simplement ce thème au lieu du thème par défaut.


2
Vous ne pouvez pas utiliser un thème Firefox différent avec Personas
lovinglinux

1
Oh wow, merci. N'a pas réalisé. (Nous sommes également ravis que vous soyez ici. Les utilisateurs de Firefox devraient être beaucoup aidés! :))
NightwishFan

0

La solution Bannaz fonctionne très bien car je n'utilise pas de fichiers .desktop, mais parfois (ou peut-être à chaque fois) lorsque je mets à niveau Firefox, mon patch pour le script de lancement disparaît.

Ma solution consiste donc à créer un nouveau fichier de script de lancement qui définit le thème GTK préféré, exécute le script de lancement initial et ne soit pas affecté par une mise à niveau.


Le lanceur d'origine sur mon système est situé à l'adresse /usr/bin/firefox.

J'ai créé un nouveau lanceur /usr/bin/local/firefoxcontenant les éléments suivants:

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

Modifiez l'emplacement des chemins en fonction de votre système. Et n'oubliez pas de le rendre exécutable:

sudo chmod +x /usr/local/bin/firefox
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.