2011-06-24 17 views
5

emacsclientを実行するとマウスのクリックに反応しません。Emacsclientがマウスのクリックに反応しません

(xterm-mouse-mode 1) 

がなぜのemacsclientは、マウスクリックに応答しない:私のメインのEmacsプロセスは、私は私のEmacsの設定ファイルに次のコードを持っているので、端末で実行され、正しくマウスクリックに反応しますか?そうする方法はありますか?

答えて

10

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) 
+0

!私は実際にはGNU Screenセッションでのみこの問題を抱えていましたが、これで解決しました。 – hekevintran

+0

よろしくお願いします。私はちょうど 'xterm-mouse-mode'がグローバルマイナーモードであることを意図していたので、意図的にそのモードを無効にしてから新しいフレームを作成すると、再びスイッチバックされるというコードに欠陥がありました。私はそれに応じてコードを編集しました。私はモードが当初私が含んでいた(そしてどんな場合でもxtermを特定するのに十分でなかった) 'window-system'チェックを必要としないほどスマートだと思う。 – phils

関連する問題