【发布时间】:2016-10-17 23:58:28
【问题描述】:
我的问题
我正在使用 Anjuta/gtkmm/C++ 并想设计一个看起来类似于其他 gnome 3 程序的程序。
这包括带有自定义按钮的大型可拖动标题栏和其他视觉效果,例如窗口后面更大的背景阴影。
黑条问题
到目前为止,我发现了 GtkHeaderBar 小部件。我还发现您可以使用main_win->set_titlebar(*header_bar); 使其可拖动。此外,我在 glade 插件(Anjuta 内部)中勾选了“客户端窗口装饰”复选框。
但是现在看起来如下图所示。我如何摆脱那个黑条?
与其他桌面的兼容性
另一个问题是如何保持与其他 DE 的兼容性?我敢打赌有两个不同的 glade/xml 文件(或其中的一部分在两个外部文件中)。一个包含生成类似 gnome-3 的窗口的代码,一个包含生成普通窗口的代码。加载程序时,根据它是在 gnome 3 还是任何其他桌面环境下运行来决定应该加载哪个文件。但是确定 DE 是否为 gnome 3 的最佳方法是什么?
更新
当我取消选中“客户端窗口装饰”和“装饰”时,黑条消失了。但是阴影和圆角也消失了。
我这样做的方式是否正确?应该怎么做?
【问题讨论】:
-
minimal reproducible example 会有所帮助并只回答一个问题。