]> code.delx.au - gnu-emacs/commitdiff
(server-raise-frame): New option.
authorJuanma Barranquero <lekktu@gmail.com>
Fri, 10 Nov 2006 09:46:51 +0000 (09:46 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Fri, 10 Nov 2006 09:46:51 +0000 (09:46 +0000)
(server-switch-buffer): Use it.

lisp/server.el

index 9214391d861ff24caf5b5c647398c097432470a9..c6a70dedaeaa2204dc1dd68d5b51235a66106e5d 100644 (file)
@@ -112,6 +112,12 @@ If set, the server accepts remote connections; otherwise it is local."
   :version "22.1")
 (put 'server-auth-dir 'risky-local-variable t)
 
+(defcustom server-raise-frame t
+  "*If non-nil, raise frame when switching to a buffer."
+  :group 'server
+  :type 'boolean
+  :version "22.1")
+
 (defcustom server-visit-hook nil
   "*Hook run when visiting a file for the Emacs server."
   :group 'server
@@ -702,11 +708,9 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
        (let ((win (get-buffer-window next-buffer 0)))
          (if (and win (not server-window))
              ;; The buffer is already displayed: just reuse the window.
-             (let ((frame (window-frame win)))
-               (when (eq (frame-visible-p frame) 'icon)
-                 (raise-frame frame))
-               (select-window win)
-               (set-buffer next-buffer))
+              (progn
+                (select-window win)
+                (set-buffer next-buffer))
            ;; Otherwise, let's find an appropriate window.
            (cond ((and (windowp server-window)
                        (window-live-p server-window))
@@ -730,7 +734,9 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
                (switch-to-buffer next-buffer)
              ;; After all the above, we might still have ended up with
              ;; a minibuffer/dedicated-window (if there's no other).
-             (error (pop-to-buffer next-buffer)))))))))
+             (error (pop-to-buffer next-buffer)))))))
+    (when server-raise-frame
+      (select-frame-set-input-focus (window-frame (selected-window))))))
 
 (define-key ctl-x-map "#" 'server-edit)