emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm fa204e1: Fix emacsclient issues


From: Chris Feng
Subject: [elpa] externals/exwm fa204e1: Fix emacsclient issues
Date: Fri, 25 Mar 2016 06:01:04 +0000

branch: externals/exwm
commit fa204e136718e106a87414dd145d16748d5b7262
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Fix emacsclient issues
    
    * exwm-layout.el (exwm-layout--on-minibuffer-setup)
    (exwm-layout--on-echo-area-change):
    * exwm-workspace.el (exwm-workspace--on-minibuffer-setup)
    (exwm-workspace--on-minibuffer-exit, exwm-workspace--on-echo-area-dirty)
    (exwm-workspace--on-echo-area-clear):
    Exclude non-graphical frames.
    
    * exwm.el (exwm--server-eval-at): Avoid using `x-dispaly-name'.
---
 exwm-layout.el    |   15 +++++++++------
 exwm-workspace.el |   21 ++++++++++++++-------
 exwm.el           |    2 +-
 3 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/exwm-layout.el b/exwm-layout.el
index 095e461..c392ff9 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -353,16 +353,19 @@ selected by `other-buffer'."
 
 (defun exwm-layout--on-minibuffer-setup ()
   "Refresh layout when minibuffer grows."
-  (run-with-idle-timer 0.01 nil         ;FIXME
-                       (lambda ()
-                         (when (< 1 (window-height (minibuffer-window)))
-                           (exwm-layout--refresh))))
-  ;; Set input focus on the Emacs frame
-  (x-focus-frame (window-frame (minibuffer-selected-window))))
+  (when (frame-parameter nil 'exwm-outer-id)
+    (run-with-idle-timer 0.01 nil         ;FIXME
+                         (lambda ()
+                           (when (< 1 (window-height (minibuffer-window)))
+                             (exwm-layout--refresh))))
+    ;; Set input focus on the Emacs frame
+    (x-focus-frame (window-frame (minibuffer-selected-window)))))
 
 (defun exwm-layout--on-echo-area-change (&optional dirty)
   "Run when message arrives or in `echo-area-clear-hook' to refresh layout."
   (when (and (current-message)
+             ;; Exclude non-graphical frames.
+             (frame-parameter nil 'exwm-outer-id)
              (or (cl-position ?\n (current-message))
                  (> (length (current-message))
                     (frame-width exwm-workspace--current))))
diff --git a/exwm-workspace.el b/exwm-workspace.el
index d8e84f3..8dd6284 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -531,7 +531,9 @@ The optional FORCE option is for internal use only."
 
 (defun exwm-workspace--on-minibuffer-setup ()
   "Run in minibuffer-setup-hook to show the minibuffer and its container."
-  (unless (> -1 (minibuffer-depth))
+  (when (and (= 1 (minibuffer-depth))
+             ;; Exclude non-graphical frames.
+             (frame-parameter nil 'exwm-outer-id))
     (add-hook 'post-command-hook #'exwm-workspace--update-minibuffer)
     (exwm-workspace--show-minibuffer)
     ;; Set input focus on the Emacs frame
@@ -539,7 +541,9 @@ The optional FORCE option is for internal use only."
 
 (defun exwm-workspace--on-minibuffer-exit ()
   "Run in minibuffer-exit-hook to hide the minibuffer container."
-  (unless (> -1 (minibuffer-depth))
+  (when (and (= 1 (minibuffer-depth))
+             ;; Exclude non-graphical frames.
+             (frame-parameter nil 'exwm-outer-id))
     (remove-hook 'post-command-hook #'exwm-workspace--update-minibuffer)
     (exwm-workspace--hide-minibuffer)))
 
@@ -548,6 +552,8 @@ The optional FORCE option is for internal use only."
 (defun exwm-workspace--on-echo-area-dirty ()
   "Run when new message arrives to show the echo area and its container."
   (when (and (not (active-minibuffer-window))
+             ;; Exclude non-graphical frames.
+             (frame-parameter nil 'exwm-outer-id)
              (or (current-message)
                  cursor-in-echo-area))
     (exwm-workspace--update-minibuffer t)
@@ -561,11 +567,12 @@ The optional FORCE option is for internal use only."
 
 (defun exwm-workspace--on-echo-area-clear ()
   "Run in echo-area-clear-hook to hide echo area container."
-  (unless (active-minibuffer-window)
-    (exwm-workspace--hide-minibuffer))
-  (when exwm-workspace--display-echo-area-timer
-    (cancel-timer exwm-workspace--display-echo-area-timer)
-    (setq exwm-workspace--display-echo-area-timer nil)))
+  (when (frame-parameter nil 'exwm-outer-id) ;Exclude non-graphical frames.
+    (unless (active-minibuffer-window)
+      (exwm-workspace--hide-minibuffer))
+    (when exwm-workspace--display-echo-area-timer
+      (cancel-timer exwm-workspace--display-echo-area-timer)
+      (setq exwm-workspace--display-echo-area-timer nil))))
 
 (declare-function exwm-manage--unmanage-window "exwm-manage.el")
 
diff --git a/exwm.el b/exwm.el
index e60b341..ac10247 100644
--- a/exwm.el
+++ b/exwm.el
@@ -557,7 +557,7 @@
           (start-process exwm--server-name
                          nil
                          (car command-line-args) ;The executable file
-                         "-d" x-display-name
+                         "-d" (frame-parameter nil 'display)
                          "-Q"
                          (concat "--daemon=" exwm--server-name)
                          "--eval"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]