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 ~
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:
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 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
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
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
xrdb -query | grep dpi
pour déterminer une valeur correcte ou jouez avec la valeur pour voir le comportementEssai et erreur et la lecture du code source est la meilleure documentation =)
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é.