Jak zapobiec kradzieży ostrości przez nowe okna?

33

Typowa sytuacja polega na tym, że wpisuję coś (najgorsze jest moje hasło) w niektórych aplikacjach, gdy inna aplikacja wyskakuje z okna i kradnie fokus, więc moje wpisywanie (hasło) przechodzi do czegoś innego. Chciałbym temu zapobiec, przynajmniej gdy aktywnie wpisuję coś w polu edycji. Zawsze naprawdę nienawidziłem tego w systemie Windows, ale nigdy nie znalazłem sposobu, aby temu zapobiec. Zacząłem używać Ubuntu jakiś czas temu i do tej pory byłem w stanie zrobić wszystko, co chciałem, więc pomyślałem, że może to również możliwe. Z góry dziękuję!

Imre Major
źródło
4
Spróbuj zmienić ustawienie za pomocą polecenia terminalu gsettings set org.gnome.desktop.wm.preferences focus-new-windows 'strict'. Daj nam znać, jeśli to zadziała w twoim przypadku. Aby przywrócić domyślne ustawienia, należy wydać poleceniegsettings reset org.gnome.desktop.wm.preferences focus-new-windows
wanad
3
Dzięki. Dzięki tej zmianie nowe okna pojawiają się w tle, ale co ciekawe, fokus zostaje utracony. Tak więc na przykład zaczynam pisać w terminalu, a tymczasem uruchamiam aplikację z uruchamianiem dość wolno. Klikam aplikację po lewej stronie w ulubionych, wracam do okna terminala, aby kontynuować pisanie. Po kilku sekundach aplikacja się uruchamia, jej okno jest umieszczane za oknem terminala (co jest dobre), ale tracę fokus i nie mogę pisać, dopóki nie kliknę ponownie okna terminala.
Imre Major
Szkoda, że ​​to nie zadziałało całkowicie. Pozostaje czymś trudnym do kontrolowania. Przez wiele lat wiele powiązanych pytań pozostało bez odpowiedzi.
wanad
To nie jest błąd, to jest funkcja! :( Inną odmianą tego, która wpływa na mój projekt, jest to, że kiedy moja aplikacja wyświetla wyskakujące okienko (używa yad), a użytkownik klika gdzie indziej, od tego momentu to pop-up i wszystkie kolejne z tej samej aplikacji nigdy nie odzyskują ostrości , nawet gdy są na wierzchu! (To samo stałoby się, gdyby inna aplikacja wyświetlała okno jak w twoim przypadku.) ...
Joe
... jeszcze tego nie próbowałem, ale myślę o napisaniu kolejnej małej aplikacji (że moja główna aplikacja może uruchomić się w tle, a następnie przestać, gdy już jej nie potrzebuje), która po prostu siedzi w tle i szuka mojej wyskakujące okienka i przywraca im ostrość. Wydaje się to być dość łatwe do pisania przy użyciu bashi xdotool, ale wiele rzeczy patrzeć proste, zanim spróbujesz je realizować. Musi to wiedzieć z góry, jakich okien szukał, więc nie jest to ogólne rozwiązanie twojego problemu.
Joe

Odpowiedzi:

2

Najlepszą rekomendacją, jaką mam dla tego problemu, jest użycie opcji „Zawsze na wierzchu” lub „Zawsze poniżej innych okien” dla okna, w którym musisz pozostać (nie) skupiony. Po prostu kliknij prawym przyciskiem myszy pasek tytułu i zaznacz opcję. Mogę obiecać, że to okno w każdym razie, i / lub nie straci skupienia na czymkolwiek wyskakującym oknie.

Możesz także zmusić niektóre okna do pozostania w określonym obszarze roboczym. Możesz także przekierować aplikacje, które często powiadamiają, do obszaru roboczego 1, a następnie działać z obszaru roboczego 2.

J. Cravens
źródło