Python: Xlib - Как я могу поднять (довести до верха) окна? - PullRequest
4 голосов
/ 24 октября 2009

Я пытался использовать:

   win.configure(stack_mode=X.TopIf)
   win.set_input_focus(X.RevertToParent, X.CurrentTime)

Однако даже без предотвращения потери фокуса в моем оконном менеджере это не работает, кто-нибудь знает другой способ сделать это? Xlib или нет.

Ответы [ 3 ]

3 голосов
/ 31 октября 2009

Существует инструмент командной строки под названием wmctrl , который позволяет вам взаимодействовать с EWMH / NetWM-совместимыми оконными менеджерами.

Например,

wmctrl -l

перечисляет все окна, управляемые оконным менеджером, и

wmctrl -a Mozilla 

активизирует первое окно в списке, в заголовке которого есть строка «Mozilla». Есть и другие способы выбора окон; Выше приведен только пример.

wmctrl позволяет перемещать и изменять размеры окон.

1 голос
/ 21 июля 2010

Попробуйте это:

window=Display().screen().root.query_pointer().child
window.set_input_focus(X.RevertToParent, X.CurrentTime)
window.configure(stack_mode=X.Above)
0 голосов
/ 31 октября 2009

Возможно, это решение:
[Xlib] Force Raise / Map / Focus для данного окна

Данное решение (следите за потоком) включает использование wnck, который в Python является частью привязок Gtk +.

...