mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 14:18:26 +02:00
Nicer debug output for scrollbar option
This commit is contained in:
@@ -198,7 +198,7 @@ The scrollback buffer
|
|||||||
|
|
||||||
|kitty| supports scrolling back to view history, just like most terminals. You
|
|kitty| supports scrolling back to view history, just like most terminals. You
|
||||||
can use either keyboard shortcuts or the mouse scroll wheel to do so. |kitty|
|
can use either keyboard shortcuts or the mouse scroll wheel to do so. |kitty|
|
||||||
displays an interactive :opt:`scrollbar <scrollbar_opacity>` along the right edge
|
displays an interactive :opt:`scrollbar` along the right edge
|
||||||
of the window that shows your current position in the scrollback. You can click
|
of the window that shows your current position in the scrollback. You can click
|
||||||
and drag the scrollbar to quickly navigate through the history.
|
and drag the scrollbar to quickly navigate through the history.
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ from .constants import extensions_dir, is_macos, is_wayland, kitty_base_dir, kit
|
|||||||
from .fast_data_types import Color, SingleKey, current_fonts, glfw_get_system_color_theme, gpu_driver_version_string, num_users, wayland_compositor_data
|
from .fast_data_types import Color, SingleKey, current_fonts, glfw_get_system_color_theme, gpu_driver_version_string, num_users, wayland_compositor_data
|
||||||
from .options.types import Options as KittyOpts
|
from .options.types import Options as KittyOpts
|
||||||
from .options.types import defaults, secret_options
|
from .options.types import defaults, secret_options
|
||||||
from .options.utils import KeyboardMode, KeyDefinition
|
from .options.utils import KeyboardMode, KeyDefinition, ScrollbarSettings
|
||||||
from .rgb import color_as_sharp, color_from_int
|
from .rgb import color_as_sharp, color_from_int
|
||||||
from .types import MouseEvent, Shortcut, mod_to_names
|
from .types import MouseEvent, Shortcut, mod_to_names
|
||||||
from .utils import shlex_split
|
from .utils import shlex_split
|
||||||
@@ -91,7 +91,7 @@ def compare_opts(opts: KittyOpts, global_shortcuts: dict[str, SingleKey] | None,
|
|||||||
continue
|
continue
|
||||||
val = getattr(opts, f)
|
val = getattr(opts, f)
|
||||||
if isinstance(val, dict):
|
if isinstance(val, dict):
|
||||||
print(title(f'{f}:'))
|
print(f'{f}:')
|
||||||
if f == 'symbol_map':
|
if f == 'symbol_map':
|
||||||
for k in sorted(val):
|
for k in sorted(val):
|
||||||
print(f'\tU+{k[0]:04x} - U+{k[1]:04x} → {val[k]}')
|
print(f'\tU+{k[0]:04x} - U+{k[1]:04x} → {val[k]}')
|
||||||
@@ -100,6 +100,10 @@ def compare_opts(opts: KittyOpts, global_shortcuts: dict[str, SingleKey] | None,
|
|||||||
print(' ', val[k])
|
print(' ', val[k])
|
||||||
else:
|
else:
|
||||||
print(pformat(val))
|
print(pformat(val))
|
||||||
|
elif isinstance(val, ScrollbarSettings):
|
||||||
|
print(f'{f}:')
|
||||||
|
for ssd in ScrollbarSettings().differences(val):
|
||||||
|
print(f'\t{ssd}')
|
||||||
else:
|
else:
|
||||||
val = getattr(opts, f)
|
val = getattr(opts, f)
|
||||||
if isinstance(val, Color):
|
if isinstance(val, Color):
|
||||||
|
|||||||
@@ -442,10 +442,9 @@ is changed it will only affect newly created windows, not existing ones.
|
|||||||
'''
|
'''
|
||||||
)
|
)
|
||||||
|
|
||||||
opt(
|
opt('scrollbar', '', option_type='scrollbar', ctype='!scrollbar',
|
||||||
'scrollbar', '',
|
|
||||||
option_type='scrollbar', ctype='!scrollbar',
|
|
||||||
long_text='''
|
long_text='''
|
||||||
|
TODO: this writeup
|
||||||
''')
|
''')
|
||||||
|
|
||||||
opt('scrollback_pager', 'less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER',
|
opt('scrollback_pager', 'less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER',
|
||||||
|
|||||||
@@ -1719,6 +1719,11 @@ class ScrollbarSettings(NamedTuple):
|
|||||||
jump_on_track_click: bool = True
|
jump_on_track_click: bool = True
|
||||||
visible_when: int = 1
|
visible_when: int = 1
|
||||||
|
|
||||||
|
def differences(self, other: 'ScrollbarSettings') -> Iterator[str]:
|
||||||
|
for key in self._fields:
|
||||||
|
if getattr(self, key) != (o := getattr(other, key)):
|
||||||
|
yield f'{key}: {o}'
|
||||||
|
|
||||||
|
|
||||||
default_scrollbar = ScrollbarSettings()
|
default_scrollbar = ScrollbarSettings()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user