it-swarm.com.de

Kurzbefehl, um alle offenen Terminals nach vorne zu bringen

Gibt es eine Möglichkeit, nach dem Aufrufen einer Webseite oder eines Editors alle geöffneten Terminals an ihren ursprünglichen Positionen wieder nach vorne zu bringen? Es ist ein bisschen mühsam, auf das Terminalsymbol zu klicken und dann jedes einzeln zurückzubringen.

Vielen Dank!

Beispiel:

  • Pre-Shortcut:

Pre-image shortcut


  • Post-Verknüpfung:

Post-image shortcut

17
TomSelleck

Sie können drücken Alt+Tab um vorwärts zwischen den Fenstern und zu wechseln Alt+Shift+Tab um wieder zwischen den Fenstern zu wechseln. Diese Verknüpfung funktioniert in fast allen grafischen Betriebssystemen. Yow kann auch verwenden Super+W und Pfeiltasten für den gleichen Zweck.

Nachdem Sie ein Terminalfenster nach vorne gebracht haben, drücken Sie Alt+~ Alle anderen Terminalfenster nacheinander nach vorne bringen:

switch to windows


Um alle offenen Terminals automatisch nach vorne zu bringen (nicht wie zuvor beschrieben nacheinander), müssen Sie eine Tastenkombination hinzufügen für das folgende Skript (Skript aus Adobe 's answer und verbessert, da die Skriptversion bei mir nicht funktioniert hat):

#!/bin/bash

if [ $# -ne 1 ];then
  echo -e "Usage: `basename $0` PROGRAM_NAME\n
           For example:\n\t
           '`basename $0` gnome-terminal' for Terminal\n\t
           '`basename $0` firefox' for Firefox\n\t
           '`basename $0` chromium-browser' for Chromium\n\t..."
  exit 1
fi

pids=" $(pidof [email protected]) "

if [ "$pids" = "  " ]; then # the string "  " contain two spaces
    echo "There is no program named '[email protected]' opened at the moment."
    exit 1
fi

wmctrl -lp | while read identity desktop_number PID window_title; do 
    if [ "${pids/ $PID }" != "$pids" ]; then
        wmctrl -ia $identity
    fi
done

Vergiss nicht, das Skript ausführbar zu machen:

chmod +x /path/to/script/script_name

Nachdem Sie das Skript im Terminal getestet haben, müssen Sie Folgendes sehen:

9
Radu Rădeanu

Hier ist ein kleines Bash-Skript, das alle Fenster, deren Titel mit ARG übereinstimmt, nach vorne bringt:

bring-all-windows.bash ARG

Das Drehbuch:

#!/bin/bash

[email protected]

wmctrl -l | while read Window; do
    if [[ "$Window" == *"$Program"* ]]; then
        echo "DEBUG: I bring $Window"
        code=`echo "$Window" | cut -f 1 -d " "`
        wmctrl -i -a $code
    fi
done

Sie können binden

bring-all-windows.bash Terminal

zu einem Hotkey (vergessen Sie nicht, das Skript in einem Login-Shell-Pfad abzulegen oder einen vollständigen Pfad zu diesem zu schreiben).

Für das Skript muss wmctrl installiert sein.

Bearbeiten:

Um etwas vom Terminal aus auszuführen, navigieren Sie zu dem Verzeichnis, in dem Sie das Skript abgelegt haben

chmod +x bring-all-windows.bash
./bring-all-windows.bash Terminal

Wenn Sie sicher sind, dass es vom Terminal aus funktioniert, versuchen Sie, es an einen Hotkey zu binden und geben Sie den vollständigen Pfad an. Wenn Sie sicher sind, dass es mit einem Hotkey und dem vollständigen Pfad zum Skript funktioniert, versuchen Sie, das Verzeichnis zum Anmeldeshellpfad hinzuzufügen, und prüfen Sie, ob es auf diese Weise funktioniert.

8
Adobe

Eine andere Möglichkeit ist die Verwendung von xdotool. Sie sollten es zuerst installieren, damit Sudo apt-get install xdotool obligatorisch ist.

xdotool search --class "terminal" windowactivate %@
xdotool search --name "[email protected]" windowactivate %@

Der erste sucht nach einer Binärdatei mit dem Namen *terminal*, der zweite nach einem Fenster mit dem Titel *[email protected]*. Wenn Sie das dann in ein Bash-Skript schreiben:

#!/bin/bash

set -e
[email protected]

xdotool search --class '$program' windowactivate %@
xdotool search --name '$program' windowactivate %@

Mehr dazu erfahren Sie im Handbuch xdotool.

0
Braiam

Für das Archiv: https://Gist.github.com/psi-4ward/18c3a596d28a3cfa772101af755545df

Ein Skript, das kürzlich verwendete Anwendungen berücksichtigt

0
Psi

Auf meinem Ubuntu-Desktop sind meine Symbole grafisch vertikal am linken Rand meines Desktops angeordnet. Wenn Sie mit der linken Maustaste auf das Terminalsymbol klicken, werden alle Terminalfenster angezeigt. Anschließend können Sie auswählen, in welchem ​​Terminal Sie arbeiten möchten. Wenn Sie mit der rechten Maustaste auf das Terminalsymbol klicken, wird eine Liste der Menüs mit einem "Neuen Terminal" und allen offenen Terminals im unteren Teil der Liste angezeigt. Sie können auswählen, welches Ihr aktives Terminal sein soll.

Dieselbe Methode sollte für jede andere Anwendung wie Ihren Browser funktionieren.

0
Kemin Zhou