Ich habe eine bestimmte Arbeitsumgebung mit Dutzenden von offenen Windows. Wie kann ich ein Fenster mit einem bekannten Namen / Titel programmgesteuert oder über die Befehlszeile nach vorne bringen?
14
Ich habe eine bestimmte Arbeitsumgebung mit Dutzenden von offenen Windows. Wie kann ich ein Fenster mit einem bekannten Namen / Titel programmgesteuert oder über die Befehlszeile nach vorne bringen?
xdotool windowraise
Das Fenster wird nach vorne verschoben, es wird jedoch weder der Fokus auf das Fenster gelegt noch zum Desktop mit dem Fenster gewechselt. Stattdessenwindowactivate
werden alle drei tun.Nun, nachdem Sie
sudo apt-get install wmctrl
fertig sind, können Sie mit diesem Bash-Skript spielen:Was ich hier gefunden habe
quelle
if ! wmctrl -l | grep -q "$WINTITLE"
wmctrl
hat eine-i
Option, die das Arbeiten mit dem Fenster mit seiner Hex-Kennung unterstützt. Und so können Sie dies tunwmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai
- was etwas Ähnliches tun würdeBei der Verwendung
xdotool
scheint es schwierig, alles nach vorne zu bringen Fenster für eine bestimmte Anwendung oder Klasse mit nur einem Befehl .for
Am Ende habe ich bessere Ergebnisse, indem ich es in eine Schleife auf Shell-Ebene einhülle . Verwenden von Bash:Einige Bemerkungen:
xdotool search
wird das Muster (hierFirefox
) nach Fenstername, Klasse und Klassenname durchsucht. Wenn Sie Ihren Suchraum einschränken möchten, verwenden Sie das entsprechende--class
,--name
oder--classname
Optionen.--desktop 0
Option beschränkt die Suche auf den ersten Desktop. Dies scheint eine Problemumgehung zu sein, um dasXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
in einigen Kommentaren Erwähnte zu vermeiden .xdotool
Projekt seit 2015 ins Stocken geraten. Es bleibt mein bevorzugtes Werkzeug. Aus persönlichen Gründen ist Jordan Sissel (der ursprüngliche Autor) nicht mehr so aktiv wie in der Vergangenheit. Zögern Sie also nicht, einen Beitrag zum Projekt zu leisten.Dies ist eine Kopie einer Antwort, die ich auf AskUbuntu gepostet habe , aber ich denke, sie ist Linux-unabhängig, daher kann sie auch hier nützlich sein.
quelle