有没有办法用GTK2更改标题栏?

时间:2010-09-20 15:44:46

标签: ruby titlebar gtk2

我有一个用Ruby编写的桌面应用程序正在使用GTK2。这只是一个与GTK2一起玩的小测试应用程序,但是我在实现我想做的事情时遇到了问题。是否有任何方法使用GTK2进入标题栏(除了设置标题),特别是添加一个按钮(在最小/最大/等旁边,下图中的B)或添加选项到菜单单击标题栏上的图标时弹出(下图中的A)?

alt text

我认为可能没有,因为GTK意味着与许多不同的窗口管理器合作,但我只是想知道是否存在。作为一个附带问题,单击“交叉”按钮会触发什么事件?目前,如果用户点击该窗口消失但程序没有结束 - 我需要捕获该事件并退出该程序。

感谢您的帮助,包括打我的头,告诉我我有多傻。

2 个答案:

答案 0 :(得分:1)

请注意,使用gtk_window_set_titlebar()可以在GTK 3.10及更高版本中实现。它用自定义栏替换窗口管理器的标题栏。 GtkHeaderBar是一个很好的自定义标题栏类。

但是,你不能让它看起来就像窗口管理器一样,因为你不知道用户正在运行哪个窗口管理器。

答案 1 :(得分:0)

不,标题栏由窗口管理器拥有,您通常无法直接访问它。

当用户通过单击窗口管理器按钮尝试关闭窗口时,窗口将收到delete event