Oto przykładowy przypadek użycia:
- Otwórz Firefox
- Umieść kursor w miejscu, w którym możesz pisać
- Otwórz coś innego (eclipse to mój obecny przykład ..)
- Zacznij pisać w Firefoksie, dopóki zaćmienie nie kradnie ostrości i nie przerywa pisania
Jak zapobiec kradzieży fokusu i przerywaniu pisania przez aplikacje?
Aktualizacja:
Odpowiedzi, które otrzymuję, sugerują, że nie można tego zrobić, ale można to zrobić w systemie Windows, więc trudno mi sobie wyobrazić, że nie można tego zrobić w systemie OSX, to byłaby ogromna porażka użyteczności, gdyby tak było .
Odpowiedzi:
Myślę, że nie możesz: D Zawsze możesz uruchomić Eclipse na innym pulpicie;)
źródło
Jeśli ktoś nadal szuka odpowiedzi na to pytanie, niedawno znalazłem ten artykuł, który powinien rzucić nieco światła na możliwe rozwiązania:
http://reviews.cnet.com/8301-13727_7-20085680-263/keep-applications-from-stealing-focus-when-opening-in-os-x/
To prawda, że minęło nieco ponad rok od zadania pierwotnego pytania, ale wydaje się, że ludzie wciąż szukają odpowiedzi na trudne pytania.
TL; DR: Możesz potencjalnie zmodyfikować samą aplikację i dodać zestaw parametrów do „info.plist” aplikacji lub napisać skrypt, który uruchomi aplikację za innymi oknami. Istnieje trzecia „opcja”, która zasadniczo mówi, że możesz pozostawić aplikację nad innymi, nawet podczas jej uruchamiania, ale niekoniecznie uniemożliwia to nowo uruchomionej aplikacji kradzież ostrości.
źródło
Te cechy są zdefiniowane zarówno w aplikacji, którą uruchamiasz, jak i w aplikacji, która jest obecnie skoncentrowana. Widzisz, Finder, z którego uruchamiasz Eclipse, jest także aplikacją - jeśli Eclipse nie ukradł fokusu z Findera, nie wyglądałoby na to, że uruchomienie aplikacji coś zrobiło. Dlatego domyślnie kradnie nacisk na uruchomienie aplikacji. Może istnieje wtyczka Firefox, która czyni ją „autokratyczną”? Zawsze możesz dodać klucz LSUIElement do Info.plist uruchomionej aplikacji (w pakiecie aplikacji), który usuwa elementy interfejsu użytkownika całej aplikacji, ale może to nieco zmniejszyć jego przydatność dla Ciebie.
Uruchomienie nowej aplikacji w innej Przestrzeni, a następnie przełączenie z powrotem nie działało dla mnie; uruchomiona aplikacja przywróci Cię w to miejsce dopiero po zakończeniu ładowania.
Naprawdę, niezawodną metodą powstrzymania się od kradzieży koncentracji jest po prostu trzymanie koni i czekanie na załadowanie aplikacji po jej uruchomieniu. Większość zaawansowanych użytkowników będzie utrzymywać wszystkie aplikacje, z których regularnie korzystają, otwarte w tle i otwierają tylko coś nowego, gdy muszą odwrócić na to całą swoją uwagę.
źródło