@@ -706,7 +706,8 @@ def add_dialog_proc(name, p, context = nil)
706
706
bg_color = '46'
707
707
end
708
708
end
709
- str = padding_space_with_escape_sequences ( Reline ::Unicode . take_range ( item , 0 , dialog . width - @block_elem_width ) , dialog . width - @block_elem_width )
709
+ str_width = dialog . width - ( dialog . scrollbar_pos . nil? ? 0 : @block_elem_width )
710
+ str = padding_space_with_escape_sequences ( Reline ::Unicode . take_range ( item , 0 , str_width ) , str_width )
710
711
@output . write "\e [#{ bg_color } m#{ str } "
711
712
if dialog . scrollbar_pos and dialog . scrollbar_pos != old_dialog . scrollbar_pos
712
713
@output . write "\e [37m"
@@ -815,7 +816,7 @@ def add_dialog_proc(name, p, context = nil)
815
816
if ( old_dialog . column + old_dialog . width - old_dialog_scrollbar ) > ( dialog . column + dialog . width - dialog_scrollbar )
816
817
# rerender right
817
818
move_cursor_down ( old_dialog . vertical_offset + y_diff )
818
- width = ( old_dialog . column + old_dialog . width ) - ( dialog . column + dialog . width )
819
+ width = ( old_dialog . column + old_dialog . width - old_dialog_scrollbar ) - ( dialog . column + dialog . width - dialog_scrollbar )
819
820
start = visual_start + old_dialog . vertical_offset
820
821
line_num = old_dialog . contents . size
821
822
line_num . times do |i |
@@ -826,7 +827,7 @@ def add_dialog_proc(name, p, context = nil)
826
827
s = Reline ::Unicode . take_range ( visual_lines [ start + i ] , old_dialog . column + dialog . width , width )
827
828
s = padding_space_with_escape_sequences ( s , dialog . width )
828
829
end
829
- Reline ::IOGate . move_cursor_column ( dialog . column + dialog . width )
830
+ Reline ::IOGate . move_cursor_column ( dialog . column + dialog . width - dialog_scrollbar )
830
831
@output . write "\e [39m\e [49m#{ s } \e [39m\e [49m"
831
832
move_cursor_down ( 1 ) if i < ( line_num - 1 )
832
833
end
0 commit comments