2017-12-30 44 views
1

私はGnome 3用のテーマを作成しようとしていますが、タイトルバーのスタイリングに問題があります。私はバーのスタイルを設定するために次のCSSを使用していますが、タイトルバーをオーバーライドするのにを使用するウィンドウにのみ適用されます。gnome-3のタイトルバーのテーマ/スタイルを設定するには?

headerbar { 
    border: 1px solid #000000; 
    border-bottom: none; 
    border-radius: 4px 4px 0 0; 
    box-shadow: inset 1px 1px 0px 0px rgba(255, 255, 255, 0.25), inset -1px 1px 0px 0px rgba(255, 255, 255, 0.25); 
    background-image: linear-gradient(to right, rgba(109, 179, 242, 0.5) 0%, rgba(84, 163, 238, 0.5) 50%, rgba(54, 144, 240, 0.5) 51%, rgba(30, 105, 222, 0.5) 100%); 
    padding: 0 5px; 
} 

headerbar:backdrop { 
    border: 1px solid #303030; 
    border-bottom: none; 
    background-image: linear-gradient(to right, #C1C1C1 0%, #B1B1B1 50%, #A2A2A2 51%, #8B8B8B 100%); 
} 

/* Window Body */ 
window { 
    border: 1px solid #000000; 
    border-top: none; 
    border-radius: 0 0 4px 4px; 
    box-shadow: inset 1px -1px 0px 0px rgba(255, 255, 255, 0.25), inset -1px -1px 0px 0px rgba(255, 255, 255, 0.25); 
    background-image: linear-gradient(to right, rgba(109, 179, 242, 0.5) 0%, rgba(84, 163, 238, 0.5) 50%, rgba(54, 144, 240, 0.5) 51%, rgba(30, 105, 222, 0.5) 100%); 
    padding: 5px; 
} 

window:backdrop { 
    border: 1px solid #303030; 
    border-top: none; 
    background-image: linear-gradient(to right, #C1C1C1 0%, #B1B1B1 50%, #A2A2A2 51%, #8B8B8B 100%); 
} 

window > box { 
    border: 1px solid black; 
    border-radius: 3px; 
    box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.25); 
    margin: 4px; 
    background-color: #ABABAB; 
    background-image: none; 
} 

ウィンドウマネージャは、私が提供しているCSSではなく、最後に読み込まれたテーマのスタイリング情報を使用しているようです。私はgsettings set org.gnome.desktop.interface gtk-theme "<theme name"を実行してテーマを切り替えています。

これはこれはAmbiance Picture of theme with "ambiance"

この後、私のテーマに切り替えるときgtk3-demoウィンドウは次のようになります Picture of theme applied properly

タイトルバーが(別のウィンドウに適用される)ように見えることになっているものです後にテーマに切り替えるとgtk3-demoのウィンドウが表示されます。Adwaita enter image description here

私の結論は、headerbarとは別のCSSノードまたはクラスの別のセットがありますが、私が.header-barを使ってオンラインで見つけた提案はどれも成功につながっていません。 GTK_DEBUG=interactive gtk3-demoで対話型デバッガを起動してCSSノードの階層を調べようとしましたが、ノード階層ビューアはタイトルバーを含まないwindowノードで終了します。

gnome-3でテーマのタイトルバーをスタイルする適切な方法は何ですか?参照のために使用できるcssノードのマスターリストがありますか?

編集:私はちょうど出くわしたとdecorationタグを試してみましたが、それはGtkHeaderBar要素のないウィンドウには影響しませんheaderbarと同じ問題を、持っているようです。

編集2:私の問題は必ずしも私が作成したCSSであるとは限りません。タイトルバーの変更を誘発しようとする最後の努力として、私はルール* { color: #00ff00; background-color: #ff0000; background-image: none}を作成しましたが、タイトルには影響しませんでした。私は今、デフォルトのタイトルバーが、アプリケーションcss以外の場所、おそらく~/.themes/xyz/ディレクトリの下の別のフォルダにあると思っています。現在、CSS全体をgtk-3.0gtk-3.20の両方のフォルダにコピーしていますが、何も変更されていないようです。これは私のテーマの木です。必要なファイルがありませんか?

. 
├── gtk-3.0 
│ └── gtk.css 
├── gtk-3.20 
│ └── gtk.css 
└── index.theme 

答えて

0

この問題は、ユーザーテーマ拡張をgnome-tweak-toolにインストールすることを忘れたために発生しました。一部のアプリケーションのタイトルバーはアプリケーション自体によって提供されているため、テーマはそれらに適用されましたが、他のプログラムはシェルに依存してタイトルバーを提供していました。

関連する問題