Emacsclient не реагирует на щелчки мышью - PullRequest
5 голосов
/ 24 июня 2011

Когда я запускаю emacsclient, он не реагирует на щелчки мышью. Мой основной процесс Emacs выполняется в терминале и правильно реагирует на щелчки мышью, потому что в моем конфигурационном файле Emacs есть следующий код:

(xterm-mouse-mode 1)

Почему emacsclient не реагирует на щелчки мышью? Есть ли способ заставить это сделать?

1 Ответ

10 голосов
/ 23 июля 2011

Вероятно, это связано с тем, что некоторые настройки в Emacs относятся к терминалу , и манипулирование такими настройками в вашем файле инициализации повлияет только на терминал, который активен во время оценки файла инициализации.

Следующий Q + A имеет дело почти с той же проблемой и углубляется в детали:

Запустить команду на новом фрейме с демоном / клиентом в Emacs

Для вашей проблемы, я думаю, это должно сработать:

(defun my-terminal-config (&optional frame)
  "Establish settings for the current terminal."
  (if (not frame) ;; The initial call.
      (xterm-mouse-mode 1)
    ;; Otherwise called via after-make-frame-functions.
    (if xterm-mouse-mode
        ;; Re-initialise the mode in case of a new terminal.
        (xterm-mouse-mode 1))))
;; Evaluate both now (for non-daemon emacs) and upon frame creation
;; (for new terminals via emacsclient).
(my-terminal-config)
(add-hook 'after-make-frame-functions 'my-terminal-config)
...