web-dev-qa-db-fra.com

Documentation pour la thématisation de l'unité-greeter

Il y a beaucoup d'excellents thèmes gtk pour l'unité/gtk. Cependant, très peu d'entre eux soutiennent l'unité-greeter. Je veux travailler sur eux mais je n'ai pas pu trouver de documentation (officielle) sur la façon de le faire. J'ai essayé de procéder à l'ingénierie inverse de la partie respective dans gtk.css à partir du thème Adwaita, et j'ai été en mesure de le faire la plupart du temps, mais certains widgets spéciaux que je n'ai pas pu thématiser.

Longue histoire: y a-t-il une documentation quelque part qui montre comment thème l'unité-greeter?

Juste pour clarifier: je parle de ce fichier par exemple https://github.com/umibps/KABURAGI/blob/master/share/themes/Moe-Pink3/gtk-3.0/apps/unity-greeter .css ~

4
wa4557

Je n'ai pas trouvé de documentation, mais j'ai trouvé le code source ;)

apt-get source unity-greeter
tar xf unity-greeter_*.tar.xz
cd unity-greeter

Comme l'indique le nom du fichier gtk.css, il s'agit d'un fichier CSS avec des définitions pour les classes. Commençons un grep

% grep -r 'add_class' *
Binary file deb/usr/sbin/unity-greeter matches
Binary file dev/usr/sbin/unity-greeter matches
unity-greeter-15.10.1/tests/unity-greeter.vala:        ctx.add_class ("lightdm");
unity-greeter-15.10.1/src/toggle-box.vala:        selected_button.get_style_context ().add_class ("selected");
unity-greeter-15.10.1/src/toggle-box.vala:        item.get_style_context ().add_class ("toggle-button");
unity-greeter-15.10.1/src/unity-greeter.vala:        ctx.add_class ("lightdm");
unity-greeter-15.10.1/src/Prompt-box.vala:        option_button.get_style_context ().add_class ("option-button");
unity-greeter-15.10.1/src/Prompt-box.vala:        combo.get_style_context ().add_class ("lightdm-combo");
unity-greeter-15.10.1/src/Prompt-box.vala:        combo.get_child ().get_style_context ().add_class ("lightdm-combo");

ou mieux

% grep -rlI 'add_class' * | xargs -I {} awk -F\" '/add_class/ {print $2}' {} | sort -u
lightdm
lightdm-combo
option-button
selected
toggle-button

et maintenant nous avons les classes supportées. Toutes les autres choses comme background-image, background-color, border-color et ainsi de suite sont des définitions CSS.

Dig dans le code source et apprendre CSS . C'est la meilleure documentation.


Version précédente de ma réponse, peut-être utile pour les lecteurs ultérieurs

Tout ce dont vous avez besoin est dans /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml. Après avoir édité ce fichier, exécutez:

glib-compile-schemas /usr/share/glib-2.0/schemas/

Chaque balise key a une balise summary pour décrire le rôle de la clé. Quelques exemples:

  1. L'image de fond

    <key name="background" type="s">
      <default>'/usr/share/backgrounds/warty-final-ubuntu.png'</default>
      <summary>Background file to use, either an image path or a color (e.g. #772953)</summary>
    </key>
    
    • type="s" signifie qu'il nous faut une chaîne pour la balise default
    • La valeur est un chemin absolu vers un fichier image.
  2. La couleur de fond

    <key name="background-color" type="s">
      <default>'#2C001E'</default>
      <summary>Background color (e.g. #772953), set before wallpaper is seen</summary>
    </key>
    
    • type="s" signifie qu'il nous faut une chaîne pour la balise default
    • La valeur est un code de couleur
  3. Afficher le nom d'hôte

    <key name="show-hostname" type="b">
      <default>true</default>
      <summary>Whether to show the hostname in the menubar</summary>
    </key>
    
    • type="b" signifie qu'il nous faut une valeur booléenne pour la balise default
    • Valeurs valides: true/false
  4. Les paramètres de résolution

    <key name="xft-dpi" type="d">
      <default>96</default>
      <summary>Resolution for Xft in dots per inch</summary>
    </key>
    
    • type="d" signifie qu'il nous faut une valeur numérique pour la balise default
    • Utilisez xrdb -query | grep dpi pour déterminer une valeur correcte ou jouez avec la valeur pour voir le comportement

source partiellement

Essai et erreur et la lecture du code source est la meilleure documentation =)

2
A.B.

Il n'y a pas de documentation pour le thème Unity Greeter. Les sources Adwaita CSS et Unity Greeter sont vos meilleurs endroits pour examiner ce qui peut être thématisé.

0
Robert Ancell