* vc/ediff-util.el (ediff-recenter): Use `select-frame-set-input-focus'
authorJuri Linkov <juri@jurta.org>
Wed, 13 Feb 2013 08:41:56 +0000 (10:41 +0200)
committerJuri Linkov <juri@jurta.org>
Wed, 13 Feb 2013 08:41:56 +0000 (10:41 +0200)
to select `ediff-control-frame' and set input focus correctly on Xfce.

Fixes: debbugs:12218

lisp/ChangeLog
lisp/vc/ediff-util.el

index 77432c0..172af2f 100644 (file)
@@ -1,3 +1,9 @@
+2013-02-13  Juri Linkov  <juri@jurta.org>
+
+       * vc/ediff-util.el (ediff-recenter): Use `select-frame-set-input-focus'
+       to select `ediff-control-frame' and set input focus correctly on Xfce.
+       (Bug#12218)
+
 2013-02-13  Juri Linkov  <juri@jurta.org>
 
        * image-mode.el (image-mode-map):
index 3fcfcff..fd53aab 100644 (file)
@@ -787,7 +787,12 @@ Reestablish the default three-window display."
           (frame-live-p ediff-control-frame)
           (not ediff-use-long-help-message)
           (not (ediff-frame-iconified-p ediff-control-frame)))
-      (raise-frame ediff-control-frame))
+      (if (fboundp 'select-frame-set-input-focus)
+         (select-frame-set-input-focus ediff-control-frame)
+       (raise-frame ediff-control-frame)
+       (select-frame ediff-control-frame)
+       (if (fboundp 'focus-frame)
+           (focus-frame ediff-control-frame))))
 
   ;; Redisplay whatever buffers are showing, if there is a selected difference
   (let ((control-frame ediff-control-frame)