--- Begin Message ---
Subject: |
enhancement request: remove vertical scroll bar automatically when not needed |
Date: |
Tue, 24 Oct 2017 20:46:06 -0700 |
Here is a first draft with a simple test (modifying xdisp.c), which probably
nukes more than just the selected window's scroll bars when removing them, but
it may be sufficient to revive this enhancement request in the event anyone is
interested.
finish_scroll_bars:
if ((WINDOW_HAS_VERTICAL_SCROLL_BAR (w) || WINDOW_HAS_HORIZONTAL_SCROLL_BAR
(w))
&& ZV - BEGV > BUF_Z (XBUFFER (w->contents)) - w->window_end_pos -
marker_position (w->start))
{
if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w))
/* Set the thumb's position and size. */
set_vertical_scroll_bar (w);
if (WINDOW_HAS_HORIZONTAL_SCROLL_BAR (w))
/* Set the thumb's position and size. */
set_horizontal_scroll_bar (w);
/* Note that we actually used the scroll bar attached to this
window, so it shouldn't be deleted at the end of redisplay. */
if (FRAME_TERMINAL (f)->redeem_scroll_bar_hook)
(*FRAME_TERMINAL (f)->redeem_scroll_bar_hook) (w);
}
else
{
(*FRAME_TERMINAL (f)->condemn_scroll_bars_hook) (f);
(*FRAME_TERMINAL (f)->judge_scroll_bars_hook) (f);
}
Keith
--- End Message ---