Informacje o wmctrl
Za pomocą wmctrl
(domyślnie nie instalowanego) możemy uzyskać informacje na temat okien, ich identyfikatora, geometrii, pid, do którego należą itp. Możemy także przenosić lub zmieniać rozmiar okien za pomocą kilku poleceń. Jednak pod niektórymi względami jego zachowanie nie wydaje się logiczne. Moje pytanie dotyczy przenoszenia okien przez wmctrl
:
Zbierać informacje
Po uruchomieniu polecenia:
wmctrl -lG
Otrzymuję (ao) następujące informacje o oknie na poniższych obrazkach:
0x04200085 0 746 443 468 205 jacob-System-Product-Name Niet-opgeslagen document 1 - gedit
W kolumnie 3-5 informacje o geometrii mówią nam o współrzędnych x / y oraz szerokości / wysokości.
Przenoszenie / zmiana rozmiaru okna
Kiedy wstawię te współrzędne do wmctrl
polecenia przesunięcia / zmiany rozmiaru okna, nie powinno to nic robić, ponieważ współrzędne pozostają niezmienione:
wmctrl -ir 0x04200085 -e 0,746,443,468,205
Odchylenie
Jednak poniższe zdjęcia pokazują, że okno jest przesuwane w dół (a dokładniej 28 pikseli). Założyłem, że powodem było to, że polecenie wmctrl
przesunięcia okna obliczono na podstawie obszaru roboczego (ekran minus wysokość panelu), a wmctrl -lG
polecenie obliczono na podstawie całkowitego rozmiaru ekranu . Jednak nadal 4px nie jest wyjaśnione (panel ma 24px wysokości).
Chociaż odchylenie można bardzo dobrze zrekompensować w skryptach, fakt, że nie rozumiem przyczyny, nie jest satysfakcjonujący, więc pytanie brzmi:
Co jest dokładnie przyczyną tego odchylenia?
Przesunięcie okna o dokładnych współrzędnych na wyjściu wmctrl -lG
nie powinno przesuwać okna, ale tak się dzieje