Unity/gtkには素晴らしいgtkテーマがたくさんあります。ただし、ユニティグリーターをサポートしているものはほとんどありません。私はそれらに取り組みたいのですが、これを行う方法に関する(公式)ドキュメントを見つけることができませんでした。 Adwaitaテーマからgtk.css
のそれぞれの部分をリバースエンジニアリングしようとしましたが、そのほとんどを行うことができましたが、いくつかの特別なウィジェットはテーマ化できませんでした。
簡単に言えば、ユニティグリーターをテーマにする方法を示すドキュメントはどこかにありますか?
明確にするために:たとえば、このファイルについて話している https://github.com/umibps/KABURAGI/blob/master/share/themes/Moe-Pink3/gtk-3.0/apps/unity-greeter .css〜
ドキュメントは見つかりませんでしたが、ソースコードは見つかりました;)
apt-get source unity-greeter
tar xf unity-greeter_*.tar.xz
cd unity-greeter
ファイルの名前gtk.css
が示すように、それはクラスの定義を含むCSSファイルです。 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");
またはそれ以上
% grep -rlI 'add_class' * | xargs -I {} awk -F\" '/add_class/ {print $2}' {} | sort -u
lightdm
lightdm-combo
option-button
selected
toggle-button
そして今、サポートされているクラスがあります。 background-image
、background-color
、border-color
などの他のすべてのものはCSS定義です。
ソースコードを掘り下げて、 [〜#〜] css [〜#〜] を学習します。それが最高のドキュメントです。
私の回答の以前のバージョン、おそらくさらなる読者に役立つ
必要なものは/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
にあります。このファイルを編集した後、次を実行します。
glib-compile-schemas /usr/share/glib-2.0/schemas/
各key
タグには、キーの機能を説明するsummary
タグがあります。いくつかの例:
背景画像
<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"
は、タグdefault
の文字列が必要であることを意味します背景色
<key name="background-color" type="s">
<default>'#2C001E'</default>
<summary>Background color (e.g. #772953), set before wallpaper is seen</summary>
</key>
type="s"
は、タグdefault
の文字列が必要であることを意味しますホスト名を表示
<key name="show-hostname" type="b">
<default>true</default>
<summary>Whether to show the hostname in the menubar</summary>
</key>
type="b"
は、タグのブール値が必要であることを意味しますdefault
解像度設定
<key name="xft-dpi" type="d">
<default>96</default>
<summary>Resolution for Xft in dots per inch</summary>
</key>
type="d"
は、タグの数値が必要であることを意味しますdefault
xrdb -query | grep dpi
を使用して正しい値を決定するか、値を操作して動作を確認します試行錯誤とソースコードの読み取りが最良のドキュメントです=)
Unity Greeterテーマのドキュメントはありません。 Adwaita CSSとUnity Greeterのソースは、テーマにできるものを調べるのに最適な場所です。