Mozilla Firefox和Ubuntu Software Center等应用程序可以将标题栏渐变扩展到其工具栏区域。示例如下:
如何在我的应用程序中实现相同的效果?
答案 0 :(得分:3)
首先,您提到的两个应用程序是使用不同的工具包和技术构建的,因此采用不同的方法来执行您愿意执行的操作。虽然Firefox使用XUL/GTK2
,但USC使用GTK3
。我将解释这两种方法。
Ubuntu软件中心使用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
分配给工具栏。有关相关文档,请查看here。
Firefox是使用XUL构建的,并使用GTK2在GNU / Linux发行版(如Ubuntu)上呈现小部件。 Firefox tab-bar
的样式来自menubar
的外观定义,如相关主题的gtkrc
文件中所定义。在默认主题氛围的情况下,它是
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中编写应用程序以使用本机样式。