GTK3:禁用额外的 window 按钮
GTK3: disable extra window buttons
有什么方法可以检测(以标准的 non-hackish 方式)我的带有 GtkHeaderBar 的 Gnome 应用程序是否 运行 在 window 管理器下,该管理器提供自己的 window 装饰(例如,XFWM),以便我可以在不需要时将 gtk_header_bar_set_show_close_button 设置为 FALSE?
UPD:更清楚地说,我想隐藏 GTK header 按钮,而不是 WM 按钮。
对客户端修饰的支持应该来自 window 管理器本身或来自环境的缺乏它的信息。 XFWM 在 4.12 版本中添加了对它们的支持。
Oh wow, many commits, such features ! You can read the 4.11.3
announcement
here
- Client Side Decoration (CSD) support ! (Compositor need to be enabled). A screenshot with and without on gedit (an application that
need CSD) CSD on xfwm4
Source: https://blog.alteroot.org/articles/2015-02-19/new-from-xfce-part-3.html
此外,GTK Headerbar 应该尊重 $GTK_CSD 环境变量的内容,如果设置为 0,则不显示关闭按钮(请注意,如果支持 CSD,则可以不设置此变量)。在Ubuntu.
中可以看出
这意味着它应该为您涵盖,但您也可以尝试检查 $XDG_CURRENT_DESKTOP 的内容或阅读更多 hacky 方法以扩展对更多 WM 和旧系统的支持:more in this stack overflow question.
有什么方法可以检测(以标准的 non-hackish 方式)我的带有 GtkHeaderBar 的 Gnome 应用程序是否 运行 在 window 管理器下,该管理器提供自己的 window 装饰(例如,XFWM),以便我可以在不需要时将 gtk_header_bar_set_show_close_button 设置为 FALSE?
UPD:更清楚地说,我想隐藏 GTK header 按钮,而不是 WM 按钮。
对客户端修饰的支持应该来自 window 管理器本身或来自环境的缺乏它的信息。 XFWM 在 4.12 版本中添加了对它们的支持。
Oh wow, many commits, such features ! You can read the 4.11.3 announcement here
- Client Side Decoration (CSD) support ! (Compositor need to be enabled). A screenshot with and without on gedit (an application that need CSD) CSD on xfwm4
Source: https://blog.alteroot.org/articles/2015-02-19/new-from-xfce-part-3.html
此外,GTK Headerbar 应该尊重 $GTK_CSD 环境变量的内容,如果设置为 0,则不显示关闭按钮(请注意,如果支持 CSD,则可以不设置此变量)。在Ubuntu.
中可以看出这意味着它应该为您涵盖,但您也可以尝试检查 $XDG_CURRENT_DESKTOP 的内容或阅读更多 hacky 方法以扩展对更多 WM 和旧系统的支持:more in this stack overflow question.