当我运行emacsclient时,它不响应鼠标单击。我的主要Emacs进程在终端中运行,并且可以正确响应鼠标单击,因为我的Emacs配置文件中包含以下代码:

(xterm-mouse-mode 1)

为什么emacsclient无法响应鼠标单击?有没有办法做到这一点?

最佳答案

这可能是因为Emacs中的某些设置特定于终端,并且在init文件中操作此类设置只会影响评估init文件时处于事件状态的终端。

以下Q + A处理了几乎相同的问题,并进行了详细介绍:

Run command on new frame with daemon/client in 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)

关于Emacsclient不响应鼠标单击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6462167/

10-12 16:22