[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Select completions from the minibuffer
From: |
Juri Linkov |
Subject: |
Re: Select completions from the minibuffer |
Date: |
Thu, 17 Mar 2022 22:56:01 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu) |
>> But cursor-face is not highlighted in *Completions* when the current buffer
>> is the minibuffer. Such highlighting is necessary when completions
>> are navigated from the minibuffer.
> Please check the change and try to set
> cursor-face-highlight-nonselected-window unconditionally in
> *Completions* to t when using your mode.
Now it keeps highlighting in *Completions* after switching to the minibuffer,
but still doesn't move the highlighting in *Completions* when
completions are navigated from the minibuffer with
(defmacro with-minibuffer-completions-window (&rest body)
"Execute the forms in BODY from the minibuffer in its completions window.
When used in a minibuffer window, select the window with completions,
and execute the forms."
(declare (indent 0) (debug t))
`(let ((window (or (get-buffer-window "*Completions*" 0)
;; Make sure we have a completions window.
(progn (minibuffer-completion-help)
(get-buffer-window "*Completions*" 0)))))
(when window
(with-selected-window window
,@body))))
(defun minibuffer-next-completion (&optional n)
"Run `next-completion' from the minibuffer in its completions window."
(interactive "p")
(with-minibuffer-completions-window
(next-completion n)))
> If you could improve the initialization in order to use
> cursor-in-non-selected-windows unless the user sets another value
> manually it may be nicer (because in the general scenario the user could
> set cursor-in-non-selected-windows latter so this variable may have an
> outdated value) otherwise consider if this may be simply t or nil by
> default. But at the moment it works fine for the current use cases.
I think it's unrelated to cursor-in-non-selected-windows
because the cursor in non-selected windows is displayed as
a hollow box, but cursor-face stays the same.
So you can set cursor-face-highlight-nonselected-window
to nil by default. Then commands could let-bind it like
(defun minibuffer-next-completion (&optional n)
"Run `next-completion' from the minibuffer in its completions window."
(interactive "p")
(let ((cursor-face-highlight-nonselected-window t))
(with-minibuffer-completions-window
(next-completion n))))
(but this currently doesn't work for the same reason as above)
- Re: Select completions from the minibuffer, (continued)
- Re: Select completions from the minibuffer, Ergus, 2022/03/14
- Re: Select completions from the minibuffer, Juri Linkov, 2022/03/14
- Re: Select completions from the minibuffer, Ergus, 2022/03/14
- Re: Select completions from the minibuffer, Stefan Monnier, 2022/03/14
- Re: Select completions from the minibuffer, Ergus, 2022/03/14
- Re: Select completions from the minibuffer, Stefan Monnier, 2022/03/14
- Re: Select completions from the minibuffer, Stefan Monnier, 2022/03/15
- Re: Select completions from the minibuffer, Juri Linkov, 2022/03/14
- Re: Select completions from the minibuffer, Ergus, 2022/03/17
- Re: Select completions from the minibuffer, Ergus, 2022/03/17
- Re: Select completions from the minibuffer,
Juri Linkov <=
- Re: Select completions from the minibuffer, Stefan Monnier, 2022/03/17
- Re: Select completions from the minibuffer, Ergus, 2022/03/17
- Re: Select completions from the minibuffer, Stefan Monnier, 2022/03/17
- Re: Select completions from the minibuffer, Ergus, 2022/03/17
- Re: Select completions from the minibuffer, Eli Zaretskii, 2022/03/18
- Re: Select completions from the minibuffer, Ergus, 2022/03/17
- Re: Select completions from the minibuffer, Eli Zaretskii, 2022/03/18
- Re: Select completions from the minibuffer, Ergus, 2022/03/18
- Re: Select completions from the minibuffer, Eli Zaretskii, 2022/03/18
- Re: Select completions from the minibuffer, Stefan Monnier, 2022/03/18