以WM无关的方式操作X11窗口菜单

时间:2015-10-20 10:06:03

标签: qt gtk x11 xlib ewmh

基于Motif的窗口管理器(MwmDtwm4Dwm5Dwm)允许将自定义菜单项(带有相应的回调)添加到应用程序窗口菜单(见截图,可用的要点here)。应用程序本身也需要与-lXm链接(至少XmAddProtocols()XmAddProtocolCallback()可用)。

Mwm custom window menu

X Window 的角度来看,这是通过客户端设置的一些额外Atom来实现的:

_MOTIF_WM_MESSAGES(ATOM) = _MOTIF_WM_OFFSET, CUSTOM_MENU_ACTION_A, CUSTOM_MENU_ACTION_B
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, _MOTIF_WM_MESSAGES
_MOTIF_WM_MENU(STRING) = "no-label                                 f.separator\n
    Custom\ Menu\ Title                      f.title\n
    XTerm                                    f.exec \"xterm &\"\n
    Custom\ Menu\ Action\ A Shift Alt<Key>F1 f.send_msg 393\n
    Custom\ Menu\ Action\ B Shift Alt<Key>F2 f.send_msg 394\n"

显然,任何现代 EWMH 兼容的窗口管理器都不支持此行为。此外,EWMH specification似乎没有提供任何替代方案。

是否有任何非Motif跨WM方式来操作窗口菜单( GTK Qt Xlib )?

0 个答案:

没有答案