2014-02-20 8 views
2

Emacs распознает стандартные ярлыки OSX, такие как Command + Q, но когда я пытаюсь сделать что-то вроде открытого Safari (не судите меня: -P), используя мой собственный ярлык Command + Control + S, мини-буфер говорит: «undefined».Как получить доступ к службам OSX/сочетания клавиш в Emacs

Есть ли способ установить ярлык Emacs для одной из глобальных служб/ярлыков, которые я определил в OSX?

(OSX 10.9.1, Emacs 24,3)

+0

Ответ будет отличаться в зависимости от того, как вы используете этот параметр: '(SETQ нс-авто -hide-menu-bar t) 'Вы используете этот параметр? Я не уверен, когда он был впервые представлен, но делает невозможным выполнение встроенных быстрых клавиш OSX без каких-либо экстраординарных мер. Также убедитесь, что вы используете стандартную систему Настройки клавиш, а не какое-то стороннее решение, такое как KeyboardMaestro или что-то еще. – lawlist

+0

Насколько я знаю, я не использую этот параметр. Я никогда не помещал его в свой файл инициализации, и его сейчас нет. , Я использую пользовательские сочетания клавиш, но они были настроены через стандартные параметры системных настроек. –

ответ

1

Это решение не использует общесистемные сочетание клавиш, но вместо этого использует AppleScript:

(defun safari-activate() 
(interactive) 
    (let ((script (concat 
     "tell application \"Safari\"\n" 
     "activate\n" 
     "end tell"))) 
    (start-process "safari-activate" nil "osascript" "-e" script))) 

А вот немного другой метод, но в этих же рубриках:

(defun safari-activate-two() 
(interactive) 
    (do-applescript "tell application \"Safari\" to activate")) 
0

Услуги Комбинация клавиш работала при работе emacs без настройки.

/Applications/Emacs.app/Contents/MacOS/Emacs.sh --no-init-file 

После долгих проб и ошибок выяснилось, что мои беды были вызваны настройкой MAC-опции-модификатора, согласно mac-switch-meta. Если я вернусь или оставьте его по умолчанию, то я могу получить доступ к службам, но стандартные ярлыки больше не работают! :-(

Что больше я не смог запустить службу, управляя меню, как описано в обсуждении No Menu Bars

Смежные вопросы