Über wmctrl
Mit wmctrl
(nicht standardmäßig installiert) können wir Informationen zu Fenstern, ihrer ID, ihrer Geometrie, der PID, zu der sie gehören usw. abrufen. Wir können Fenster auch mit mehreren Befehlen verschieben oder ihre Größe ändern . In mancher Hinsicht scheint sein Verhalten jedoch nicht logisch zu sein. Meine Frage bezieht sich auf das Verschieben von Fenstern durch wmctrl
:
Informationen erhalten
Wenn ich den Befehl ausführe:
wmctrl -lG
Ich erhalte (ao) die folgenden Informationen über das Fenster in den Bildern unten:
0x04200085 0 746 443 468 205 jacob-System-Product-Name Niet-opgeslagen document 1 - gedit
In Spalte 3-5 geben die Geometrieinformationen die x / y-Koordinaten und die Breite / Höhe an.
Fenster verschieben / in der Größe ändern
Wenn ich diese Koordinaten in den wmctrl
Befehl zum Verschieben / Ändern der Größe eines Fensters einfüge , sollte dies nichts bewirken , da die Koordinaten unverändert bleiben:
wmctrl -ir 0x04200085 -e 0,746,443,468,205
Abweichung
Die Bilder unten zeigen jedoch, dass das Fenster nach unten verschoben ist (28px um genau zu sein). Ich nahm an, dass der Grund dafür war, dass der Befehl zum wmctrl
Verschieben des Fensters mit dem Arbeitsbereich (Bildschirm minus Panelhöhe) wmctrl -lG
berechnet wurde , während der Befehl mit der Gesamtbildschirmgröße berechnet wurde . Dann ist immer noch 4px ungeklärt (das Panel ist 24px hoch).
Obwohl die Abweichung in Skripten sehr gut kompensiert werden kann, ist die Tatsache, dass ich die Ursache nicht verstehe, nicht zufriedenstellend, daher lautet die Frage:
Was genau ist die Ursache für diese Abweichung?
Das Verschieben eines Fensters mit den genauen Koordinaten in der Ausgabe von wmctrl -lG
sollte das Fenster nicht verschieben, tut es aber