web-dev-qa-db-ja.com

ユニティグリッターのテーマに関するドキュメント

Unity/gtkには素晴らしいgtkテーマがたくさんあります。ただし、ユニティグリーターをサポートしているものはほとんどありません。私はそれらに取り組みたいのですが、これを行う方法に関する(公式)ドキュメントを見つけることができませんでした。 Adwaitaテーマからgtk.cssのそれぞれの部分をリバースエンジニアリングしようとしましたが、そのほとんどを行うことができましたが、いくつかの特別なウィジェットはテーマ化できませんでした。

簡単に言えば、ユニティグリーターをテーマにする方法を示すドキュメントはどこかにありますか?

明確にするために:たとえば、このファイルについて話している https://github.com/umibps/KABURAGI/blob/master/share/themes/Moe-Pink3/gtk-3.0/apps/unity-greeter .css〜

4
wa4557

ドキュメントは見つかりませんでしたが、ソースコードは見つかりました;)

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-imagebackground-colorborder-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タグがあります。いくつかの例:

  1. 背景画像

    <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の文字列が必要であることを意味します
    • 値は画像ファイルへの絶対パスです
  2. 背景色

    <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の文字列が必要であることを意味します
    • 値はカラーコードです
  3. ホスト名を表示

    <key name="show-hostname" type="b">
      <default>true</default>
      <summary>Whether to show the hostname in the menubar</summary>
    </key>
    
    • type="b"は、タグのブール値が必要であることを意味しますdefault
    • 有効な値:true/false
  4. 解像度設定

    <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を使用して正しい値を決定するか、値を操作して動作を確認します

部分的にソース

試行錯誤とソースコードの読み取りが最良のドキュメントです=)

2
A.B.

Unity Greeterテーマのドキュメントはありません。 Adwaita CSSとUnity Greeterのソースは、テーマにできるものを調べるのに最適な場所です。

0
Robert Ancell