Управление оконным меню X11 без учета WM

Оконные менеджеры на основе мотивов (Mwm, Dtwm, 4Dwm, 5Dwm) разрешить добавление пользовательских элементов меню (с соответствующими обратными вызовами) в меню окна приложения (см. скриншот, суть которого доступна здесь). Само приложение также требуется для связи с -lXm (по крайней мере, для XmAddProtocols() а также XmAddProtocolCallback() быть доступным).

Mwm меню пользовательских окон

С точки зрения 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 нет альтернативы.

Есть ли какой-нибудь не-Motif кросс-WM способ манипулирования оконным меню (GTK, Qt или Xlib)?

0 ответов

Другие вопросы по тегам