Як я не дозволяю програмам красти фокус при запуску на Mac OS X?


13

Ось приклад використання:

  1. Відкрити Firefox
  2. Помістіть курсор кудись, де ви можете ввести
  3. Відкрийте щось інше (затемнення - мій поточний приклад ..)
  4. Почніть вводити Firefox, поки затемнення не вкраде фокус і не перерве те, що ви вводили

Як я запобігаю, щоб додатки не крали фокус і не переривали введення тексту?

Оновлення:

Відповіді, які я отримую, начебто говорять про те, що цього не можна зробити, однак це можна зробити на Windows, тому мені важко уявити, що це не може бути зроблено на OSX, це було б величезною зручністю використання, якби це було так .


Чи можете ви зв’язатись зі своїм джерелом, щоб зробити це у Windows?
бербекс

Відповіді:


1

Я думаю, що ви не можете: D Ви завжди можете виконати Eclipse на іншому робочому столі;)


перемикання настільних комп’ютерів на моїй книзі macbook - це занадто велика робота imo (дві клавіші далеко один від одного, клавіатура не засвічена назад).
erikvold

Windows може зробити це btw, і мені важко повірити, що osx не може цього зробити, тому що це буде величезною зручністю використання.
erikvold

1
"Мені це не подобається", "зручність використання".
Лоуренс Веласкес

правда .. але це не те, що я сказав. Моя думка полягає в тому, що дозволяти додаткам красти фокус, не надаючи користувачеві можливість відключити, що є невдалим у використанні.
erikvold

особливо коли windows-xp пропонує вирішення тієї ж проблеми ..
erikvold

6

Якщо хтось все ще шукає відповіді на це, я нещодавно знайшов цю статтю, яка повинна пролити трохи світла на можливі рішення:

http://reviews.cnet.com/8301-13727_7-20085680-263/keep-applications-from-stealing-focus-when-opening-in-os-x/

Зрозуміло, це минуло трохи більше року після того, як було задано оригінальне запитання, але люди все ще шукають відповіді на складні життєві питання, здавалося б.

TL; DR: Ви можете потенційно змінити саму програму та додати набір параметрів до "info.plist" програми, або ви можете написати сценарій, який запустить додаток за іншими вікнами. Існує третя "опція", яка в основному говорить про те, що ви можете залишати додаток вище інших, навіть коли вони запускаються, але це не обов'язково перешкоджає новоствореному додатку красти фокус.


Примітка. Не витрачайте час ... CNet видалив будь-який вміст у кінці посилання, на яке посилалась ця відповідь. Зараз майже 7 років з моменту опублікування цієї відповіді ... Занадто погані відповіді, як ця, не можуть бути застарілими з архіву; вони витрачають багато часу.
Seamus

0

Ці якості визначаються як у запущеній програмі, так і в програмі, яка зараз фокусується. Дивіться, Finder, з якого ви запускаєте Eclipse, також є програмою - якби Eclipse не вкрав фокус у Finder, це не виглядатиме так, що запуск програми нічого не зробив. Таким чином, за замовчуванням потрібно зупинити фокус на запуску програми. Можливо, є плагін Firefox, який робить його "самодержавним"? Ви завжди можете додати ключ LSUIElement до Info.plist запущеної програми (всередині пакета програми), який забирає елементи інтерфейсу всього цього додатка, але це може дещо зменшити його корисність.

Виконання нового додатка в іншому просторі та потім повернення назад для мене не спрацювало; запущена програма поверне вас у цей простір лише після того, як буде завантажено.

Дійсно, нерозумний спосіб уникнути викрадення фокусу - це просто утримувати коней і чекати, коли додаток завантажиться, як тільки ви його запустите. Більшість користувачів електроенергії залишатимуть усі програми, якими вони користуються регулярно, відкритими на задньому плані та відкривати щось нове лише тоді, коли їм потрібно буде повністю відвернути на це свою увагу.


Я відкриваю затемнення з док-станції, але якщо це те саме, що у випадку з Finder у вашій відповіді, то ось, що не так у вашій відповіді: неважливо, що затемнення краде фокус у Finder або дока, тому що після того, як він вкраде фокус з цього це коли я переходжу на Firefox і починаю набирати текст.
erikvold

підводячи підсумок, що я хочу зробити, не можна зробити афайком?
erikvold

Право - будь-якій програмі дозволяється вкрасти фокус у будь-який час, якщо ваша поточна програма забороняє це. Деякі додатки можуть зробити це кілька разів у своєму циклі запуску, перш ніж вони впорядкуються. Дійсно, це функція програми, і єдиний спосіб її обійти - це редагувати програми, як я описав вище, або використовувати різні.
NReilingh

тому вікна дозволять вам запобігти крадіжкам програм у програмах, але osx цього не робить. Мені важко повірити.
erikvold

Це дивно - тут є досить багато опублікованих запитань щодо запобігання програмам Windows від крадіжок фокусу, а рішення, схоже, є стороннім програмним забезпеченням.
NReilingh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.