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

From: martin rudalics <[email-masked]>
Date: Sun, 16 Jun 2019 10:17:37 +0200

> 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