Ich habe ein bisschen herumprobiert, wmctrl
um mehr Kontrolle über meine Fenster zu bekommen. Dabei ist mir ein seltsames Verhalten aufgefallen, bei dem Unity den doppelten Platz reserviert.
Sehen Sie sich diesen Screenshot an:
Ich habe das Terminal geöffnet und das Fenster mit dem Top-Befehl verschoben. Es sollte in der oberen linken Ecke sein (X=0 Y=0). Aber aus irgendeinem Grund gibt es einen gewissen Abstand zwischen dem Terminal und den Unity-Balken.
Wenn ich die Manpages richtig verstehe, könnte es etwas damit zu tun haben,WA: 65,24.
Kann mir jemand helfen, das zu beheben?
Antwort1
Wahrscheinlich nicht die Antwort, nach der Sie gesucht haben:
Probleme mit der Kombination von Unity undwmctrl
Die Kombination aus Unity und wmctrl
weist leider einige Eigenheiten auf, zu denen auch das von Dir beschriebene Verhalten gehört.
Betrachten Sie Ihre Ausgabe
- Die, die
65,24
Sie erwähnen, sind dieBreitedes Unity Launcher und derHöheIhres Panels. In der Schlange:
0x03400005 0 0 24 65 1111 janw_VirtualBox unity-launcher
In der Ausgabe von
wmctrl -lG
können Sie sehen, dass der Launcherpositioniertbeix=0, y=24
, während die Größe des Launchers beträgt65 x 1111
. (1111
ist die Höhe Ihres Bildschirms abzüglich der Höhe Ihres Panels)
Streng genommen müsste der Befehl zum Platzieren des aktiven Fensters in der oberen linken Ecke daher lauten:
wmctrl -r :ACTIVE: -e 0,65,24,1500,550
und nicht:
wmctrl -r :ACTIVE: -e 0,0,0,1500,550
Dies wird das Problem jedoch nicht lösen, es ist einfach ein Fehler. Der von Ihnen beschriebene Rand wird weiterhin vorhanden sein. Dasselbe passiert übrigens auch bei Verwendung von xdotool
(nicht standardmäßig installiert):
xdotool windowmove "$(xdotool getactivewindow)" 65 24
oder
xdotool windowmove "$(xdotool getactivewindow)" 0 0
Lesen der Ausgabe vonwmctrl -dG
Wenn Sie sich das 1792x1111
in ansehen WA: 65,24 1792x1111
, können Sie sehen, dass Sie eine Monitorauflösung von 1857
( 65
+ 1792
) x 1135
( 1111
+ 24
) haben.
In diesem Fall, entspricht genau den Werten in DG: 1857x1135
, da Sie nur einen Viewport (Arbeitsbereich) haben: DG
steht für diegesamtGröße Ihres Desktops (alle Ansichtsfenster).
Zusammenfassend
Beide wmctrl
funktionieren xdotool
einwandfrei, wenn Sie ein FenstermaximiertDer von Dir beschriebene Effekt wird nicht eintreten.Ziehen umoderGrößenänderungWindows lässt jedoch einige Pixel sowohl vom Launcher als auch vom Panel übrig, wie indiese Antwort.:
„Das zu verschiebende/in der Größe zu ändernde Fenster muss mindestens einige Pixel vom Unity-Launcher und vom oberen Panel entfernt sein.“
Abgesehen von dem, was Sie beschreiben, ein weiteres Problem, auf das Sie stoßen werden, wenn Sie anfangen, damit herumzuspielen wmctrl
, Unity
ist dasAbweichung, wie beschrieben inDieses hier.