Gibt es eine Möglichkeit, den aktuellen Arbeitsbereich in einer Befehlszeile unter Linux zu erkennen?

822
Tails

Ich brauche einen Befehl für Linux (mein Fenstermanager ist Fluxbox), der den aktuellen Arbeitsbereich als Ausgabe ausgibt (wenn möglich eine einfache Ausgabe, da ich diese Informationen für ein Python-Skript benötige).

Ich habe den Mann (Handbuch) von fluxbox geprüft und es gibt nur wenige Informationen. Wenn Sie online danach suchen, wurde nur erklärt, wie dies auf einem anderen Fenstermanager geschieht.

2
was genau meinst du damit? Wie der FQDN? "hostname" würde den Namen der aktuellen Maschine ausgeben, oder meinen Sie mit etwa 4 Leerzeichen, in welchem ​​der 4 Felder Sie sich befinden würden? Matt Clark vor 8 Jahren 1
Nein, ich meinte, ich brauchte einen Befehl, der mir die Nummer des aktuellen Arbeitsbereichs angibt, in dem ich arbeite. Die Arkadiusz-Drabczyk-Methode hat funktioniert. Ich wusste einfach nicht, ob der Befehl wmctrl. Tails vor 8 Jahren 0

1 Antwort auf die Frage

2
Arkadiusz Drabczyk

fluxboxist EWMH- kompatibler Fenstermanager. Das bedeutet, dass wir Tools verwenden können, um damit wmctrlzu interagieren. So finden Sie den aktuellen Arbeitsbereich:

$ wmctrl -d | grep '*' | cut -d ' ' -f1 

man wmctrl sagt:

-d Listet alle Desktops auf, die vom Fenstermanager verwaltet werden. (...) Die zweite Spalte enthält ein '*' Zeichen für den aktuellen Desktop, ansonsten enthält sie ein '-' Zeichen

BEARBEITEN : Ich habe gerade überprüft, dass Sie einen Arbeitsbereich einzeln benennen können *. In diesem Fall würde der obige Befehl zwei Ergebnisse zurückgeben. Verwenden awk:

$ wmctrl -d | awk '{ if ($2 == "'*'") print $0}' 
Danke, Arkadiusz, ich kannte den Befehl 'wmctrl' nicht. Um den aktuellen Arbeitsbereich in Fluxbox abzurufen, können Sie Folgendes verwenden: ** wmctrl -d | awk '' ** Tails vor 8 Jahren 0