Чи можна створити ярлик для відкриття конкретної програми на OS X?


51

Я хочу створити ярлик клавіатури, тобто відкрити Firefox під час роботи в іншому додатку. Я знаю, що можу використовувати ⌘ CMD+, Tколи перебуваю у Firefox, щоб відкрити нову вкладку.

Я не знайшов способу створити такий тип ярликів у налаштуваннях системи.

Якісь ідеї?


1
Отже, ви маєте на увазі комбінації клавіш?
Рабарберські

Подивіться на Сервіси в меню «Програми», якщо будь-яка розумно написана програма «Какао» матиме їх, і їм можна призначити ключі. На жаль, я думаю, що Firefox не написаний для їх використання. Тут можна використовувати Safari
користувач151019

Це, можливо, не було варіантом у 2011 році, коли вперше було задано питання, але зараз це зробити досить легко за допомогою Automator. Дивіться howtogeek.com/209725/… для підручника.
Едвард Фолк

Для мене досить дивовижно, що Apple, маючи прихильну юзабіліті, не вважає за потрібне вбудовувати в MacOS простий спосіб призначення ключового ярлика для запуску програми.
Teemu Leisti

Відповіді:


44

Карабінер-Елементи (10.12 і пізніші)

Карабінер перестав працювати в 10.12 через зміни в архітектурі ядра, і Карабінер був переписаний як Karabiner-Elements, який використовує новий формат JSON для файлів конфігурації.

Тепер ви можете додати таке правило до karabiner.json( https://pqrs.org/osx/karabiner/json.html ):

{
  "from": {
    "key_code": "t",
    "modifiers": {
      "mandatory": [
        "right_option"
      ]
    }
  },
  "to": [
    {
      "shell_command": "open -aterminal"
    }
  ],
  "type": "basic"
}

Це робить коротке натискання правої командної клавіші Emacs:

{
  "from": {
    "key_code": "right_command",
    "modifiers": {
      "optional": [
        "any"
      ]
    }
  },
  "to": [
    {
      "key_code": "right_command",
      "lazy": true
    }
  ],
  "to_if_alone": [
    {
      "shell_command": "open -aemacs"
    }
  ],
  "type": "basic"
}

Карабінер (10.11 і новіші)

Збережіть такий файл як private.xml :

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_Safari</name>
    <url>file:///Applications/Safari.app</url>
  </vkopenurldef>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_iTunes</name>
    <url>file:///Applications/iTunes.app</url>
  </vkopenurldef>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_EMACS</name>
    <url>file:///Applications/Emacs.app</url>
  </vkopenurldef>
  <item>
    <name>custom</name>
    <identifier>custom</identifier>
    <autogen>__KeyToKey__ KeyCode::F11, KeyCode::VK_OPEN_URL_Safari</autogen>

    <!-- change the right option key into an extra modifier key -->
    <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::VK_MODIFIER_EXTRA1</autogen>

    <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1, KeyCode::VK_OPEN_URL_iTunes</autogen>

    <!-- make a short press of the right command open Emacs -->
    <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, KeyCode::COMMAND_R, KeyCode::VK_OPEN_URL_EMACS</autogen>
  </item>
</root>

Альфред 2

Якщо ви придбали Powerpack для Alfred 2, ви можете створити такий робочий процес:

Клавіші швидкого доступу за замовчуванням мають коротку затримку, але ви можете зменшити затримку, змінивши опцію "Поведінка тригера" з "Вивільнені клавіші модифікатора" на "Перейти через клавіші модифікатора (Найшвидший)":

Послуги автоматизатора

Відкрийте Automator, виберіть "Сервіс" як тип документа, змініть "Сервіс отримує" з "тексту" на "немає вводу", додайте дію "Запустити додаток" та збережіть послугу. Потім призначте комбінацію клавіш для послуги з "Налаштування системи> Клавіатура> Комбінації клавіш> Послуги".

Я не рекомендую цей варіант, тому що принаймні в моїй системі є затримка приблизно на півсекунди до того, як програма фокусується на клавіатурному ярлику, створеному за допомогою цього методу, а затримка часто навіть довша. З 10.7 також спостерігається помилка, коли комбінації клавіш для служб Автоматизатора не завжди працюють, доки не наведіть курсор миші на сервісне меню на панелі меню. (Редагувати: минуло 8 років після того, як я написав цю відповідь, і помилка досі не виправлена.) Також комбінації клавіш для служб недоступні в деяких додатках, таких як Emacs.


3
private.xml ДЕ? Кудись? Він уже існує? Я не можу його знайти. Куди воно йде?
boulder_ruby

@boulder_ruby, /Library/Application Support/Karabiner/private.xml. Або відкрийте графічний інтерфейс Karabiner> вкладку різне та видалення> вкладка "Відкрити приватне.xml". У мене були такі ж труднощі.
Олександр Птах

Karabiner-Elements дивовижний, тепер, коли я знаю, що я можу змінити його настройки безпосередньо у файлі json. Дякую! 😃
Квінн Комендант

2
Поставте автоматику один на вершину, що найпростіше зробити для більшості людей
Гаррі

8

Альфред

Альфред у своїй версії Power Pack може відображати ярлики до додатків, серед багатьох інших функцій.


5

Якщо ви не хочете використовувати додатки сторонніх розробників.
Тоді ви можете використовувати Автоматизатор (Послуги) та комбінації клавіш Вбудований.

Ось як у відповіді на подібне запитання.

Дуже просто.

На кроці 3 створення служби.
Встановіть його на "будь-яку програму".

тобто
встановити Сервіс отримує: "немає вводу" у "будь-якій програмі" (Зробіть це, використовуючи спадні спади вгорі.)


Приємно знати, чому з цього приводу голосують "проти". Не коментувати
прихилення


5

Отримайте Quicksilver, http://www.blacktree.com/ , це дозволить вам встановити комбінації клавіш для відкриття програм. Насправді є ще багато інших додатків, які роблять це (Альфред, Клавіатура Maestro тощо тощо)

Mac OS X насправді має вбудований спосіб зробити це, але це не працює для Firefox, оскільки він не підтримує послуги! http://hints.macworld.com/article.php?story=20090903085255430

Оновлення січня 2012: Blacktree більше не оновлює Quicksilver - розробник перейшов до Google і випустив поле швидкого пошуку Google . Quicksilver живе далі, але в ньому є новий будинок на qsapp.com .


Дякую. Мені було дуже корисно. використовували Google, але не знайшли ваше посилання.
politicus

Класно, значить, ти прийшов прав?
Пол Еклс

1
"Так". Встановлений Quicksilver (дуже потужний, звичайно, краще, ніж мати лише ярлик). Спробував Maestro Keyboard. Тепер відпочити, перш ніж вивчити всі ці ярлики ;-)
politicus

