Mozilla Firefox や Ubuntu Software Center などのアプリケーションは、タイトル バーのグラデーションをツールバー領域まで拡張できます。例は次のとおりです。
アプリケーションで同じ効果を得るにはどうすればよいですか?
Mozilla Firefox や Ubuntu Software Center などのアプリケーションは、タイトル バーのグラデーションをツールバー領域まで拡張できます。例は次のとおりです。
アプリケーションで同じ効果を得るにはどうすればよいですか?
まず、あなたが言及した 2 つのアプリケーションは、異なるツールキットとテクノロジを使用して構築されているため、意図したことを実行するために異なる方法を採用しています。Firefox は を使用しますがXUL/GTK2
、USC は を使用しGTK3
ます。両方のアプローチについて説明します。
Ubuntu Software Center は を使用して構築されてGTK3
いるため、ツールバーのグラデーションはテーマ css ファイルで定義されています。これを実現するコードは
/* primary-toolbar */
.primary-toolbar,
.primary-toolbar .toolbar,
.primary-toolbar.toolbar {
-GtkWidget-window-dragging: true;
background-image: -gtk-gradient (linear, left top, left bottom,
from (shade (@dark_bg_color, 0.96)),
to (shade (@dark_bg_color, 1.4)));
border-bottom-color: shade (@dark_bg_color, 1.1);
border-top-color: shade (@dark_bg_color, 1.09);
border-style: solid;
border-width: 1px 0 1px 0;
color: @dark_fg_color;
text-shadow: 0 -1px shade (@dark_bg_color, 0.7);
box-shadow: inset 0 1px shade (@dark_bg_color, 0.94);
}
これを gtk3 アプリケーションで使用するには、クラスprimary-toolbar
をツールバーに割り当てる必要があります。これに関する適切なドキュメントについては、こちらをご覧ください。
Firefox は XUL を使用して構築され、GTK2 を使用して Ubuntu などの GNU/Linux ディストリビューションでウィジェットをレンダリングします。tab-bar
Firefoxの のスタイル設定は、関連するテーマmenubar
のファイルで定義されている の外観定義から取得されます。gtkrc
デフォルトテーマ Ambience の場合は、
style "menubar" = "dark" {
engine "murrine" {
textstyle = 2
text_shade = 0.33
gradient_shades = {1.0, 1.0, 1.0, 1.0}
lightborder_shade = 1.0
}
}
他のツールキットでもさまざまな方法で効果を実現できますが、ネイティブ スタイルを使用するためにアプリケーションを gtk3 で作成することをお勧めします。