GNOME 3テーマ(Adwaitaなど)の参照ソリューションはどこにありますか?

GNOME 3テーマ(Adwaitaなど)の参照ソリューションはどこにありますか?

私はGNOME 3.14(および関連GTK +関連トピック)に焦点を当てたFedora 21にアップグレードしました。残念なことに、この特定のアップデートは、古い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開発者のウェブサイトが私の研究の試みを拒否しました。彼らのテーマ仕様。

簡単に言えば、私はGNOME 3.14の元のテーマ仕様を見つけたいと思います(存在すると仮定)。どうすればいいですか?それともアプローチをどのように修正できますか?

答え1

.css基本テーマAdwaitaはバイナリ形式で提供されているため、このファイルには1行しかありません。

Adwaitaは複雑なテーマなので、メンテナンスを可能にするためにSASSで作成および処理し、生成されたCSSをgtkビルド中にgresourceファイルに変換して読み取れない、または編集できない形式で実行して使用します。


gnome 4.*すべて閲覧ファイル:

テーマを調整する方法


デフォルトは複雑なトピックなので、メンテナンスのためにSASSによって作成および処理されます。生成されたCSSはgtkビルド中にgresourceファイルに変換され、実行時に読み取れないまたは編集可能な形式で使用されます。

変更は_common.scssファイルで発生した可能性があります。すべてのウィジェットセレクタが定義されている場所です。以下は「サポートされている」スタイルシートの概要です。これは、スタイルシートの修正によって駆動できる正しい位置ではない可能性が高いです。

_colors.scss - グローバルカラー定義。私たちは定義された色の数を必要最小限に保ち、ほとんどの色はいくつかの基本から派生します。明るいバリエーションとダークバリエーションの両方をカバーしています。

_colors-public.scss - サードパーティ製アプリケーションのカラーブレンドを可能にするためにgtk経由でエクスポートされたSCSSカラー。

_drawing.scss - 特定のコンテキストでウィジェットの描画をより簡単に定義できる描画ヘルパーのミックスイン/関数です。これがデフォルトが 15000 LOC ではない理由です。

_common.scss - 各ウィジェットの実際のスタイル定義です。ここから変更を追加/削除できます。

次のサイトでSASSについて読むことができます。http://sass-lang.com/documentation/。 _common.scss ファイルを変更すると、GTK は CSS ファイルを再構築します。

また、ガイドを確認してくださいデフォルトのlight.scssそして基本-dark.scss:

//一般的なガイドライン:
// - 他のコンテンツを編集したくないでしょう_common.scss
。 // - 定義された色数を最小限に保ちます。
微妙な色合いが必要な場合は、カラーブレンド機能を使用してください。 - 色を反転する必要がある場合の機能。
// @if ディレクティブを使用して dark $variant と一致させます。

同じgitディレクトリ(Default)に次のファイルを見つけることができます。
_common.scss_colors.scss_colors-public.scssそして_drawing.scss


For gnome 3.*:
コードが含まれているので、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.

同じgitディレクトリ()で上記のファイルと参照スキームをAdwaita見つけることができます。_*.scss

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

答え2

ウィンドウのトップバーの色に関する同様の質問から、私自身の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セレクタを見つけるには、環境変数を使用してGTK3アプリケーションを開きますGTK_DEBUG=interactive。例えば、

GTK_DEBUG=interactive nautilus

これにより、GTKウィンドウでチェッカーが開きます。そうでない場合は、 Ctrl+ Shift+を押しますI

検査官のスクリーンショット

関連情報