[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"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/exwm fa204e1: Fix emacsclient issues,
Chris Feng <=