From 36bb5793c2026230a2a660d443dde1c3b1a98de6 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Sun, 9 Aug 2015 11:27:48 +0800 Subject: [PATCH] Refresh when minibuffer grows (fix #10) The expansion of echo area is not handled however. --- exwm-layout.el | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/exwm-layout.el b/exwm-layout.el index 906357e..414aa37 100644 --- a/exwm-layout.el +++ b/exwm-layout.el @@ -187,10 +187,21 @@ (dolist (i (cdr windows)) (set-window-buffer i placeholder)))))))))) +(defun exwm-layout--on-minibuffer-setup () + "Refresh layout when minibuffer grows." + (run-with-idle-timer 0.01 nil ;FIXME + (lambda () + (when (and (< 1 (window-height (minibuffer-window))) + (not (and (eq major-mode 'exwm-mode) + exwm--floating-frame))) + (exwm-layout--refresh))))) + (defun exwm-layout--init () "Initialize layout module." ;; Auto refresh layout - (add-hook 'window-configuration-change-hook 'exwm-layout--refresh)) + (add-hook 'window-configuration-change-hook 'exwm-layout--refresh) + ;; Refresh when minibuffer grows + (add-hook 'minibuffer-setup-hook 'exwm-layout--on-minibuffer-setup t))