Gtk +:如何绘制自定义窗口边框,如Chrome或Steam

时间:2017-04-24 16:43:00

标签: gtk gtk3 cairo

我想知道是否可以在Gtk中使用Cairo绘制(即设计)窗框,以便可以使用Cairo API来装饰曲面,例如添加渐变。

我如何调低GTK装饰并用开罗之类的东西重新设计它们?

2 个答案:

答案 0 :(得分:1)

通常在Linux窗口装饰(边框,标题栏,关闭和最小化按钮等)上由Window Manager绘制,这有助于在不同窗口之间保持相似的外观和行为。

但是,应用程序可能会向窗口管理器发出信号,要求它禁用窗口管理器提供的装饰并绘制自己的装饰。在Gtk +中,可以通过在GtkWindow上调用gtk_window_set_decorated,然后使用Cairo绘制自己的边框来实现。

答案 1 :(得分:0)

你必须写一个window manager。使用GTK和Cairo绘制窗口装饰的窗口管理器(现已淘汰)的示例是Metacity