Puis-je appliquer un thème GTK3 différent du thème principal à une application individuelle?

42

Par exemple, puis-je conserver Ambiance comme thème principal mais attribuer un thème élémentaire à l'application élémentaire?

    
posée Rossi 11.11.2011 - 00:45
la source

5 réponses

22

Vous pouvez utiliser la variable d'environnement GTK GTK_THEME=elementary pour lancer une application avec le thème élémentaire. Par exemple, exécuter GTK_THEME=elementary pantheon-files lancera l'application Fichiers élémentaire en utilisant le thème élémentaire GTK.

Pour que cela s’applique à chaque fois que vous lancez une application spécifique, votre meilleure option est probablement de créer un fichier .desktop personnalisé (lanceur).

Créez un fichier .desktop personnalisé

  1. Ouvrez votre navigateur de fichiers
  2. Accédez à /usr/share/applications/
  3. Copiez le lanceur (en surbrillance et Ctrl + C) pour l'application que vous souhaitez lancer avec le thème élémentaire
  4. Accédez à ~/.local/share/applications/ et collez le lanceur (Ctrl + V)
  5. Cliquez avec le bouton droit de la souris et ouvrez le lanceur avec un éditeur de texte
  6. Modifiez la ligne commençant par Exec= pour inclure Exec=env GTK_THEME=elementary , puis le contenu existant précédent de la ligne. (Donc Exec=pantheon-files deviendrait Exec=env GTK_THEME=elementary pantheon-files )
  7. Enregistrez et fermez le fichier

La prochaine fois que vous lancerez l’application depuis Unity (ou votre lanceur d’application de choix), elle utilisera le thème élémentaire.

Bonus: ça marche quand on utilise la ligne de commande

Vous pouvez également souhaiter que l’application démarre avec le thème élémentaire lors du lancement à partir de la ligne de commande. Pour ce faire:

  1. Ouvrez votre application Terminal
  2. Tapez alias pantheon-files="GTK_THEME=elementary pantheon-files" (en remplaçant pantheon-files par l'application souhaitée)
  3. Appuyez sur Entrée

Avertissements:

  1. Cela ne changera pas le thème de votre gestionnaire de fenêtres en thème élémentaire.
  2. Ceci (de par sa conception) ne s'appliquera qu'à votre compte, pas root ni à quiconque sur la machine.
  3. Les noms de thèmes sont cAsE-sEnsItiVe et doivent correspondre au nom du dossier de thème.

Sources:

  1. Je suis un contributeur élémentaire;)
  2. Manuel de référence de GTK + 3: exécuter les applications GTK +
  3. Définir la variable dans le fichier .desktop
réponse donnée Cassidy James 19.06.2014 - 22:45
la source
9

La question est toujours d'actualité et j'ai trouvé un moyen:

  • créer un dossier path/to/MY_FOLDER
  • créer un dossier /share/themes/ à l'intérieur (c'est-à-dire path/to/MY_FOLDER/share/themes ).
  • mettre un thème GTK3 à l’intérieur de ce dernier
  • renommer le thème au nom du THÈME ACTUELLEMENT ACTIF.

    Enfin, cette commande permet à une application d’utiliser le thème renommé au lieu du thème actuellement actif:

GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON

