Mam pewne środowisko pracy z dziesiątkami otwartego systemu Windows. Jak mogę wyświetlić na froncie okno o znanej nazwie / tytule programowo lub za pomocą wiersza poleceń?
14
Mam pewne środowisko pracy z dziesiątkami otwartego systemu Windows. Jak mogę wyświetlić na froncie okno o znanej nazwie / tytule programowo lub za pomocą wiersza poleceń?
xdotool windowraise
przesuwa okno do przodu, ale nie skupia się na oknie ani nie przełącza na pulpit z oknem. zamiastwindowactivate
tego zrobi wszystkie trzy.Po zakończeniu
sudo apt-get install wmctrl
gry możesz grać w ten skrypt bash:Który tu znalazłem
źródło
if ! wmctrl -l | grep -q "$WINTITLE"
wmctrl
ma-i
opcję, która obsługuje pracę z oknem z jego identyfikatorem szesnastkowym. I możesz to zrobićwmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai
- co zrobiłoby coś podobnegoPodczas używania
xdotool
wydaje 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 wfor
pętlę na poziomie powłoki. Korzystanie z Bash:Kilka uwag:
xdotool search
przeszukuje wzorzec (tutajFirefox
) w nazwie okna, klasie i nazwie klasy. Jeśli chcesz zawęzić przestrzeń przeszukiwania, należy użyć odpowiednich--class
,--name
czy--classname
opcje.--desktop 0
opcja 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.xdotool
projekt utknął w martwym punkcie od 2015 r. Nadal pozostaje moim wyborem. Z powodów osobistych Jordan Sissel (oryginalny autor) nie jest tak aktywny jak w przeszłości, więc nie wahaj się wnieść wkładu w projekt.To jest kopia odpowiedzi, którą opublikowałem na AskUbuntu , ale myślę, że jest niezależna od Linuksa, więc może się tu przydać.
źródło