Ich suche keine Tastenkombination, sondern möchte Befehle für:
- Neues Fenster
- Neue Registerkarte
- Schließen Sie die aktuelle Registerkarte oder das aktuelle Fenster
- Shell-Fenster maximieren
- Shell-Fenster minimieren
- Verschieben Sie Shell in einen anderen Arbeitsbereich
- Registerkarte wechseln
Und im Grunde so etwas. Merken; Ich möchte keine Verknüpfungen, sondern tatsächliche Befehle. Der Grund dafür ist, dass ich die Alias-Funktionalität nutzen kann.
Antworten:
Sie können dies in Gnome-Terminal nicht standardmäßig tun, zumindest nicht mit Raw-Befehlen.
Sie können jedoch Skripte schreiben, die Tastaturkürzel aufrufen, die dies tun können. Beachten Sie, dass Sie dazu Folgendes benötigen
xdotool
:sudo apt install xdotool
Neues Fenster : Starten Sie ein neues Terminalfenster mit
nw
Wir können dies mit nur tun
gnome-terminal
.Hinzufügen zu
.bashrc
:Neuer Tab : Starten Sie einen neuen Tab mit
nt
Wir können dies mit
xdotool getactivewindow $(xdotool key ctrl+shift+t)
Hinzufügen zu
.bashrc
:Registerkarte schließen : Schließen Sie die aktuelle Registerkarte oder das aktuelle Fenster erneut mit
ct
xdotool
Streiks:xdotool getactivewindow $(xdotool key ctrl+shift+w)
Hinzufügen zu
.bashrc
:Fenster maximieren : Maximieren Sie das gesamte Fenster mit
maw
Wir können
wmctrl
hier verwenden:wmctrl -r :ACTIVE: -b toggle,maximized_vert,maximized_horz
Hinzufügen zu
.bashrc
:Fenster minimieren : Minimieren Sie das gesamte Fenster mit
miw
Wir können es
xdotool
wieder verwenden:xdotool windowminimize $(xdotool getactivewindow)
Hinzufügen zu
.bashrc
:In Arbeitsbereich verschieben : Verschieben Sie ein Fenster in einen anderen Arbeitsbereich mit
mtw <id>
Dies wäre bei Shell-Skripten kaum möglich und geht weit über meine persönlichen Erfahrungen hinaus. Ich würde empfehlen, Sergs Skript für diesen Zweck zu verwenden, da es ab sofort tatsächlich funktioniert. Ah, die Vorteile von Compiz.
quelle
Einführung
Das in dieser Antwort dargestellte Skript ermöglicht es dem Benutzer, sein Terminalfenster über einen einzigen Befehl und eine Liste von Optionen zu steuern. Es ist einfach zu verwenden und mit jedem Terminalemulator kompatibel, dessen Tastenkombination ähnlich ist
gnome-terminal
. Verschiebungsoptionen können auch mit anderen Terminals verwendet werden, das Öffnen von Registerkarten ist für diese Terminals jedoch nicht garantiert.Das Skript behandelt das Öffnen von Registerkarten, das Öffnen von Fenstern, das Verschieben in den Arbeitsbereich nach unten, den Arbeitsbereich nach rechts und den spezifischen Arbeitsbereich, auf den durch eine Ganzzahl verwiesen wird, das Minimieren, Maximieren und Aufheben der Maximierung eines Fensters. Das einzige, was das Skript nicht behandelt, ist das Schließen von Tab / Fenster, einfach weil jeder Shell- / Terminal-Emulator bereits einen Befehl dafür hat -
exit
oder alternativ über eine CtrlDVerknüpfung.!!! HINWEIS: Sie müssen den
xdotool
Arbeitsbereich wechseln und Registerkarten öffnen. Installieren Sie es übersudo apt-get install xdotool
. Wenn Sie keine zusätzlichen Pakete installieren möchten, beachten Sie, dass das Wechseln des Arbeitsbereichs und der Registerkarten nicht funktioniert , andere Optionen jedoch.Verwendung:
Alle Argumente
windowctrl.py
sind optional, sodass sie separat oder möglicherweise zusammen verwendet werden können. Wie durch-h
Option gezeigt .Skript-Quellcode:
Der Skript-Quellcode ist sowohl auf GitHub als auch hier verfügbar. Die neuesten Änderungen werden wahrscheinlich eher in den GitHub als hier übertragen. Ich empfehle daher dringend, dort nach der neuesten Version zu suchen. Es wird auch empfohlen, dort auch Fehlerberichte zu veröffentlichen.
Randnotizen
Sie fragten: "Gibt es in Gnome-Terminal einen Befehl oder eine tabellarische Shell, um einen neuen Tab zu öffnen?" Das Gnome Terminal-Handbuch listet diese Option nicht auf. Die Shells sind Befehlszeilenprogramme. Registerkarten sind Funktionen von GUI-Anwendungen. Es gibt Terminal-Multiplexer wie
screen
oder,tmux
die "Tabs" oder geteilte Fenster haben können, die der "tabbable shell" nahe kommen, aber dies ist nicht die gleiche Art von Verhalten, die Sie fragen. Grundsätzlich lautet die Antwort auf Ihre Frage "Nein". Es gibt immer Alternativen, und meine Antwort liefert eine davon. Es behandelt das Terminalfenster entsprechend seiner Art - X11-GUI-Fenster.In welcher Beziehung steht diese Antwort zu Aliasnamen? Zunächst einmal können Aliase etwas chaotisch sein, insbesondere wenn es darum geht, mehrere Ausgaben mehrerer Befehle zu zitieren und zu analysieren. Dieses Skript gibt Ihnen einen zentralen Befehl mit Flags / Switches, mit denen Sie eine diskrete Aufgabe in einem Fenster ausführen können. Es macht auch Aliase einfacher. Du könntest es tun
alias nw='windowctrl.py --window'
. Viel kürzer, viel ordentlicher.quelle
xdotool
? Vielleicht könnte ich es reparieren?