bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#36193: 26.2; 'set-window-scroll-bars' setting doesn't take effect in


From: Andrea Greselin
Subject: bug#36193: 26.2; 'set-window-scroll-bars' setting doesn't take effect in emacsclient session
Date: Tue, 18 Jun 2019 14:46:15 +0200

> (1) Is this behavior special for the minibuffer window?  That is, if
> in 'after-make-frame-functions' you removed the scroll bar from any
> other window, does it stay removed when you switch to that window
> repeatedly?
Yes. If in 'hide-minibuffer-scrollbar' I replace '(minibuffer-window)' with 'nil', the scratch buffer has no scroll bars and they don't reappear even if the buffer become longer than the window height. They are only re-enabled if I open another buffer in that window, and then they persist.

> (2) Does showing a message in the echo area suffice to make the scroll
> bar reappear?  With other words, what does "use" the minibuffer stand
> for?
No, messages are shown at startup without the scroll bars being shown. if I do M-x or M-: or anything that moves the point to the minibuffer, then they are re-enabled.

> (3) I suppose "it isn't removed afterwards" means you can still remove
> the scroll bar explicitly via 'set-window-scroll-bars' afterwards.
> Right?  And if you do that, does it come back after yet another "use"
> of the minibuffer?
Yes I can still remove them by evaluating '(set-window-scroll-bars (minibuffer-window) 0 nil)'. Then they are only shown while the minibuffer is active (which is the same behaviour I get right from the start in normal (non-client) Emacs sessions).

> (4) Can you influence the behavior by customizing the variable
> `resize-mini-windows'?
Nope, it doesn't appear to have any effect, neither when set in the init file nor in a running emacsclient session.

Best, andrea

On Sun, 16 Jun 2019 at 10:17, martin rudalics <rudalics@gmx.at> wrote:
 > Trying to follow your suggestion I've written
 >
 >    (defun hide-minibuffer-scrollbar (frame)
 >      (with-selected-frame frame
 >        (set-window-scroll-bars (minibuffer-window) 0 nil)))
 >    (if (daemonp)
 >        (add-hook 'after-make-frame-functions #'hide-minibuffer-scrollbar) ; Only for client sessions
 >      (set-window-scroll-bars (minibuffer-window) 0 nil))
 >
 > Now client sessions start without the minibuffer scrollbar, but as soon as
 > I use the minibuffer it comes back and it isn't removed afterwards.

Scrollbar management in the minibuffer window might be unpredictable.
Also, GTK builds usually hide the scroll bar in a one line minibuffer
window automatically, so even the 'min-slider-length' might come into
play here.

To make sure we don't miss anything before proceeding further:

(1) Is this behavior special for the minibuffer window?  That is, if
in 'after-make-frame-functions' you removed the scroll bar from any
other window, does it stay removed when you switch to that window
repeatedly?

(2) Does showing a message in the echo area suffice to make the scroll
bar reappear?  With other words, what does "use" the minibuffer stand
for?

(3) I suppose "it isn't removed afterwards" means you can still remove
the scroll bar explicitly via 'set-window-scroll-bars' afterwards.
Right?  And if you do that, does it come back after yet another "use"
of the minibuffer?

(4) Can you influence the behavior by customizing the variable
`resize-mini-windows'?

Thanks, martin

reply via email to

[Prev in Thread] Current Thread [Next in Thread]