diff --git a/kitty/options/types.py b/kitty/options/types.py index a29f10812..faa8e40da 100644 --- a/kitty/options/types.py +++ b/kitty/options/types.py @@ -588,7 +588,7 @@ class Options: scrollback_lines: int = 2000 scrollback_pager: list[str] = ['less', '--chop-long-lines', '--RAW-CONTROL-CHARS', '+INPUT_LINE_NUMBER'] scrollback_pager_history_size: int = 0 - scrollbar: ScrollbarSettings = ScrollbarSettings(opacity=0.5, track_opacity=0, track_hover_opacity=0.1, color=0, track_color=0, interactive=True, width=0.5, radius=0.3, gap=0.1, min_handle_height=1.0, hitbox_expansion=0.25, jump_on_track_click=True, visible_when=1) + scrollbar: ScrollbarSettings = ScrollbarSettings() select_by_word_characters: str = '@-./_~?&=%+#' select_by_word_characters_forward: str = '' selection_background: kitty.fast_data_types.Color | None = Color(255, 250, 205) diff --git a/kitty/options/utils.py b/kitty/options/utils.py index f1fb58f66..018073004 100644 --- a/kitty/options/utils.py +++ b/kitty/options/utils.py @@ -1734,6 +1734,15 @@ def differences(self, other: 'ScrollbarSettings') -> Iterator[str]: yield f'{key}: {o}' + def __repr__(self) -> str: + defaults = self._field_defaults + parts = [] + for field_name in self._fields: + if (value := getattr(self, field_name)) != defaults[field_name]: + parts.append(f'{field_name}={value!r}') + return f'{self.__class__.__name__}({", ".join(parts)})' + + default_scrollbar = ScrollbarSettings()