Terminator: pojedyncze okno, nacisk na uruchomienie

8

Konfiguruję Terminator na pulpicie. Używam skrótu Ctrl+ Alt+, Taby go uruchomić. Ponieważ chcę, aby działała tylko jedna instancja, używam jej run-one terminatorjako polecenia uruchamiania.

Teraz, jeśli instancja Terminatora jest uruchomiona, nowa instancja nie jest uruchamiana, ale istniejąca instancja nie jest aktywna .

Jakieś pomysły na to, jak uzyskać okno Terminatora, aby uzyskać fokus?

Pan Hyde
źródło

Odpowiedzi:

4

Spróbuj zainstalować wmctrl : sudo apt-get install wmctrl
teraz polecenie wmctrl -a STRINGskupia się na oknie zawierającym STRING w tytule,
więc ostatecznym poleceniem będzie:

run-one terminator; wmctrl -a Terminator
Denis
źródło
Dzięki za wskaźnik. Znalazłem rozwiązanie, które działa całkiem dobrze, wyszczególnione poniżej.
Pan Hyde,
8

Oto metoda, która działa bez run-onezakładania, że wmctrljest dostępna:

wmctrl -xa terminator.Terminator || terminator

Zakłada się, że używana jest domyślna nazwa klasy okna. Możesz być kreatywny, jeśli chcesz i używać niestandardowej nazwy klasy podczas uruchamiania terminator. Umożliwi to oddzielenie skrótu terminatora od normalnej instancji terminatora :

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

To po prostu opiera się na odpowiedzi Denisa bez potrzeby run-one.

loleary
źródło
Masz pomysł, jak ustawić ostrość?
Joe Eifert
Świetne rozwiązanie. Musiałem użyć bash -c 'wmctrl -xa terminator.Terminator || terminator'na Ubuntu 18.10, używając Gnome 3.30.1. W przeciwnym razie skrót działałby tylko po uruchomieniu terminatora.
stebu92
1

Oto hack, na który zdecydowałem się przy użyciu run-one i xdotool

W /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

Następnie

  1. Zmień polecenie skrótu Terminator, Main Menuaby wskazywało powyższy skrypt
  2. W skrótach klawiaturowych Ctrl+ Alt+ Taktywuje skrypt

Podczas przeszukiwania sieci i'net również na to wpadłem

Ponieważ jestem nowym użytkownikiem skryptów bashowych, z zadowoleniem przyjmuję wszelkie udoskonalenia tego narzędzia.

Pan Hyde
źródło
Łatwiej: /usr/bin/wmctrl -xa terminator:-) zamiast xdotool! Dzięki Denis.
Pan Hyde,
masz rację! właściwą drogą jestwmctrl -xa terminator
Denis
Wypróbowałem twoje rozwiązania, ale run-one nie działa na moim komputerze z Terminatorem. Zawsze uruchamia nową instancję. Czy masz pojęcie dlaczego? Dzięki.
Tamás Barta
ps aux | grep terminatornic nie zwraca. Proces działa dla mnie jako emulator terminala x, więc może to być przyczyną. Zrobiłem to ręcznie: RUNNING = $ (ps aux | grep x-terminal-emulator | grep -v grep) if [[-z $ RUNNING]]; następnie emulator x-terminalu i fi
Tamás Barta
@ BartaTamás Czy rozwiązałeś problem? Mój skrypt to tylko dwie linie bash dołączone do skrótu klawiaturowego. Teraz używam go z gnome-terminalem i tmux i jestem bardzo zadowolony z rozwiązania. Ale działa również niezawodnie z terminatorem. Może ten sam skrót klawiaturowy jest przypisany dwukrotnie (Ctrl + Alt + T). Tylko zgaduję!
Pan Hyde