Ich versuche, eine Schnellliste für den Start von Workspace Switcher zu erstellen, mit der schnell zu einem bestimmten Arbeitsbereich gewechselt werden kann. (Mein Freund benutzt manchmal meinen Computer und mag keine Tastaturkürzel, deshalb möchte ich ihm helfen.)
Gibt es also einen Befehl, den man in ein Terminal eingeben könnte, um die Fokussierung auf einen bestimmten Arbeitsbereich zu erzwingen?
Antworten:
Sie können wmctrl verwenden .
Grundlegende Befehle:
wmctrl -d
Zeigen Sie alle Ihre Arbeitsbereiche an.wmctrl -s <workspace_name>
um zu einem bestimmten Arbeitsbereich zu wechseln.Wenn Sie Compiz verwenden, müssen Sie einen Trick ausführen, da Compiz-Arbeitsbereiche eigentlich Ansichtsfenster eines einzelnen Arbeitsbereichs sind.
Trick Anweisungen
Überprüfen Sie die Ausgabe von
wmctrl -d
Zum Beispiel ist meins:Dies bedeutet, dass ich tatsächlich einen Arbeitsbereich von 4098 x 2304 anstelle dessen habe, was ich "denke" (neun "Arbeitsbereiche", 3 x 3).
Ich befand mich an dem, was eigentlich "Arbeitsbereich" 2 sein sollte, aber tatsächlich befand ich mich im Ansichtsfenster (VP) 1366,0 (4098/3 = 1366), wie aus der obigen Ausgabe hervorgeht.
So funktioniert es: Wir nehmen den gesamten Arbeitsbereich und teilen die Anzahl der "Arbeitsbereiche", die wir "für möglich halten". In meinem Fall: 4098/3 = 1366 und 2304/3 = 768.
Wenn ich zu meinem "Arbeitsbereich" 1 gehen möchte, lautet der Befehl:
Wenn ich dann zu meinem "Arbeitsbereich" 4 gehen möchte, lautet der Befehl:
Wenn ich zu meinem "Arbeitsbereich" 8 gehen möchte, lautet der Befehl:
Wenn ich zu meinem "Arbeitsbereich" 9 gehen möchte, lautet der Befehl:
Ich habs? ;-)
Das
-o
Flag "schneidet" ihre Werte ab. Mit anderen Worten, es ändert den "Arbeitsbereich", zu dem das tatsächliche Pixel gehört. Folgendes ist äquivalent:quelle
Es ist sehr einfach zu erreichen, was Sie wollen
xdotool
, und bietet mehrere Optionen zum Verwalten verschiedener Arbeitsbereiche (in der Programmdokumentation auch als "Desktops" bezeichnet). Ich finde es kann sehr interessant und kreativ sein, Befehle von zu reihenman xdotool
; Die Befehle, die ich unten formuliert habe, könnten in Skripten nützlich sein.Hinweis: Bei einigen Fenstermanagern oder wenn Sie verwenden
compiz
, müssen Sie möglicherweisexdotool
Befehle wieset_desktop_viewport
und verwendenget_desktop_viewport
. Sie können die Befehle in einer anderen Art und Weise angeben müssen , wie desgua oben schon sagt, aber für mich dieset_desktop
undset_desktop_for_window
Befehle erwiesen sich als am nützlichsten auf einem Nicht-Compiz - System.)( Die Lösung ist am nützlichsten für Benutzer von Xubuntu / Lubuntu oder für Benutzer, die compiz nicht ausführen usw. )
Geben Sie ein, um die Anzahl der aktuellen Arbeitsbereiche anzuzeigen
Die folgenden Befehle funktionieren nur, wenn Sie mindestens einen anderen Arbeitsbereich haben.
Um den Fokus auf Ihren Arbeitsbereich zu ändern 1, geben Sie einfach ein
Geben Sie dann ein, um zum Standardarbeitsbereich zurückzukehren
Der Arbeitsbereich muss lediglich als letzter Wert im Befehl angegeben werden (1 oder 2 oder 3 usw.).
Verwenden Sie diese Option, um die Nummer des Arbeitsbereichs zu ermitteln, in dem Sie sich gerade befinden
Diese Befehle könnten in Skripten verwendet werden und sie sollten sehr nützlich sein, um zu erreichen, was Sie was.
Informationen zum Wechseln von Anwendungen zu einem bestimmten Desktop finden Sie in meiner Antwort hier:
Weitere nützliche Optionen zum Wechseln des Arbeitsbereichs finden Sie unter
man xdotool
.quelle
xdotool set_desktop --relative -- -1
Ich habe ein Skript implementiert, das macht, was Sie wollen. Hier ist es: https://github.com/norswap/wmov/blob/master/wmov.sh
Es funktioniert in der Tat wie in Desguas Post beschrieben. Es gibt auch die Möglichkeit, Fenster an andere Arbeitsbereiche zu senden.
quelle
Es gibt ein Skript namens compiz-send.py im compiz-Wiki , das Ihre Frage teilweise beantwortet: Es ist kein bestimmter Arbeitsbereich, aber Sie können zu dem daneben gelangen.
Mit diesem Befehl
./compiz-dbus-send.py put put_viewport_left_key
./compiz-dbus-send.py put put_viewport_right_key
können Sie das Ansichtsfenster um 1 nach links oder rechts verschieben.
quelle
Mit Python und der Bibliothek pyautogui , mit der Python-Skripte Mausklicks, Tastatureingaben usw. ausführen können, können Sie einen bestimmten Arbeitsbereich aufrufen und dort Aktionen ausführen.
Ich habe im Forum für Peppermint OS ein kurzes Tutorial über das Starten einer App auf einem bestimmten Arbeitsplatz geschrieben.
quelle