Ich möchte die Größe des aktuellen Fensters aus einem Shell-Skript erhalten ...
Wirklich nicht viel anderes zu sagen ... Ich würde lieber wmctrl verwenden.
quelle
Ich möchte die Größe des aktuellen Fensters aus einem Shell-Skript erhalten ...
Wirklich nicht viel anderes zu sagen ... Ich würde lieber wmctrl verwenden.
wmctrl -lG
Wird Ihnen etwas geben wie:
oli@bert:~$ wmctrl -lG
0x0384c0d5 -1 1590 1030 330 170 bert N/A
0x01200023 -1 0 0 3840 1200 bert x-nautilus-desktop
0x01000003 -1 3840 2352 1920 24 bert Bottom Expanded Edge Panel
0x01000028 -1 0 2352 1920 24 bert Bottom Expanded Edge Panel
0x0500003e 0 676 252 1404 1015 bert Chromium
0x02e00021 0 3860 160 1361 1084 bert Liferea
0x02000047 0 6650 940 506 683 bert Social broadcast messages
0x04600004 0 4546 460 1263 833 bert oli@bert: ~
Damit können Sie grep
und cut
sich auf diese , so dass Sie mit den Geometriewerte werden links (Spalten 3-6).
So zitieren Sie die Manpage, damit Sie genau verstehen, was die Spalten sind:
-l
Listen Sie die Fenster auf, die vom Fenstermanager verwaltet werden. Für jedes Fenster wird eine Zeile ausgegeben, wobei die Zeile in durch Leerzeichen getrennte Spalten unterteilt ist. Die erste Spalte enthält immer die Fensteridentität als hexadezimale Ganzzahl und die zweite Spalte enthält immer die Desktop-Nummer (ein -1 wird verwendet, um ein klebriges Fenster zu identifizieren). Wenn die Option -p angegeben ist, enthält die nächste Spalte die PID für das Fenster als Dezimalzahl. Wenn die Option -G angegeben ist, folgen vier ganzzahlige Spalten: x-Versatz, y-Versatz, Breite und Höhe. Die nächste Spalte enthält immer den Namen des Clientcomputers. Der Rest der Zeile enthält den Fenstertitel (möglicherweise mit mehreren Leerzeichen im Titel).
Ich glaube wmctrl hat nicht jede Möglichkeit, die für die Suche nach aktiven Fenstern Id direkt.
Wenn jemand weiß, wie es geht, interessiert es mich.
Das heißt, hier sind ein paar Skripte, die die Größe des aktiven Fensters ausdrucken.
Dies ist: wmctrl + xdotool ... (ohne sed).
Dies ist: xwininfo + xdotool + sed
xwininfo
ist ein Teil vonx11-utils
quelle
Verwenden Sie
xprop
oderxwininfo
. Beide sind standardmäßig installiert, keine Installation erforderlichAnwendungsbeispiele:
Beide Befehle verwandeln den Cursor in ein Quadrat / Kreuz, um ein bestimmtes Fenster auswählen zu können.
Alternativ kann man das Fenster in der Befehlszeile in XID-Form angeben
Andere Beiträge, bei denen diese verwendet wurden
Insbesondere wurde
xwininfo
von mir aktiv für Scripte verwendet, wie zum Beispiel auf diesen AskUbuntu-Fragen:quelle
Shell-Skripte kennen oder interessieren sich nicht für Windows. Bestenfalls laufen sie in einem Terminal (das in einem Fenster angezeigt werden kann oder nicht). Wenn Sie die Breite und Höhe des Terminals in Zeichen erhalten möchten, verwenden Sie das Dienstprogramm stty.
quelle
Ich fand
tput cols
es ganz nett zu arbeiten!quelle
wmctrl
, dass es sich nicht um Konsolen-, sondern um grafische Umgebungsfenster handelt.Erhalten Sie 3 Bildschirme, diese geben 3 Linien mit den Maßen aus:
quelle