(Le chemin après GTK_DATA_PREFIX= doit être celui ( et seulement celui ) dans le dossier contient /share/themes/RENAMED_THEME . C'est pourquoi il est PAS path/to/MY_FOLDER/share/themes/RENAMED_THEME , mais juste path/to/MY_FOLDER .)

Pour avoir cela dans un lanceur, remplacez-le en conséquence:

Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'
    
réponse donnée Tsu Jan 28.02.2014 - 11:35
la source
7

C'est certainement possible, je n’ai pas beaucoup d’expérience en matière de thème, mais lorsque vous naviguez vers le répertoire /usr/share/themes/*Theme Name*/gtk-3.0/apps/ , vous trouverez les fichiers .css , nommés avec les applications qu’ils ciblent sur le thème. -spécifiques Thèmes.

Notez que la manière dont vous avez mentionné le thème pour vos applications peut nécessiter un certain travail (comme le fait d’avoir à la fois Ambiance et Elémentaire en même temps, chaque thème ayant un fichier de base sur lequel le style spécifique à l’application est fait, gtkrc dans Gtk 2.0 while, un fichier gtk.css dans le cas de Gtk3.0 ).

Et ce fichier de thème de base contient des règles de style qui ciblent spécifiquement le thème donné, vous ne pouvez donc pas créer d’apparence comme dans le fichier de thème de base d’Ambiance sans apporter de modifications importantes. lui-même.

En outre, dans GNOME, il est possible de n’appliquer qu’un seul thème à la fois. Par exemple, si vous avez utilisé la fenêtre Apparence dans Ubuntu 12.04, vous savez que vous pouvez sélectionner un seul thème dans la liste déroulante, au cas où vous en auriez un. utilisé gnome-tweak-tool , que vous pouvez définir différents thèmes, pour Gtk, les cadres de fenêtres et les icônes, mais néanmoins, il ne permet pas de cibler des applications spécifiques au thème. Comme je l'ai dit plus tôt, vous pouvez définir des thèmes totalement différents Si vous travaillez habilement avec un fichier de thème de base, aucune application tierce ne peut le faire par elle-même.

Une façon de le faire vous-même est de laisser le fichier de thème de base ( gtk.css ) ne comporter que des règles essentielles, neutres pour tout thème, sombres ou claires. Et avoir la conception de thème réelle écrite dans des fichiers spécifiques à l'application qui résident dans le répertoire mentionné ci-dessus, c'est-à-dire pour styliser Nautilus, vous pouvez écrire toutes les propriétés requises dans le fichier nautilus.css . Même chose avec chaque application que vous souhaitez cibler. Evidemment, cela nécessite une expérience de thème Gtk décente.

Vous pouvez vous référer à ceci pour créer votre propre thème. En utilisant template, il y a aussi une documentation correcte sur le thème Gtk +.

    
réponse donnée Kushal 27.05.2012 - 12:10
la source
4

Oui, le moyen le plus simple est de pointer l’application sur le chemin requis où réside votre fichier rc, dans la commande qui exécute votre application:

GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape

Ceci sur 12.04 pour inkscape (qui est toujours Gnome2 btw) produit ceci:

Voir plus d’informations sur le thème Gtk2 sur ici .

    
réponse donnée Martin Owens -doctormo- 23.04.2012 - 16:21
la source
0

Oui tu peux, en fait j'ai googlé et obtenu des réponses:

  1. Recherchez le fichier exécutable exact du programme dont vous souhaitez modifier le thème. Par exemple, si vous le souhaitez pour ooffice, tapez which ooffice dans le terminal.
  2. Recherchez le dossier bin où toutes les applications placent leurs exécutables binaires. Tapez echo $PATH dans le terminal et vous gérez le chemin. Je vous recommande de créer un dossier bin dans votre répertoire personnel en tapant mkdir ~/bin
  3. Tapez gedit ~/.bashrc pour ouvrir votre fichier bash rc.
  4. Allez au bas de ce fichier et ajoutez cette ligne export PATH=~/bin:${PATH}

Maintenant, nous allons créer un script qui exécutera votre programme avec un thème personnalisé:

  1. Créer le fichier script de l'application en tapant: gedit ~/bin/ooffice
  2. Tapez ces lignes dans le fichier ouvert:

    #!/bin/bash
    env GTK2_RC_FILES=/usr/share/themes/SlicknessX/gtk-2.0/gtkrc /usr/bin/ooffice "[email protected]"
    
  3. Modifiez le mode du fichier en exécutable en saisissant: chmod +x ~/bin/ooffice .

J'espère que cela vous aidera, vous devez vous souvenir d'une seule chose, le format du script, comme indiqué ci-dessous:

#!/bin/bash
env GTK2_RC_FILES=PATH_TO_GTKRC PATH_TO_EXECUTABLE "[email protected]"
    
réponse donnée Ravi Raj 27.05.2012 - 11:37
la source

Lire d'autres questions sur les étiquettes