mirror of
https://github.com/ch11ng/exwm.git
synced 2024-11-23 19:47:58 +01:00
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'.
This commit is contained in:
parent
aa7de9dc6f
commit
d225f191a9
2 changed files with 13 additions and 2 deletions
|
@ -986,7 +986,17 @@ Please check `exwm-workspace--minibuffer-own-frame-p' first."
|
||||||
;; Exclude non-graphical frames.
|
;; Exclude non-graphical frames.
|
||||||
(frame-parameter nil 'exwm-outer-id))
|
(frame-parameter nil 'exwm-outer-id))
|
||||||
(add-hook 'post-command-hook #'exwm-workspace--update-minibuffer-height)
|
(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 ()
|
(defun exwm-workspace--on-minibuffer-exit ()
|
||||||
"Run in minibuffer-exit-hook to hide the minibuffer container."
|
"Run in minibuffer-exit-hook to hide the minibuffer container."
|
||||||
|
|
3
exwm.el
3
exwm.el
|
@ -679,7 +679,8 @@ This hook is only run when EXWM is started with emacsclient.")
|
||||||
(dolist (i exwm-blocking-subrs)
|
(dolist (i exwm-blocking-subrs)
|
||||||
(advice-remove i #'exwm--server-eval-at)))
|
(advice-remove i #'exwm--server-eval-at)))
|
||||||
(_ ;enable EXWM
|
(_ ;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 'window-setup-hook #'exwm-init t) ;for Emacs
|
||||||
(add-hook 'after-make-frame-functions #'exwm-init t) ;for Emacs Client
|
(add-hook 'after-make-frame-functions #'exwm-init t) ;for Emacs Client
|
||||||
(add-hook 'kill-emacs-hook #'exwm--server-stop)
|
(add-hook 'kill-emacs-hook #'exwm--server-stop)
|
||||||
|
|
Loading…
Reference in a new issue