Gibt es einen Shell-Befehl, um ein bereits gestartetes Programm in gnome vor ein anderes zu bringen?
dh:
Gedit und Nautilus werden gestartet. Nautilus ist im Hintergrund und Gedit im Vordergrund.
Wie bringe ich Nautilus mit einem Shell-Befehl nach vorne?
Antworten:
Installieren Sie wmctrl
wmctrl -a <name>
Hinweis:
quelle
Eine weitere Option ist xdotool :
xdotool search --class Nautilus windowactivate
quelle
XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
xwininfo
öffnen und mehrere zusätzliche verschiedenexdotool
Befehle auszugeben (an die ich mich nicht mehr erinnere). Als ich versuchte, das zu automatisieren (um es loszuwerdenxwininfo
), bekam ich visuelle Artefakte aufgrund von ansonsten versteckten Fenstern, die ebenfalls ausgewählt wurden. Ich habe einfach keine generische Möglichkeit gefunden, beliebige Fenster richtig zu adressieren. Nach dem Umschalten aufwmctrl -a
alles funktionierte sofort einwandfrei ohne weitere Anpassungen. Bitte beachten Sie, dass ich magxdotool
, aber es scheint schwierig zu sein, genau das richtige Fenster damit zu öffnen.Bei der Verwendung
xdotool
scheint es schwierig zu sein, alle Fenster für eine bestimmte Anwendung oder Klasse mit nur einem Befehl nach vorne zu bringen .for
Am Ende habe ich bessere Ergebnisse, wenn ich es auf Shell-Ebene in eine Schleife einwickle. Verwenden von Bash:Einige Bemerkungen:
xdotool search
wird das Muster (hierFirefox
) in Fenstername, Klasse und Klassenname durchsucht. Wenn Sie Ihren Suchraum einschränken möchten, verwenden Sie die entsprechenden--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 jedoch immer noch mein bevorzugtes Werkzeug. Aus persönlichen Gründen ist Jordan Sissel (der ursprüngliche Autor) nicht so aktiv wie er, also zögern Sie nicht, einen Beitrag zum Projekt zu leisten.quelle