Про wmctrl
За допомогою wmctrl
(не встановлено за замовчуванням) ми можемо отримати інформацію про вікна, їх ідентифікатор, їх геометрію, номер, до якого вони належать тощо. Ми також можемо переміщувати або змінювати розмір вікон за допомогою кількох команд. Однак в деяких аспектах його поведінка здається не логічною. Моє запитання щодо переміщення вікон за допомогою wmctrl
:
Отримання інформації
Коли я запускаю команду:
wmctrl -lG
Я отримую (ао) таку інформацію про вікно на малюнку (их) нижче:
0x04200085 0 746 443 468 205 jacob-System-Product-Name Niet-opgeslagen document 1 - gedit
У колонці 3-5 інформація про геометрію повідомляє нам координати x / y та ширину / висоту.
Переміщення / зміна вікна
Коли я вставлю ці координати в wmctrl
команду переміщення / зміни вікна, вона нічого не повинна робити, оскільки координати не змінюються:
wmctrl -ir 0x04200085 -e 0,746,443,468,205
Відхилення
Однак на малюнках нижче видно, що вікно зрушено вниз (якщо бути точним 28 пікселів). Я припустив, що причина полягає в тому, що команда wmctrl
переміщення вікна обчислюється робочою зоною (екран мінус висота панелі), тоді як wmctrl -lG
команда обчислюється із загальним розміром екрана . Тоді все ще 4px незрозуміло (панель високою 24 пікселів).
Хоча відхилення дуже добре можна компенсувати в сценаріях, той факт, що я не розумію причини, не задовольняє, тому питання:
Яка саме причина цього відхилення?
Переміщення вікна з точними координатами у висновку wmctrl -lG
не повинно переміщувати вікно, але це робить