web-dev-qa-db-ja.com

GNOME 3テーマのリファレンススキームはどこにありますか(例:Adwaita)?

私はFedora 21にアップグレードしました。これはGNOME 3.14(および関連するGTK +マテリアル)にスポットを当てています。残念ながら、この特定のアップデートは、GNOME 3の現在のバージョンで書かれた私の古いテーマの多くを壊してしまっているようです。以前はきしみがあったかもしれませんが、今では少し変わっているように見えます。

私はホイールを再発明することを想定していません。既存のCSSテンプレート(たとえば、デフォルトのAdwaita 3.14仕様)を使用して、好きなようにあちこちに微調整したいと思います。派手な飛行はありません。 /usr/share/themes/Adwaita/gtk-3.0/gtk.cssをのぞいてみたときに引き裂いた髪を想像してみてください。

/* Adwaita is the default theme of GTK+ 3, this file is not used */

それは私を漬物にします。私はこれがどこにあるのかについてドキュメントを掘り下げるGoogle-fuを欠いています(さらに、これは私が見逃していたGNOMEの人々に暗黙的に明らかなものだと直感しています)、そして何らかの理由でGNOME開発者のWebサイトが抵抗しています彼らのテーマ仕様を研究する私の試み。

要するに、私はGNOME 3.14のヴァージンテーマ仕様を見つけたいと思います。これをどのように行うことができますか、または私のアプローチをどのように変更できますか?

8
Kalvin Lee

デフォルトのテーマ(Adwaita)はバイナリとして提供されるため、この特定の.cssファイルには1行しかありません。

Adwaita is a complex theme, so to keep it maintainable it's written and processed in SASS, the generated CSS is
then transformed into a gresource file during gtk build and used at runtime in a non-legible or editable form.

コードはgtk+に含まれているため、ソースファイルを表示できます [〜#〜]ここ[〜#〜] 。彼らのreadmeに従って:

_colors.scss        - global color definitions. We keep the number of defined colors to a necessary minimum, most colors 
                      are derived form a handful of basics. It covers both the light variant and the dark variant.
_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party apps color mixing.
_drawing.scss       - drawing helper mixings/functions to allow easier definition of widget drawing under specific context.
                      This is why Adwaita isn't 15000 LOC.
_common.scss        - actual definitions of style for each widget. This is where you are likely to add/remove your changes.

参照.cssファイルは次のとおりです。

gtk-contained.css
gtk-contained-dark.css

これは古いハウツーですが、いくつかのものが適用されなくなりました(先ほど述べたように、ソースコードはgtk+に含まれています。gnome-themes-standardは廃止されたため)。

GNOME Adwaita GTKテーマをハックする方法

13
don_crissti

ウィンドウのトップバーの色に関する同様の質問から自分のTLDRをここにコピーしています

〜/ .config/gtk-3.0/gtk.css

/* REMOVE "-dark" IF USING LIGHT THEME */
@import url("resource:///org/gtk/libgtk/theme/Adwaita/gtk-contained-dark.css");

/* THIS ONE CHANGES TITLEBAR COLOR */
headerbar.titlebar,
headerbar.titlebar:active {
    background:#3F51B5;
}

/* THIS CHANGES NAUTILUS SEARCH BAR */
.horizontal.path-bar-box,
row:selected:backdrop {
     background:#3F51B5;
     border-color:#3F51B5;
}

デバッグして適切なCSSセレクターを見つけるには、環境変数GTK_DEBUG = interactiveでGTK3アプリを開きます。例えば、

GTK_DEBUG=interactive nautilus

これにより、GTKウィンドウのインスペクターが開きます。そこにない場合は、Ctrl + Shift + Iを押します。

screenshot of inspector

0
mcsy