Jak zapobiec kradzieży aktywności przez aplikacje podczas uruchamiania w systemie Mac OS X?

13

Oto przykładowy przypadek użycia:

  1. Otwórz Firefox
  2. Umieść kursor w miejscu, w którym możesz pisać
  3. Otwórz coś innego (eclipse to mój obecny przykład ..)
  4. 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 .

erikvold
źródło
Czy możesz połączyć się ze swoim źródłem za robienie tego w systemie Windows?
bwerks

Odpowiedzi:

1

Myślę, że nie możesz: D Zawsze możesz uruchomić Eclipse na innym pulpicie;)

aouaou
źródło
przełączanie komputerów stacjonarnych na moim Macbooku to zbyt dużo pracy imo (dwa klawisze daleko od siebie, brak podświetlanej klawiatury ..), często odczuwam spadek 4 palców.
erikvold
Windows może to zrobić btw i trudno mi uwierzyć, że osx nie może tego zrobić, ponieważ byłaby to ogromna porażka użyteczności.
erikvold
1
„Nie podoba mi się” ≠ „użyteczność zawodzi”.
Lawrence Velázquez
prawda… ale nie to powiedziałem. Chodzi mi o to, że zezwalanie aplikacjom na kradzież skupienia bez zapewniania użytkownikowi możliwości wyłączenia, co jest błędem użyteczności.
erikvold,
szczególnie, gdy Windows-XP oferuje rozwiązanie tego samego problemu ..
erikvold
6

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.

Geoff Colbath
źródło
Uwaga: nie marnuj czasu ... CNet usunął zawartość znajdującą się na końcu linku wymienionego w tej odpowiedzi. Minęło już prawie 7 lat, odkąd opublikowano tę odpowiedź ... Tak złych odpowiedzi nie można wycofać z archiwum; marnują dużo czasu.
Seamus,
0

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ę.

NReilingh
źródło
Otwieram zaćmienie z doku, ale jeśli jest to to samo, co przypadek Findera w twojej odpowiedzi, oto co jest nie tak z twoją odpowiedzią: nie ma znaczenia, że ​​zaćmienie kradnie fokus z Findera lub doku, ponieważ po tym kradnie fokus z tego jest, gdy przełączam się na Firefox i zaczynam pisać.
erikvold
Podsumowując, czego nie mogę zrobić od razu?
erikvold
Racja - każda aplikacja może ukraść fokus w dowolnym momencie, chyba że bieżąca aplikacja zabrania tego. Niektóre aplikacje mogą to zrobić wiele razy w cyklu uruchamiania, zanim się uspokoją - z pewnością tego doświadczyłem. Naprawdę jest to funkcja aplikacji, a jedynym sposobem na obejście tego jest edycja aplikacji, jak opisano powyżej, lub użycie różnych.
NReilingh
więc Windows pozwoli ci uniknąć kradzieży aplikacji, ale OSX nie .. Trudno mi w to uwierzyć.
erikvold
To dziwne - jest tutaj sporo pytań na temat zapobiegania kradzieży ostrości przez aplikacje Windows, a obejściem wydaje się być oprogramowanie innej firmy.
NReilingh,