Fokus auf neu geöffnetes Terminal

796
Amxx

Ich verwende gnome-shell 3.14 unter archlinux 3.17.3-1. Ich habe eine Tastenkombination (Strg + Alt + T), um ein xfce4-Terminal zu öffnen.

Mein Problem ist, dass beim Triggern dieser Verknüpfung der Fokus nicht auf das neu geöffnete Terminal gesetzt wird. Ich habe versucht, zu meinem hinzuzufügen.zshrc

[[ -n "$DISPLAY" ]] && wmctrl -i -a $(wmctrl -l | grep Terminal | tail -n 1 | cut -d ' ' -f1) 

Und das hat funktioniert ... bis ich versuchte, mehrere Registerkarten in einem Terminal zu öffnen. Beim Öffnen eines neuen Tabs .zshrcwird ausgeführt und der Fokus wird zum letzten Terminal verschoben. Dies ist möglicherweise nicht das offene, an dem ich gerade arbeite.

Also entfernte ich den Befehl aus meiner .zshrcDatei und versuchte, den Befehl auszuführen, der meine Tastenkombination ausführte

xcfe4-terminal& sleep 0.1 wmctrl -i -a $(wmctrl -l | grep Terminal | tail -n 1 | cut -d ' ' -f1) 

Ich habe versucht, die Schlafdauer zu erhöhen, aber es funktioniert immer noch nicht (Fokus ist nicht festgelegt).

Deshalb habe ich 2 Fragen:

  • Ist es möglich, dass ein Skript die Fenster-ID des xfce4-Terminals erhält, auf dem das Skript ausgeführt wird?

  • Ist es möglich, einen Befehl auszuführen, wenn ein xfce4-Terminal geöffnet wird (als ob es gerade noch so ist .zshrc, dass es nicht drin ist). Ich habe die --executeOption ausprobiert, aber sie passt nicht zu meinen Bedürfnissen, da nur der Fokussierbefehl ausgeführt wird und ich ein nutzloses Fenster habe

2

1 Antwort auf die Frage

1
Gray K

Ich weiß, dass dieser Faden bereits 3 Jahre alt ist, aber ich habe in letzter Zeit das gleiche Problem gehabt, als ich vom Plasma zum Zimt gewechselt bin. Das ist was ich mir ausgedacht habe

Fügen Sie dies Ihrer .zshrc(oder einer anderen Shell-Konfigurationsdatei) hinzu.

xdotool windowactivate $(xdotool search --onlyvisible --class 'xfce4-terminal' | tail -n1) &>/dev/null