GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Benutzerdefinierter Hotkey/Shortcut zum Öffnen/Hervorheben einer App

Der wmctrl Programm ist genau das, wonach Sie suchen (sudo apt-get install wmctrl ). Sie können den wmctrl -a "AppTitle" verwenden Befehl, um die App nach vorne zu bringen. wmctrl -l listet alle verfügbaren Fenster auf, daher sollte es einfach sein, ein Shell-Skript zu schreiben, das überprüft, ob Ihr Programm läuft, und es entweder startet oder in den Vordergrund bringt. Dann können Sie das einfach an eine Tastenkombination binden.

Speichern Sie zuerst das folgende Skript irgendwo, ich verwende /home/jtb/code/bringToFront . Es benötigt zwei Argumente, das erste ist das, was Sie am Terminal eingeben würden, um das Programm zu starten, das zweite ist eine Teilzeichenfolge des Titels des Programmfensters. Wenn der Titel keine konstante eindeutige Zeichenfolge enthält, müssen Sie etwas mehr Arbeit aufwenden, um das Programmfenster zu finden.

#!/bin/bash
if [ `wmctrl -l | grep -c "$2"` != 0 ]  
then
    wmctrl -a "$2"
else
    $1 &
fi
  1. Führen Sie mit dem Skript in Ihrem aktuellen Verzeichnis chmod +x bringToFront aus um das Skript ausführbar zu machen. Stellen Sie dann sicher, dass es funktioniert; Um Firefox zu starten/fokussieren, könnten Sie ./bringToFront firefox "Mozilla Firefox" ausführen .

  2. Jetzt müssen wir eine Tastenkombination binden. Führen Sie gconf-editor aus und navigieren Sie in der Ordnerstruktur nach links zu /apps/metacity/keybinding_commands .

  3. Doppelklicken Sie auf die erste command mit einem leeren Wert, wahrscheinlich command_1 . Geben Sie den vollständigen Pfad zum Skript ein und geben Sie die beiden Parameter an, z. /home/jtb/code/bringToFront firefox Firefox .

  4. Wählen Sie im Bedienfeld auf der linken Seite global_keybindings aus , der nächste Ordner nach oben. Finden Sie run Eintrag, der dem gerade definierten Befehl entspricht, wahrscheinlich run_command_1 . Doppelklicken Sie darauf und geben Sie die Tastenkombination ein, die Sie verwenden möchten. Setzen Sie die Modifikatoren in spitze Klammern, z. <Ctrl><Alt>F .

Jetzt Steuerung + Alt + F bringt Ihr Firefox-Fenster in den Vordergrund oder startet es, falls es noch nicht läuft.


Hier ist eine andere Möglichkeit, dies mit xdotools zu tun . Der Popup-Prozess wird von der Befehlszeile erkannt, die ausgegeben wird, um ihn auszuführen (keine PID-Datei oder eindeutiger Fenstertitel erforderlich).

#!/bin/bash

cmd="[email protected]"
# command line to be run. Note that the resulting
# process will hold this in /proc/PID/cmdline 

pid=`pgrep -nf "^$cmd$"`
# most recent process having "$cmd" in /proc/PID/cmdline

if [ -z "$pid" ]; then # no pid
    exec $cmd
    # run command
else
    winid=`xdotool search --all --pid $pid --onlyvisible | head -1`
    # first visible window owned by pid
    xdotool windowactivate $winid
    # give window focus
fi

Linux
  1. So öffnen Sie Appimage unter Linux

  2. Benutzerdefinierte Befehle

  3. Wie führt man benutzerdefinierte Skripts auf dem USB-Geräte-Plug-in aus?

  4. qTox – Eine Open-Source-P2P-Instant-Messaging- und VoIP-App

  5. Wie wähle ich eine statische Portnummer für eine benutzerdefinierte App aus?

Führen Sie die Linux-Befehlszeile auf Ihrem iPad aus

Öffnen Sie Ordner in einer beliebigen Terminal-App von Nautilus

So führen Sie ONLYOFFICE integriert mit Nextcloud auf Cloudron aus

Cerebro App – Ein Open-Source-Äquivalent zur Spotlight-Funktion von Mac OS X

So führen Sie eine .NET-App in Docker aus

Wie führe ich das Terminal mit Tastenkombinationen in Gnome 2 aus?