Die Katze meiner Freundin lief auf meinem Laptop und ich bemerkte sie nicht. Als ich mich umdrehte, um zu überprüfen, sehe ich, dass ich 32 Registerkarten "Archivmanager" habe. Wie kann ich sie alle sofort schließen, als würde ich Alt+ F4auf alle gleichzeitig verwenden?
11
kill cat
Aktion, die ich vorschlagen wollte.killall file-roller
: DEin anderer Ansatz wäre die Verwendung des
wmctrl
Dienstprogramms (Windows Manager-Steuerelement). Dies kann verwendet werden, um den Fenstermanager anzuweisen, so zu tun, als hätten Sie auf die Schaltfläche zum Schließen geklickt. Dies vermeidet die potenziell hartnäckige Natur vonkillall
; Beispielsweise werden einige Programme mit einem nicht gespeicherten Dokument sofort beendet, wenn sie beendet werden (sogar sanft). Wenn Sie auf die Schaltfläche "Schließen" klicken, wird die Meldung "Möchten Sie speichern?" angezeigt. Prompt.Der grundlegende Befehl lautet
wmctrl -c WINDOWTITLE
also in diesem Fallwmctrl -c "Archive Manager"
(vorausgesetzt, es gibt keine geöffnete Datei: das ändert den Titel). Leider wird immer nur einer geschlossen, sodass wir mehr tun müssen, um alle zu schließen.wmctrl
Gibt den Erfolg zurück, wenn eine Übereinstimmung gefunden wird, sodass wir eine Schleife ausführen können, bis sie fehlschlägt:Dadurch wird immer das erste Fenster ausgewählt, das gefunden wird. Daher müssen wir eine Weile schlafen, um zu vermeiden, dass kontinuierlich ein Strom von Schließbefehlen an das erste Fenster gesendet wird, das bereits geschlossen ist. Dies kann einen Fehler verursachen, der die Schleife stoppt.
Dies ist einfach und funktioniert normalerweise, aber eine bestimmte Zeit zu schlafen und zu hoffen, dass sich ein Fenster schließt, bevor wir es erneut versuchen, ist ein unordentlicher und langsamer Weg, um den Fehler zu vermeiden. Was wir wirklich tun möchten, ist, sofort eine Abschlussnachricht an jedes passende Fenster zu senden.
Wir können alle offenen Fenster mit finden
wmctrl -l
. Hier wird eine numerische Fenster-ID aufgelistet, mit der wir jedes Fenster einzeln identifizieren können, auch wenn alle denselben Titel haben. Dann müssen wir nur nach den passenden Fenstern (demgrep
Befehl) filtern, nur die Fenster-ID (dencut
Befehl) herausziehen undwmctrl -i -c
für jedes aufrufen . Das-i
wird benötigt, um mit der Fenster-ID anstelle des Fenstertitels übereinzustimmen.Ein bisschen kompliziert, wenn Sie nur eingeben, wenn eine Katze auf Ihre Tastatur tritt, aber hoffentlich eine praktische Technik, um sie in Ihrer Skript-Toolbox zu behalten.
quelle
Sie können die Tastenkombination Ctrl+ verwenden, mit der Qalle geöffneten Fenster von Archive Manager geschlossen werden.
Die Verknüpfung Ctrl+ Qist unter Ubuntu (und vielen anderen Distributionen) üblich. Es funktioniert genauso mit den meisten Anwendungen, die ich bisher verwendet habe. Das heißt, es werden alle Fenster einer laufenden Anwendung geschlossen.
quelle
Ctrl+Q
tatsächlich der Fall ist. Während dasQuit
Menü alle geöffneten Fenster von Archive Manager geschlossen hat, hat die Tastenkombination nicht dasselbe getan (zumindest in 14.04).