Thèmes pour LXPanel

De LXDE.org
Aller à : navigation, rechercher
Note :
Cet article a été écrit par quelqu'un qui est toujours en apprentissage du fonctionnement des thèmes de GTK. Des informations peuvent être inexactes ou simplement fausses. S'il vous plaît, aidez à améliorer cet article ou à corriger les erreurs si vous en trouvez.


À la version 0.7.0, LXPanel possède la prise en charge des thèmes via un fichier gtkrc personnalisé. Les thèmes sont associés aux profils. Ils doivent donc être situés dans le répertoire du profil utilisé. Ils sont cherchés dans les emplacements définis dans les variables d'environnement $XDG_CONFIG_HOME en premier lieu. Ensuite, c'est dans les répertoires $XDG_CONFIG_DIRS. Pour des raisons d'organisation, si le thème utilise des images, il est conseillé de créer un sous-répertoire dans le répertoire du profil pour elles. Afin de vérifier le profil utilisé, regardez la ligne @lxpanel --profile LXDE dans le fichier $HOME/.config/lxsession/autostart.

Les fichiers gtkrcsont un sujet complexe. Donc, afin de garder les choses simples, ce guide se contente de modifier le style du contenu du panneau. Cela concerne le panneau et ses greffons. Les menus et les boîtes de dialogue de configuration ne sont pas pris en compte.

Création de thèmes du panneau

Pour utiliser un fichier gtkrc personnalisé, « Thème du système » doit être sélectionné dans l'onglet « Apparence » de la boîte de dialogue « Paramètres/Préférences du tableau de bord ».

En supposant que $HOME/.config/lxpanel/LXDE est le profil en cours d'utilisation, créons le fichier gtkrc dans ce répertoire. Nous allons également utiliser des tables de pixels. Donc, créons un répertoire nommé images pour elles. Ce qui suit est un exemple de fichier gtkrc avec des commentaires.

#
# Style global du panneau
#

style "panel" {
   # COULEURS DE FOND

   # Fond des éléments
   bg[NORMAL] = "red"
   # Fond des éléments sélectionnées
   bg[SELECTED] = "red"
   # Fond des composants pointés par le curseur
   bg[PRELIGHT] = "red"
   # Fond des éléments cliqués
   bg[ACTIVE] = "red"
   # Fond des éléments désactivés
   bg[INSENSITIVE] = "red"

   # COULEURS FRONTALES

   # Couleur frontale des éléments
   fg[NORMAL] = "red"
   # Couleur frontale des éléments sélectionnés
   fg[SELECTED] = "red"
   # Couleur frontale des éléments pointés par le cuirseur
   fg[PRELIGHT] = "red"
   # Couleur frontale des éléments cliqués
   fg[ACTIVE] = "red"
   # Couleur frontale des éléments désactivés
   fg[INSENSITIVE] = "red"

   # Il n'y a pas de zone avec du texte éditable, donc
   # text[xxx] ne s'applique pas

   # FONTE
   # Elle est respectée uniquement par les greffons « Moniteur
   # de température » et « Météo ». La taille, si elle est présente,
   # doit apparaître en dernier.

   font_name = "Sans italic bold 16"

   # Ceci est nécessaire pour les icônes système, sinon, elles
   # utilisent la couleur de fond de panneau à la place de la table de
   # pixels de fond. Cette image ne s'étend pas lorsque la hauteur du
   # panneau change.

   bg_pixmap[NORMAL] = "images/background.png"

   # Ceci sert à régler la table de pixels pour le fond du panneau. La
   # table de pixels est étendue lorsque la hauteur du panneau
   # change si la valeur de « stretch » est « TRUE ».

   engine "pixmap" {
      image {
         function = FLAT_BOX
         file     = "images/background.png"
         # Réglez la bordure à zéro pour éviter les problèmes
         border   = { 0, 0, 0, 0 }
         stretch  = TRUE
      }
   }
}

#
# Style de barre des tâches (liste des fenêtres)
#

style "taskbar-style" {
   # -thicknessdéfinit la bordure intérieure des ''widgets''. Par
   # exemple, dans ce cas, c'est la séparation entre la bordure des
   # boutons de la barre des tâches et le contenu à l'intérieur des
   # boutons (icône et texte) qui est définie.
   xthickness = 4
   ythickness = 4

   # Vous pouvez passer outre les couleurs définies précédemment.
   # Ici, « bg_pixmap » et « font_name » ne s'appliquent pas.

   # Ceci sert à régler l'apprence des boutons qui représentent
   # les tâches.
   engine "pixmap" {
      image {
         function = BOX
         state    = NORMAL
         file     = "images/bt_normal.png"
         border   = { 4, 4, 4, 4 }
         stretch  = TRUE
      }

      image {
         function = BOX
         state    = ACTIVE
         file     = "images/bt_active.png"
         border   = { 4, 4, 4, 4 }
         stretch  = TRUE
      }

      image {
         function = BOX
         state    = PRELIGHT
         file     = "images/bt_prelight.png"
         border   = { 4, 4, 4, 4 }
         stretch  = TRUE
      }
   }
}

