Comment lancer une application avec un thème gtk particulier

Si comme moi vous aimez un thème pour votre environnement de bureaux mais que celui-ci pose problème pour certaines applications, ce petit howto et fait pour vous.

C’est en voulant configurer mon environnement de bureaux à mon goût que je suis tomber sur le problème :
j’avais choisi un super thème tout noir (comme il en existe des dizaines sur la toile) que je trouvais vraiment esthétique.
Malheureusement je me suis aperçu que ce thème appliqué à iceweasel ou à icedove n’était pas franchement jolie et surtout vraiment inconfortable. Mais encore pour ces deux là cela pouvait allé.
Imaginez le résultat quand j’ai ouvert gedit ou encore openoffice ! Tout en noir avec des icônes d’une laideur incontestable et surtout impossible d’écrire quoi que ce soit !

Ne trouvant pas de solutions à mon problème sur des supports français j’ai dans l’urgence désinstallez les supports gtk et gnome d’ openoffice. Solution radicale mais qui avait le mérite de fonctionner…

C’est après plusieurs recherches que je suis tomber sur cet article (en anglais bien-sure) et que j’ai trouver mon bonheur.

L’astuce consiste à lancer son application en passant par un tout petit script (une ligne) qui définit le thème gtk à appliquer :

L’importance ici est que lorsque vous lancerez une application depuis le menu ou un raccourci quelconque ou même en tapant la commande depuis un terminal, le système aille chercher l’exécutable non pas directement à son emplacement habituel mais dans un dossier plus haut :

Comme vous devez le savoir, on peut posséder dans son home un dossier bin pour nos applications personnelles, ce qui sous Debian changera automatiquement la variable $PATH et rajoutera le dossier /home/utilisateur/bin.

Si dans ce dossier vous éditer un fichier en lui donnant par exemple le nom gedit et en le rendant exécutable, au moment ou vous voudrez lancer gedit, le système ira chercher en premier ce fichier et l’exécutera.
C’est grâce à cette astuce que nous pourront forcer une application à ce lancer avec un thème différent.

1ère étape :

Créer un dossier bin dans le répertoire utilisateur :

Vous pouvez vérifiez la valeur du path avec cette commande :

2ème étape :

Éditer un fichier en lui donnant le même nom que l’application que vous voulez redéfinir, par ex. avec iceweasel :

Le script est vraiment très simple :

#!/bin/bash env GTK2_RC_FILES=$HOME/.themes/le_nom_du_thème_voulu/gtk-2.0/gtkrc /usr/bin/iceweasel "$@"

D’une manière générale ceci fonctionne avec n’importe quelle application du moment que le fichier créer a le même nom que l’application.

#!/bin/bash env GTK2_RC_FILES=chemin_vers_le_fichier_GTKRC chemin_vers_l'executable "$@"

Dernière étape :

Une fois le script créer, il ne reste plus qu’a le rendre éxecutable :

Voilà, en espérant en avoir aidez certains…

[edit] Des retours seraient intéressant…