summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG2
-rw-r--r--lisp/transient.el14
2 files changed, 15 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 641cc4c..544042c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -22,6 +22,8 @@
default. Customize ~transient-hide-during-minibuffer-read~ if you
prefer the old default.
+- Further refinements to when the size of the menu window is fixed.
+
Bug fixes:
- Fixes some menu navigation edge-cases.
diff --git a/lisp/transient.el b/lisp/transient.el
index e7ecb50..50fb331 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -211,6 +211,11 @@ buffer became the current buffer, then that would change what is
at point. To that effect `inhibit-same-window' ensures that the
selected window is not used to show the transient buffer.
+The use of a horizonal split to display the menu window can lead
+to incompatibilities and is thus discouraged. Transient tries to
+mitigate such issue but cannot proactively deal with all possible
+configurations and combinations of third-party packages.
+
It may be possible to display the window in another frame, but
whether that works in practice depends on the window-manager.
If the window manager selects the new window (Emacs frame),
@@ -3818,7 +3823,14 @@ have a history of their own.")
(erase-buffer)
(when transient-force-fixed-pitch
(transient--force-fixed-pitch))
- (setq window-size-fixed (if (window-full-height-p) 'width t))
+ (setq window-size-fixed
+ ;; If necessary, make sure the height of the minibuffer
+ ;; can be increased to display completion candidates.
+ ;; See https://github.com/minad/vertico/issues/532.
+ (if (and (not transient-hide-during-minibuffer-read)
+ (window-full-height-p))
+ 'width
+ t))
(when (bound-and-true-p tab-line-format)
(setq tab-line-format nil))
(setq header-line-format nil)