mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.1.2032: scrollbar thumb wrong in popup window
Problem: Scrollbar thumb wrong in popup window. Solution: Adjust thumb size and position when scrolled.
This commit is contained in:
@@ -3364,9 +3364,11 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
if (wp->w_has_scrollbar)
|
if (wp->w_has_scrollbar)
|
||||||
{
|
{
|
||||||
linenr_T linecount = wp->w_buffer->b_ml.ml_line_count;
|
linenr_T linecount = wp->w_buffer->b_ml.ml_line_count;
|
||||||
|
int height = wp->w_height;
|
||||||
|
|
||||||
sb_thumb_height = (wp->w_height * wp->w_height + linecount / 2)
|
sb_thumb_height = (height * height + linecount / 2) / linecount;
|
||||||
/ linecount;
|
if (wp->w_topline > 1 && sb_thumb_height == height)
|
||||||
|
--sb_thumb_height; // scrolled, no full thumb
|
||||||
if (sb_thumb_height == 0)
|
if (sb_thumb_height == 0)
|
||||||
sb_thumb_height = 1;
|
sb_thumb_height = 1;
|
||||||
if (linecount <= wp->w_height)
|
if (linecount <= wp->w_height)
|
||||||
@@ -3377,6 +3379,9 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
+ (linecount / wp->w_height) / 2)
|
+ (linecount / wp->w_height) / 2)
|
||||||
* (wp->w_height - sb_thumb_height)
|
* (wp->w_height - sb_thumb_height)
|
||||||
/ (linecount - wp->w_height);
|
/ (linecount - wp->w_height);
|
||||||
|
if (wp->w_topline > 1 && sb_thumb_top == 0 && height > 1)
|
||||||
|
sb_thumb_top = 1; // show it's scrolled
|
||||||
|
|
||||||
if (wp->w_scrollbar_highlight != NULL)
|
if (wp->w_scrollbar_highlight != NULL)
|
||||||
attr_scroll = syn_name2attr(wp->w_scrollbar_highlight);
|
attr_scroll = syn_name2attr(wp->w_scrollbar_highlight);
|
||||||
else
|
else
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
>1+0&#ffffff0| @73
|
>1+0&#ffffff0| @73
|
||||||
|2| @73
|
|2| @73
|
||||||
|3| @73
|
|3| @73
|
||||||
|4| @31|t+0#0000001#ffd7ff255|w|o| @4| +0#0000000#0000001| +0&#ffffff0@32
|
|4| @31|t+0#0000001#ffd7ff255|w|o| @4| +0#0000000#a8a8a8255| +0&#ffffff0@32
|
||||||
|5| @31|t+0#0000001#ffd7ff255|h|r|e@1| @2| +0#0000000#0000001| +0&#ffffff0@32
|
|5| @31|t+0#0000001#ffd7ff255|h|r|e@1| @2| +0#0000000#0000001| +0&#ffffff0@32
|
||||||
|6| @31|f+0#0000001#ffd7ff255|o|u|r| @3| +0#0000000#a8a8a8255| +0&#ffffff0@32
|
|6| @31|f+0#0000001#ffd7ff255|o|u|r| @3| +0#0000000#0000001| +0&#ffffff0@32
|
||||||
|7| @31|f+0#0000001#ffd7ff255|i|v|e| @3| +0#0000000#a8a8a8255| +0&#ffffff0@32
|
|7| @31|f+0#0000001#ffd7ff255|i|v|e| @3| +0#0000000#a8a8a8255| +0&#ffffff0@32
|
||||||
|8| @73
|
|8| @73
|
||||||
|9| @73
|
|9| @73
|
||||||
|
@@ -757,6 +757,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2032,
|
||||||
/**/
|
/**/
|
||||||
2031,
|
2031,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user