Terminator: einzelnes Fenster, Fokus auf Start

8

Ich konfiguriere Terminator für meinen Desktop. Ich benutze die Ctrl+ Alt+ TVerknüpfung, um es zu starten. Da nur eine einzige Instanz ausgeführt werden soll, verwende ich sie run-one terminatorals Startbefehl.

Wenn jetzt eine Terminator-Instanz ausgeführt wird, wird keine neue Instanz gestartet, aber die vorhandene Instanz wird nicht fokussiert .

Irgendwelche Ideen, wie ich das Terminator-Fenster dazu bringen könnte, sich zu konzentrieren?

Herr Hyde
quelle

Antworten:

4

Versuchen Sie, wmctrl zu installieren : sudo apt-get install wmctrl
Jetzt konzentriert sich der Befehl wmctrl -a STRINGauf ein Fenster, dessen Titel STRING enthält,
sodass Ihr letzter Befehl lautet :

run-one terminator; wmctrl -a Terminator
Denis
quelle
Danke für den Zeiger. Ich habe eine Lösung gefunden, die ziemlich gut funktioniert.
Herr Hyde
8

Hier ist eine Methode, die funktioniert, ohne run-onedavon auszugehen, dass sie wmctrlverfügbar ist:

wmctrl -xa terminator.Terminator || terminator

Dies setzt voraus, dass der Standardname der Fensterklasse verwendet wird. Sie können kreativ werden, wenn Sie möchten, und beim Start einen benutzerdefinierten Klassennamen verwenden terminator. Auf diese Weise können Sie Ihre Terminator-Verknüpfung von einer normalen Terminator- Instanz trennen :

wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator

Dies baut nur auf Denis 'Antwort auf, ohne dass dies erforderlich ist run-one.

loleary
quelle
Irgendeine Idee, wie man den Fokus umschaltet?
Joe Eifert
Tolle Lösung. Ich musste bash -c 'wmctrl -xa terminator.Terminator || terminator'unter Ubuntu 18.10 mit Gnome 3.30.1 verwenden. Andernfalls würde die Verknüpfung nur funktionieren, wenn der Terminator bereits ausgeführt wurde.
stebu92
1

Hier ist der Hack, für den ich mich mit run-one und xdotool entschieden habe

In /home/(user)/my_scripts/single_terminator_instance.sh

#!/usr/bin/bash

# run a single instance of terminator
/usr/bin/run-one /usr/bin/terminator

# search for the terminator window and focus!!!
/usr/bin/xdotool search --onlyvisible --class terminator windowactivate

Dann

  1. Ändern Sie den Terminator-Verknüpfungsbefehl in Main Menu, um auf das obige Skript zu verweisen
  2. In Tastaturkürzeln aktiviert Ctrl+ Alt+ Tdas Skript

Während über die i'net suchen, habe ich auch auf riskierte diese

Da ich neu in Bash-Skripten bin, begrüße ich jede Verfeinerung des Hacks!

Herr Hyde
quelle
Einfacher: /usr/bin/wmctrl -xa terminator:-) statt xdotool! Danke Denis.
Herr Hyde
Sie haben Recht! Der richtige Weg istwmctrl -xa terminator
Denis
Ich habe Ihre Lösungen ausprobiert, aber Run-One funktioniert auf meinem Computer mit Terminator nicht. Es wird immer eine neue Instanz gestartet. Hast du eine Idee warum? Vielen Dank.
Tamás Barta
ps aux | grep terminatorgibt nichts zurück. Der Prozess läuft für mich als x-terminal-emulator, das könnte also die Ursache sein. Ich habe eine manuelle Überprüfung wie folgt durchgeführt: RUNNING = $ (ps aux | grep x-terminal-emulator | grep -v grep) if [[-z $ RUNNING]]; dann x-terminal-emulator & fi
Tamás Barta
@ BartaTamás Hast du dein Problem gelöst? Mein Skript besteht nur aus zwei Zeilen Bash, die an die Tastenkombination angehängt sind. Ich benutze es jetzt mit gnome-terminal und tmux und bin sehr zufrieden mit der Lösung. Es funktioniert aber auch zuverlässig mit Terminator. Möglicherweise wird dieselbe Tastenkombination zweimal zugewiesen (Strg + Alt + T). Einfach raten!
Herr Hyde