X服务器,客户端,窗口管理器中的菜单栏

时间:2017-11-30 01:30:35

标签: c x11 xlib

最近,我正在使用X11编写一个简单的窗口管理器,只是为了了解更多信息!现在我想知道:

  1. 如何在窗口中添加菜单栏? (在撰写申请时)

  2. 窗口管理器如何检测,管理和显示windows menubar?

1 个答案:

答案 0 :(得分:1)

  

如何在窗口中添加菜单栏?

应该使用诸如Qt或Gtk之类的X工具包,但原则上可以通过像任何其他窗口内容一样绘制菜单来编制菜单栏。当然后者会非常繁琐且容易出错,但它最终可行。

  

窗口管理器如何检测,管理和显示windows菜单栏?

他们通常不会。特定的WM可能通过WM和客户端应支持的某种非标准协议了解客户端菜单栏。 ICCCM中没有与菜单相关的API。 desktop.org WM specs中有与菜单相关的API,但这些API与撕下和弹出菜单有关,而不是菜单本身。 X工具包已经恰当地处理了这些问题,因此应用程序编写者不应该做任何特别的事情。