From d225f191a908346535cf4525a4c6c56d93a84b31 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Sat, 30 Jul 2016 10:17:57 +0800 Subject: Fit the *Completions* buffer * exwm-workspace.el (exwm-workspace--on-minibuffer-setup): Work around the *Completions* buffer not getting fitted problem. * exwm.el (exwm-enable): Enable `window-resize-pixelwise'. --- exwm-workspace.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'exwm-workspace.el') diff --git a/exwm-workspace.el b/exwm-workspace.el index b2a0cab153..b425f9249b 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -986,7 +986,17 @@ Please check `exwm-workspace--minibuffer-own-frame-p' first." ;; Exclude non-graphical frames. (frame-parameter nil 'exwm-outer-id)) (add-hook 'post-command-hook #'exwm-workspace--update-minibuffer-height) - (exwm-workspace--show-minibuffer))) + (exwm-workspace--show-minibuffer)) + ;; FIXME: This is a temporary fix for the *Completions* buffer not + ;; being correctly fitted by its displaying window. As with + ;; `exwm-workspace--display-buffer', the problem is caused by + ;; the fact that the minibuffer (rather than the workspace) + ;; frame is the 'selected frame'. `get-buffer-window' will + ;; fail to retrieve the correct window. It's likely there are + ;; other related issues. + (let ((window (get-buffer-window "*Completions*" exwm-workspace--current))) + (when window + (fit-window-to-buffer window nil nil nil nil t)))) (defun exwm-workspace--on-minibuffer-exit () "Run in minibuffer-exit-hook to hide the minibuffer container." -- cgit 1.4.1