gtk+: How to Draw Custom Window Borders Like Chrome or Steam

标签 gtk gtk3 cairo

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

我如何淡化 GTK 装饰并使用 Cairo 之类的东西重新设计它们?

最佳答案

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

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

关于gtk+: How to Draw Custom Window Borders Like Chrome or Steam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43593613/

相关文章:

c++ - 如何在 Opengl Windows 上使用 Cairo 加速绘图?

c++ - GtkGLArea 清除背景但不绘制

c - 如何 "check"GtkCellRendererToggle?

python - 使用 Python 从包含 PNG 图像的原始矢量生成图像。

java - 仅为在 Ubuntu 中运行的 Eclipse 更改 GTK3 工具提示颜色

linux - GTK2 与 GTK3 : detect GTK3 theme in bash script

c++ - 为什么我的 cairo_surface_t 绘图是半透明的?

python - 如何使 gtk 中的两个元素具有相同的大小?

c - 使用 Meson 在 Windows 上构建并运行 GTK 应用程序

python - webkit:是否可以将 cookie 存储到文件中并再次使用?