Quicksilver - це чудово. Дуже дякую за пораду. Я створив скрипт bash для відкриття gmail та інший для відкриття mysms у браузері. Потім я скористався сценарієм appify, щоб зробити їх додатками для OS X. Звідти я міг би використовувати Quicksilver, щоб мати свої комбінації клавіш для їх запуску. Дуже приємно мати. mathiasbynens.be/notes/shell-script-mac-apps
jbrock

2

Тут є безліч хороших варіантів, але я хотів додати мого особистого фаворита, який я використовую з 10.5 і все ще працює з 10.11.2: Іскра 3 .

http://www.shadowlab.org/Software/spark.php

Це безкоштовно і надзвичайно просто налаштувати. Ось опис розробника:

Spark - потужний і простий менеджер ярликів. За допомогою Spark ви можете створити Hot Keys для запуску програм та документів, виконання AppleScript, управління iTunes тощо ... Ви також можете експортувати та імпортувати свою бібліотеку Hot Keys або зберігати її у форматі HTML для її друку. Іскра безкоштовна, тому використовуйте її без помірності!

Ось скріншот інтерфейсу:

Іскровий інтерфейс користувача


2

Я знайшов Apptivate найпростішим у використанні. Ви просто вибираєте програму і призначаєте глобальний ярлик. Це воно.


1

Я знаю, що про Альфреда вже згадувалося, але я подумав трохи сказати про вибір клавіш швидкого доступу. Спочатку мені не було очевидно, який би був хороший набір ярликів, який (а) простий у запам'ятовуванні, (б) простий у використанні та (в) не суперечив іншим клавішам швидкого доступу до системи чи додатків.

Я в кінцевому підсумку використовував клавішу "alt" як основу, і, як правило, покладаючись на клавіші, які можна запускати лівою рукою, і вибираючи описові літери (наприклад, x для Excel). це дозволяє мати мишу в правій руці, а клавіші швидкого доступу спрацьовувати лівою.

Ще одна перевага використання Альфреда Hotkeys для активації програми полягає в тому, що якщо програма буде прихована, вона буде невідома.

Ось знімок екрана того, як я його налаштував: Приклад конфігурації гарячої клавіші Alfred


1

Щоб відкрити Термінал за допомогою комбінації клавіш без стороннього програмного забезпечення:

  • Відкрийте Автоматизатор ( ⌘ + пробіл , потім введіть Автоматизатор)
  • Перейдіть до Файл -> Створити
  • Виберіть Швидку дію (або Сервіс , залежно від версії Mac)
  • Там, де написано, що Workflow отримує , виберіть відсутні дані :

як відкрити mac-термінал за допомогою комбінації клавіш

  • У стовпці " Дії " знайдіть Запуск AppleScript і перетягніть його в правий стовпець
  • Вставте це в область сценарію:

    on run {input, parameters}
    
        tell application "Terminal"
            do script ""
            activate
        end tell
    
    end run
    

PS: Видаліть, do script ""якщо ви не бажаєте нового примірника терміналу щоразу, коли натискаєте швидку клавішу.

  • Клацніть на Файл -> Зберегти та назвіть його все, що завгодно

mac відкритий термінал із клавіатурним скороченням

  • Тепер закрийте Автоматизатор і відкрийте Налаштування системи -> Клавіатура -> Ярлики
  • У лівій колонці натисніть "Послуги"
  • Прокрутіть донизу, ви побачите щойно збережений сценарій. Клацніть на жоден, щоб призначити йому гарячу клавішу.

Однак важливо враховувати, що гаряча клавіша повинна бути унікальною для всіх програм. Якщо ви призначите загальну гарячу клавішу , наприклад ⌘ + T , і спробуєте відкрити термінал під час перегляду, він буде конфліктувати з гарячою клавішею більшості браузера, щоб відкрити нову вкладку, тому вона не працюватиме. Ось чому вам слід спробувати ярлик, який не суперечить жодному додатку.

Я вибрав ⌘ + ⌥ + F12 . Працює досить добре.

Оновлення

Якщо ви використовуєте iTerm2 + Oh My Zsh , просто замініть Запуск AppleScript на запуск програми в Automator і виберіть iTerm.app зі списку.


Вам не потрібно використовувати AppleScript: відбувається дія "Запуск програми".
benwiggy

1

Якщо додаток є терміналом, у ньому вже є клавіші швидкого доступу, налаштовані в налаштуваннях: Налаштування системи Клавіші швидкого доступу Новий термінал у папці ^+ +T

Новий термінал у папці Tab + ^+ +T


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

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