Polecenie powłoki, aby wyświetlić okno programu przed innym?

12

Czy istnieje polecenie powłoki, aby umieścić już uruchomiony program w gnome przed innym.

to znaczy:

Uruchomiono Gedit i Nautilus. Nautilus jest w tle, a Gedit na pierwszym planie.

Jak doprowadzić Nautilusa z przodu za pomocą polecenia powłoki?

NES
źródło

Odpowiedzi:

14

Uwaga:

  • Więcej informacji o xdotool można znaleźć tutaj .
karthick87
źródło
Na pewno edytuj swój post, tak jak ja komponuję mój ... :()
frabjous
Można znaleźć swoją nazwę okna z wmctrl -l Nazwa jest tekst po ostatniej kreską: <okno ID> <pulpit ID> <maszyna klient> <okno title>
jorfus
8

Inną opcją jest xdotool :

xdotool search --class Nautilus windowactivate

frabjous
źródło
2
Nie działa dla mnie zXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
Tino
Prawdopodobnie błąd tutaj - z mojego doświadczenia - nazwa_klasy lub - nazwa (jeśli znana) działa czasami, gdy - klasa nie.
frabjous
W moim przypadku możliwe było podniesienie okna za pomocą identyfikatora xwininfoi wydanie kilku dodatkowych różnych xdotoolpoleceń (których już nie pamiętam). Kiedy próbowałem to zautomatyzować (aby się pozbyć xwininfo), otrzymałem artefakty wizualne z powodu ukrytych okien, które również zostały wybrane. Po prostu nie znalazłem ogólnego sposobu prawidłowego adresowania dowolnych okien. Po przejściu na wmctrl -awszystko natychmiast działało bezbłędnie po wyjęciu z pudełka, bez dalszych poprawek. Pamiętaj, że mi się podoba xdotool, ale wydaje się, że trudno jest podnieść tylko właściwe okno.
Tino
2

Podczas używania xdotoolwydaje się trudne przedstawienie wszystkich okien dla danej aplikacji lub klasy za pomocą tylko jednego polecenia. W końcu osiągam lepsze wyniki, owijając go w forpętlę na poziomie powłoki. Korzystanie z Bash:

for WINDOW in $(xdotool search --desktop 0 Firefox); do
   xdotool windowactivate ${WINDOW}
done

Kilka uwag:

  • Domyślnie xdotool searchprzeszukuje wzorzec (tutaj Firefox) w nazwie okna, klasie i nazwie klasy. Jeśli chcesz zawęzić przestrzeń przeszukiwania, należy użyć odpowiednich --class, --nameczy --classnameopcje.
  • Ta --desktop 0opcja ogranicza wyszukiwanie do pierwszego pulpitu. Wydaje się, że jest to obejście, które pozwala uniknąć XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)wspomnianych w niektórych komentarzach.
  • W chwili pisania tego tekstu xdotoolprojekt utknął w martwym punkcie od 2015 r. Nadal jednak pozostaje moim wyborem. Z powodów osobistych Jordan Sissel (oryginalny autor) nie jest tak aktywny jak on, więc nie wahaj się wnieść wkładu w projekt.
Sylvain Leroux
źródło