Gibt es eine Möglichkeit für ein Bash-Skript, den Namen des aktuellen Arbeitsbereichs (virtueller Desktop) nachzuschlagen?
Dies scheint sehr nützlich zu sein, um beispielsweise das Verhalten in meiner .bashrc-Datei basierend auf dem Desktop anzupassen, auf dem die Shell erstellt wurde.
wmctrl -d | grep '*' | sed 's/.* //g'
Antworten:
Sie können damit
wmctrl -d
alle Arbeitsbereiche auflisten. Das*
repräsentiert den aktuellen Arbeitsbereich:Um nur den aktuellen Stand zu erhalten, grep nach
*
:Hoffe das hilft!
quelle
wmctrl -d
wmctrl -d
.Ansichtsfenster in Unity
Wenn Sie Unity verwenden , kann das aktuelle Ansichtsfenster nicht direkt von abgerufen werden
da Unity Ansichtsfenster hat, die von nicht direkt erkannt werden
wmctrl -d
. Die Ausgabe zeigt nur einen Arbeitsbereich:xrandr
)5040x2100
. Das sind 3x2-Ansichtsfenster: 5040/1680 = 3 und 2100/1050 = 2.1680,1050
(x, y)Das folgende Skript berechnet das aktuelle Ansichtsfenster aus diesen Informationen:
Benutzen:
Installieren
wmctrl
Führen Sie es mit dem Befehl aus
Es wird 1, 2, 3 oder das aktuelle Ansichtsfenster ausgegeben. Es zählt automatisch Zeilen / Spalten, die Ihre Ansichtsfenster-Konfiguration enthalten kann.
Erläuterung
Das Skript
xrandr
, einschließlich möglicher zusätzlicher Monitore.quelle
Zumindest in der Gnome-Shell, aber wahrscheinlich auch in anderen WM, können Sie den Xserver direkt fragen (wenn in Wayland, keine Ahnung).
Grundsätzlich wird der Befehl
xprop
zurückgegebenund dann können Sie die Informationen ein wenig massieren, um das zu bekommen, was Sie brauchen.
quelle
_NET_DESKTOP_NAMES
.