Как управлять окном моего приложения с помощью python-xlib? - PullRequest
3 голосов
/ 30 мая 2011

Я бы хотел найти способ для управления геометрией окна моего приложения, который я программирую с использованием Python, в рамках всего linux (поскольку он использует X11). Все мои исследования указывают на использование python-xlib , что очень плохо документировано.

Чего бы я хотел достичь:

  • определить положение окна на экране
  • определить минимальный и максимальный размер
  • включить / отключить изменение размера окна
  • резервное пространство экрана для окна
  • держать окно выше / ниже
  • пропустить или нет панель задач (он же список окон)
  • комплект окон украшен / не украшен
  • установить флажки окна (обычное, всплывающее окно, диалог, всплеск, док, игнорируется)

Примечание: я не хочу создавать с помощью Xlib, вместо этого я хочу сказать X, что делать с окном, которое я создал с некоторой библиотекой GUI (например, PyQt).

Как я могу это сделать? Я понимаю, что этот вопрос довольно большой: у вас есть хотя бы намеки на то, как я могу заполучить мое окно? Где в модуле я могу найти мои ответы?

Редактировать: ответ nm предоставил большие ресурсы, а также есть еще один вопрос и ответ по Unix StackExchange , который предоставляет отличный пример того, как получить контроль над окном приложения, отображаемым X.

1 Ответ

2 голосов
/ 30 мая 2011

Первое ключевое слово, которое вам нужно знать, - ICCCM. Вы должны быть знакомы с руководством ICCCM (см. http://tronche.com/gui/x/icccm/) и расширения FreeDesktop к нему (см. http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html). Что касается вашего вопроса

как мне достать окно?

Я не совсем понимаю. Вы вызываете create_window, и функция возвращает ваш объект Window. Или ты имеешь в виду что-то еще?

...