最近我正在使用 X11 编写一个简单的窗口管理器,只是为了了解更多!现在我想知道:
如何向窗口添加菜单栏? (写申请时)
窗口管理器如何检测、管理和显示窗口菜单栏?
最佳答案
How can I add a menubar to a window?
应该使用 X 工具包,例如 Qt 或 Gtk,但原则上可以通过像任何其他窗口内容一样绘制菜单栏来构建菜单栏。当然,后者会非常乏味且容易出错,但它是可行的(最终)。
How window managers detects, manage and show windows menubar?
他们通常不会。特定的 WM 可能通过 WM 和客户端都应支持的某种非标准协议(protocol)了解客户端菜单栏。 ICCCM中没有菜单栏相关的API 。 desktop.org WM specs中有菜单相关的API但这些涉及撕下菜单和弹出菜单,而不是菜单栏本身。 X 工具包已经适本地处理了这些问题,因此应用程序编写者不应该做任何特殊的事情。
关于c - X 服务器、客户端、窗口管理器中的菜单栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47564506/