Я пытаюсь написать bash-скрипт для управления расположением открытых окон в определенном окне просмотра и столкнулся с проблемой, которая заключается в том, что я не могу найти способ переместить окна в правильном порядке - «правильный порядок» - тот, который мы можем получить с помощью alt-tab.
Обычно я запускаю свой сценарий, и окна находятся в нужных местах на экране, но терминал, из которого он запущен, оказывается под каким-то другим окном, так как список окон, возвращаемых wmctrl, кажется, не в порядке alt-tab.
Возможно, wmctrl не располагает этой информацией, и в этом случае я надеюсь, что кто-то может предложить альтернативный интерфейс или подход.
И хотя я обращаю ваше внимание, может быть, кто-то также может объяснить странность, которую я обнаружил, заключающуюся в том, что происхождение окна, возвращаемое "wmctrl -lG", кажется, имеет размеры в 1/2 пикселя +/- смещение по x и y или "что-то" (в то время как ширина + высота в пикселях)?
Так, например:
$ wmctrl -i -r 0x08e01de3 -e 0,100,100,-1,-1
перемещает указанное окно к тому, что выглядит как 100 100 на экране, но затем читает окно информация назад:
$ wmctrl -lG|grep 0x08e01de3
0x08e01de3 0 196 246 1267 639 U10
196? 246?
Это непротиворечиво и достаточно просто для кодирования, но мне кажется странным, и я беспокоюсь, что я что-то неправильно понимаю.
Спасибо за любую помощь и извинения, если я нарушил какие-либо правила с этой публикацией. Это мой первый вопрос, и я постараюсь улучшить его в следующий раз.