#
# Réglages de l'horloge numérique
#

style "dclock-style"
{
   # Seule la couleur d'état normal s'applique ici.
   fg[NORMAL] = "#FF0000"

   # Seule la famille de fontes est respectée. Le style de fonte (gras,
   # italique, etc.) et la taille sont ignorés.
   font_name = "monospace"

   # Utilisons un fond différent pour l'horloge.
   engine "pixmap" {
      image {
         function = FLAT_BOX
         file     = "images/dclock-background.png"
         border   = { 4, 4, 4, 4 }
         stretch  = TRUE
      }
   }
}

#
# Style de la barre de lancement d'applications
#

style "launchbar-style"
{
   # Dans ce cas, le style n'est pas appliqué à l'ensemble de la barre de
   # de lancement mais à tous les éléments qu'elle contient. Ils sont
   # comme une rangée de boutons.
   engine "pixmap" {
      image {
         function = FLAT_BOX
         file     = "images/launchbar-background.png"
         border   = { 4, 4, 4, 4 }
         stretch  = TRUE
      }
   }
}

#
# Style du menu et du menu des répertoires
#

style "menu-style"
{
   engine "pixmap" {
      image {
         function = FLAT_BOX
         file     = "images/menu-background.png"
         border   = { 4, 4, 4, 4 }
         stretch  = TRUE
      }
   }
}


# Une fois que les styles sont définis, indiquons que nous
# voulons les utiliser.
widget "*Panel*"     style "panel"
widget "*taskbar*"   style "taskbar-style"
widget "*clock*"     style "dclock-style"
widget "*launchbar*" style "launchbar-style"
widget "*menu*"      style "menu-style"
Note :
Si des tables de pixels des couleurs de fond sont utilisés simultanément, les couleurs sont cachées par les images.


Autres éléments modifiables

Chaque élément dans le panneau est un greffon. Et presque tous peuvent avoir leur propre style. Certains d'entre eux acceptent toutes les propriétés ; d'autres n'acceptent que (quelques) couleurs, des tables de pixels (via bg_pixmap, une table de pixels moteur ou bien les deux), etc. De l'expérimentation est nécessaire. Prenez le fait que certains greffons ont leur propre boîte de dialogue de configuration en compte et qu'il est plus facile de les utiliser que ça ne l'est d'utiliser les options de gtkrc. La liste suivante résume les noms des widgets qui peuvent être utilisés dans le « style de greffon » de style du widget « *plug-in name* ».

  • batt: moniteur de batterie ;
  • cpufreq: Moniteur d'utilisation du processeur central ;
  • dclock: horloge numérique ;
  • deskno: numéro de bureau ou d'espace de travail ;
  • dirmenu: menu de répertoire ;
  • kbled: Dél de clavier ;
  • launchbar: barre de lancement d'application ;
  • menu: menu ;
  • monitors: moniteurs de ressources ;
  • netstat: gestion des réseaux ;
  • netstatus: moniteur de statut des réseaux ;
  • pager: Desktop Pager ;
  • taskbar: barre des tâches (liste des fenêtres) ;
  • thermal: moniteur de température ;
  • volumealsa: contrôle du volume ;
  • wincmd: minimisation de toutes les fenêtres ;
  • xkb: gestionnaire des dispositions de clavier.

Notes

  • Au moment de l'écriture de cet article, la version de LXPanel est la 0.7.1 et les thèmes ne sont pas cherchés dans la hiérarchie du système de fichiers. Il sont trouvés et utilisés si et seulement s'ils sont dans votre ~/.config/lxpanel/<nom-du-profil-en-cours-d'utilisation>. Une demande de focntionnalité (lien en anglais) est ouverte à ce sujet.
  • Certains paramétrages effectués depuis les boîtes de dialogue de configuration de greffons du panneau passeront outre les réglages de thème (la couleur de texte « dclock », par exemple).

Application d'un style à tous les éléments

Si vous voulez appliquer un style à tous les éléments (panneau, menus, boîtes de dialogue, etc.), la voie la plus facile est alors de chercher un thème et de copier le contenu du répertoire gtk-2.0 dans le répertoire du profil. Lorsque tout est en place, éditez le fichier gtkrc afin d'effectuer les modifications que vous désirez.

Ceci peut ou pas être une bonne idée car les menus et les boîtes de dialogue différeront du thème sélectionné par le système et le résultat pourrait ne pas être celui attendu. Cela prend également plus de temps que nécessaire à créer un style de panneau.

Voir aussi