Mich würde interessieren, wie ich Informationen wie die Abmessungen meines Desktops, welcher Desktop gerade aktiv ist und welche Bezeichnungen (sofern vorhanden) für meine Desktopumgebung (DE) festgelegt sind, abrufen kann.
Antwort1
Mit dem Tool wmctrl
können Sie alle oben genannten Informationen, insbesondere den -d
Schalter, abrufen.
Beispiel
$ wmctrl -d
0 * DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 Workspace 1
1 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826
2 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A
3 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A
Einzelheiten
Für jeden Desktop wird eine Zeile ausgegeben, wobei die Zeile in durch Leerzeichen getrennte Spalten unterteilt ist.
- Die erste Spalte enthält eine ganzzahlige Desktopnummer.
- Die zweite Spalte enthält ein „*“-Zeichen für den aktuellen Desktop, andernfalls ein „-“-Zeichen.
- Die nächsten beiden Spalten enthalten die feste Zeichenfolge DG: und dann die Desktop-Geometrie als „x“ (z. B. „1280 x 1024“).
- Die folgenden beiden Spalten enthalten die feste Zeichenfolge VP: und dann die Ansichtsfensterposition im Format ',' (z. B. '0,0').
- Die nächsten drei Spalten danach enthalten die feste Zeichenfolge WA: und dann zwei Spalten mit der Arbeitsbereichsgeometrie als „X, Y und B x H“ (z. B. „0,0 1280 x 998“).
- Der Rest der Zeile enthält den Namen des Desktops (möglicherweise mit mehreren Leerzeichen).
Besonders coole Dinge, die Sie mit wmctrl tun können
Liste mit Informationen zum Fenster-Manager
$ wmctrl -m
Name: compiz
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF
Liste der aktiven Fenster
$ wmctrl -l
0x00c00028 -1 grinchy Top Expanded Edge Panel
0x0120001e 0 grinchy x-nautilus-desktop
0x06015fee 0 grinchy saml@grinchy:~
0x06000004 0 grinchy saml@grinchy:~
0x05a000d1 0 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
Für jedes Fenster wird eine Zeile ausgegeben, die in durch Leerzeichen getrennte Spalten unterteilt ist.
- Die erste Spalte enthält immer die Fensteridentität als hexadezimale Ganzzahl.
- Die zweite Spalte enthält immer die Desktopnummer (eine -1 wird verwendet, um ein Sticky Window zu identifizieren).
- Wenn die
-p
Option angegeben ist, enthält die nächste Spalte die PID für das Fenster als Dezimalzahl. - Wenn die
-G
Option angegeben ist, folgen vier ganzzahlige Spalten: X-Offset, Y-Offset, Breite und Höhe. - Die nächste Spalte enthält immer den Namen des Client-Rechners.
- Der Rest der Zeile enthält den Fenstertitel (ggf. mit mehreren Leerzeichen im Titel).
-p
Switch-Beispiel
0x06015fee 0 3278 grinchy saml@grinchy:~
0x06000004 0 3278 grinchy saml@grinchy:~
0x05a000d1 0 4676 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
-G
Switch-Beispiel
0x06015fee 0 3378 128 941 361 grinchy saml@grinchy:~
0x06000004 0 900 142 947 397 grinchy saml@grinchy:~
0x05a000d1 0 0 50 1440 826 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
*NOTIZ:Die -p
und -G
Schalter sind auch kombinierbar!
Wechseln zu einem anderen Desktop
$ wmctrl -s 2
NOTIZ:Die Nummerierung der Desktops beginnt bei 0, 1 wäre also der zweite.
Reduzieren Sie die Anzahl der Desktops
$ wmctrl -n 3
Wir haben jetzt 3 statt 4.
$ wmctrl -d | wc -l
3
Stellen Sie es nun wieder auf 4 ein.
$ wmctrl -n 4
$ wmctrl -d | wc -l
4
Schließen eines Fensters
$ wmctrl -l | grep GVIM
0x02a00003 0 grinchy [No Name] - GVIM
$ wmctrl -c GVIM
$ wmctrl -l | grep GVIM
$