diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-07-30T02·17+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-07-30T02·17+0800 |
commit | d225f191a908346535cf4525a4c6c56d93a84b31 (patch) | |
tree | 6d49d092f405210658dcbd41748d93e94f2bd962 | |
parent | aa7de9dc6f13b0d937fe265b64368b7be6e8798e (diff) |
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'.
-rw-r--r-- | exwm-workspace.el | 12 | ||||
-rw-r--r-- | exwm.el | 3 |
2 files changed, 13 insertions, 2 deletions
diff --git a/exwm-workspace.el b/exwm-workspace.el index b2a0cab153e1..b425f9249b32 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." diff --git a/exwm.el b/exwm.el index 7de22972f081..4c156dcd23e4 100644 --- a/exwm.el +++ b/exwm.el @@ -679,7 +679,8 @@ This hook is only run when EXWM is started with emacsclient.") (dolist (i exwm-blocking-subrs) (advice-remove i #'exwm--server-eval-at))) (_ ;enable EXWM - (setq frame-resize-pixelwise t) ;mandatory; before init + (setq frame-resize-pixelwise t ;mandatory; before init + window-resize-pixelwise t) (add-hook 'window-setup-hook #'exwm-init t) ;for Emacs (add-hook 'after-make-frame-functions #'exwm-init t) ;for Emacs Client (add-hook 'kill-emacs-hook #'exwm--server-stop) |