Mam aplikację korzystającą z wielu okien. Jak mogę szybko przenieść wszystkie okna tej aplikacji na pierwszy plan?
Kiedy przeglądam aplikacje za pomocą kółka przewijania, pokazuje tylko jedno okno. Przechodząc do następnego okna, ostatnie okno jest ponownie przenoszone do tła.
Po kliknięciu ikony aplikacji uzyskuję przegląd pełnoekranowy wszystkich okien. Muszę ręcznie wybrać każde okno i kilkakrotnie przesunąć kursor myszy na połowę ekranu.
Moim najlepszym rozwiązaniem do tej pory jest zminimalizowanie wszystkich okien ( Ctrl+ Super+ D), a następnie wyświetlenie okien mojej aplikacji za pomocą kółka przewijania.
Czy jest lepsze rozwiązanie?
Odpowiedzi:
EDYCJA - nowa odpowiedź -
Poniższe odpowiedzi są nadal aktualne, dlatego sugerowane opcje. Ciągły wgląd sprawił jednak, że dodałem tę opcję, aby użyć poniższego wskaźnika, który jest prawdopodobnie najbardziej eleganckim rozwiązaniem.
Jako taki powinien prawdopodobnie zastąpić opcję 5 (przy użyciu pliku .desktop).
Po prostu wybierz aplikację z listy, a wszystkie okna odpowiedniej aplikacji (obecne w bieżącej rzutni) pojawią się:
Jak używać
z ppa:
... lub ręcznie:
Wskaźnik potrzebuje
wmctrl
Skopiuj wskaźnik do pustego pliku i zapisz go jako
raise_apps.py
Skopiuj poniższy obraz, zapisz go dokładnie
raise.png
w jednym i tym samym katalogu co wskaźnik.Następnie po prostu uruchom go za pomocą polecenia:
python3 /path/to/raise_apps.py
Dodaj, jeśli chcesz uruchomić aplikacje:
STARA ODPOWIEDŹ:
O pytaniu
Dzięki odpowiednim narzędziom „po prostu” podniesienie wszystkich okien aplikacji nie jest bardzo skomplikowane. Trochę bardziej skomplikowane jest upewnienie się, że podniesione są tylko okna bieżącej rzutni. Prawdziwym wyzwaniem jest jednak znalezienie wygodnego sposobu udostępnienia akcji użytkownikowi.
Poniżej pięć opcji, aby się tym zająć, aby pokazać, jak można to zrobić. Wszystkie opcje są gotowe do użycia. Ostatnia opcja jest jednak trochę eksperymentalna; działa dobrze, ale ma kilka drobnych wad kosmetycznych, jak wyjaśniono w opisie opcji. Dodałem to jednak jako koncepcję .
Automatyczne rozkładanie okien w sposób nienakładający się, jak sugerowano w komentarzu, nie wydaje mi się praktycznym pomysłem; jeśli pracujesz w konfiguracji okna zgrupowanej pod względem aplikacji, skrypt prawdopodobnie niechcianie zmieni kolejność okien.
Jak używać
W przypadku wszystkich opcji musisz:
zainstaluj,
wmctrl
jeśli nie ma go jeszcze w systemie:utwórz, jeśli jeszcze nie istnieje, katalog:
(wyjaśnienie: katalog
~/bin
znajduje się w $ PATH, więc można uruchamiać pliki wykonywalne według ich nazw)Skopiuj skrypt, odpowiadający opcji, wklej go do pustego pliku, zapisz jako
raise_app
(bez rozszerzenia)~/bin
i uczyń z niego wykonywalnymW osobnych opcjach wyjaśnione zostaną możliwe dodatkowe kroki.
Opcja 1: wybierz aplikację, wprowadzając jeden lub więcej znaków
zenity
pojawi się oknoSpowoduje to, że wszystkie okna pasującej aplikacji (w bieżącej rzutni) znajdą się na pierwszym planie .
podnieś wszystkie
gnome-terminal
okna w bieżącej rzutni:Jak używać:
Uruchom go testowo za pomocą polecenia:
Jeśli wszystko działa poprawnie, dodaj go do wybranej kombinacji klawiszy skrótu: Wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie
Scenariusz:
Opcja 2: przełączaj między aplikacjami i podnoś okna za pomocą kombinacji klawiszy:
Powiedzmy, że mam poniższy skrypt pod kombinacją klawiszy Alt+ 1. Mam kilka otwartych okien:
Aktualny stan:
Naciskam raz Alt+ 1, wszystkie
nautilus
okna są podnoszone:Naciskam ponownie Alt+ 1, wszystkie
firefox
okna są podnoszone:Naciskam ponownie Alt+ 1, wszystkie
gnome-terminal
okna są ponownie podnoszone, cykl zaczyna się od nowa:Jak używać
Dodaj go do wybranej kombinacji klawiszy skrótu: Wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie
Następnie przeglądaj aplikacje za pomocą zgrupowanych okien aplikacji i kombinacji klawiszy.
Scenariusz:
Opcja 3: naciśnij kombinację klawiszy + kliknij ikonę programu uruchamiającego lub okno aplikacji, aby podnieść wszystkie okna w bieżącej rzutni
Prawdopodobnie jest to opcja najbliższa opisanemu w pytaniu / komentarzu.
Powiedzmy, że mam brudny pulpit z trzema
nautilus
oknami ukrytymi pod innymi oknami.Aby podnieść wszystkie okna nautilusa (przykładowy skrót: Alt+ 1):
W ciągu 3 sekund:
kliknij ikonę aplikacji w programie uruchamiającym
lub:
kliknij jedno z okien aplikacji
wynik:
Jak używać:
Uruchom go testowo za pomocą polecenia:
Jeśli wszystko działa poprawnie, dodaj go do wybranej kombinacji klawiszy skrótu: Wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie
Następnie:
Naciśnij kombinację klawiszy i w ciągu 3 sekund:
Scenariusz
Opcja 4: kombinacja klawiszy wywołuje listę opcji, pokazującą liczbę okien na aplikację w bieżącej rzutni
Ten okazał się wygodniejszy niż się spodziewałem:
Naciśnięcie kombinacji klawiszy (ponownie przykład-) Alt+ 1wywołuje
zenity
okno, wyświetlając listę wszystkich aplikacji i liczbę ich okien w bieżącej rzutni:Wystarczy nacisnąć strzałki ▴lub ▾, aby przejść do właściwej opcji. Naciśnij Enteri wszystkie okna wybranej aplikacji zostaną podniesione.
Jak używać:
Uruchom go testowo za pomocą polecenia:
Jeśli wszystko działa poprawnie, dodaj go do wybranej kombinacji klawiszy skrótu: Wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie
Scenariusz
Opcja 5: podnieś okna uruchomionych aplikacji z ikony programu uruchamiającego
Ta opcja istnieje z ikoną programu uruchamiającego, z aktualnie uruchomionymi aplikacjami na szybkiej liście. Wybierz jedno, a wszystkie okna aplikacji zostaną podniesione.
Program uruchamiający jest automatycznie aktualizowany, gdy zmienia się lista uruchomionych aplikacji (w bieżącej rzutni). Skrócona lista pokazuje inną listę w innych rzutniach, w których otwierane są okna innych aplikacji (dostosowanie zajmie 1-2 sekundy).
Jak wspomniano, chociaż w pełni funkcjonalna, ta opcja jest pomyślana jako koncepcja . Ma kilka drobnych wad kosmetycznych. Najważniejsze:
Ponadto konfiguracja jest nieco bardziej skomplikowana (choć szczegółowo wyjaśniona poniżej):
Jak używać
Poniżej znajdziesz:
dwa skrypty / ikona /
.desktop
plikraise_app
w~/bin
Zapisz ikonę poniżej (kliknij prawym przyciskiem myszy, zapisz jako) jako
raise.png
Skopiuj
.desktop
plik do pustego pliku, edytuj wierszdo rzeczywistej ścieżki do ikony (ścieżki ze spacjami cudzysłowie)
zapisać go jako
raise.desktop
w~/.local/share/applications
Przeciągnij
.desktop
plik do programu uruchamiającego, aby go dodaćupdate_apps
w~/bin
, zrób to.Dodaj następujące polecenie do aplikacji startowych (Dash> Aplikacje startowe> Dodaj):
Pierwszy skrypt
Drugi skrypt
Plik .desktop
Krótkie wyjaśnienie
Wszystkie powyższe rozwiązania służą
wmctrl
do utworzenia listy okien za pomocąwmctrl -lpG
polecenia. To polecenie tworzy linie wyglądające jak:Te linie obejmują:
xrandr
)Pid jest sprawdzany na wyjściu,
ps -u <username>
aby uzyskać identyfikację (nazwę) aplikacji „czytelną dla użytkownika”.W ten sposób możemy przydzielić okna do aplikacji. Następnie możemy podnieść okna danej aplikacji w
for
pętli za pomocą poleceniawmctrl -ia
.W opcji 3
skrypt uruchamia 3-sekundową pętlę „oczekiwania”, przy użyciu
xprop -root
polecenia wielokrotnie, aby sprawdzić, czy jest jakaś zmiana w oknie znajdującym się z przodu; stanie się tak, jeśli użytkownik kliknie ikonę programu uruchamiającego, aby podnieść okno aplikacji, lub kliknie okno bezpośrednio. Jeśli tak, pętla while przerywa działanie i wyszukuje „nową” aplikację z przodu, a następnie podnosi wszystkie inne okna tej aplikacji.źródło
Option 2
skryptu, gdy okno aplikacji jest skupione (które nie jest zmaksymalizowane) i klikam inne okno, które jest widoczne „poniżej”, aplikacja poniżej poniżej nie jest aktywna.Jest Super+W skrót, który pokaże expo wszystkich aktualnie otwartych okien, choć będzie to obejmować inne aplikacje. Jest to domyślnie i nie wymaga żadnych zmian, więc być może jest to najprostsza dostępna opcja.
Między innymi można ustawić okna na prawej i lewej połowie ekranu za pomocą przycisków Ctrl+ Super+ Left/ Righti przełączać się między nimi za pomocą Alt + ~ (tylda, ta obok klawisza numer jeden).
źródło
Jeśli naciśniesz Alt + Tab, aby przechodzić między aplikacjami i przejdziesz do jednego z wieloma oknami, po prostu przytrzymaj klawisz Alt i po około 1 pełnej sekundzie ikona zostanie zastąpiona widokiem wszystkich okien dla tej aplikacji.
To może, ale nie musi być to, czego szukasz, ale działa dla mnie i jest o wiele prostsze, więc pomyślałem, że podzielę się tą opcją!
źródło
Wziąłem skrypt rai_apps.py autorstwa JacobVlijm i wprowadziłem kilka ulepszeń, w tym ulepszenie.
W szczególności odkryłem, że po dniu lub dwóch skrypt @ JacobVlijm przestałby działać i musiałbym ręcznie zrestartować skrypt, aby ponownie go uruchomić. Patrząc z perspektywy czasu, przypuszczam, że liczne wywołania xrandr ostatecznie powodują problemy.
W każdym razie dostosowałem jego kod, zwiększyłem częstotliwość odpytywania z 5 sekund do 1 sekundy, ponieważ i tak nie zużywa dużo procesora, i uczyniłem go bardziej niezawodnym. Zwykle mogę pracować bez problemu przez kilka dni / tygodni.
Jednym zastrzeżeniem jest to, że dzwonię do xrandr tylko raz podczas uruchamiania, aby uzyskać wymiary rozdzielczości ekranu. Więc jeśli zmienisz rozdzielczość ekranu (np. Z 1920x1080 na inną rozdzielczość), prawdopodobnie prawdopodobnie będziesz chciał ręcznie zrestartować raise-apps.py, aby wybrał nową rozdzielczość. Osobiście nigdy nie zmieniam rozdzielczości ekranu, więc nie stanowi to dla mnie problemu. Ponadto mam silny powód, by sądzić, że zbyt wiele wywołań xrandr spowodowało, że wersja skryptu @ JacobVlijm przestała działać po dniu lub dwóch, więc zdecydowanie zalecałbym nie odkładanie licznych wywołań do xrandr.
BTW, musisz umieścić obraz rai.png w katalogu / usr / local / icons /. Lub jeśli chcesz umieścić raise.png w innym katalogu, dokonaj odpowiedniej zmiany w skrypcie, aby skrypt mógł znaleźć plik obrazu.
Mamy nadzieję, że Ubuntu zintegruje tego typu funkcje „podniesienia wszystkich okien” do swojego systemu wcześniej niż później, ponieważ jest to bardzo przydatne:
źródło