mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-28 03:01:57 +02:00
Add "user" tab to themes kitten
Add new tab named "user" to the built-in themes kitten - new tab filters and displays only user-defined color themes, identified by adding "is_user_defined" property to "Theme" class which defaults to False, and is set True when a theme is fetched using the "load_from_dir" method.
This commit is contained in:
@@ -69,6 +69,10 @@ def create_recent_filter(names: Iterable[str]) -> Callable[[Theme], bool]:
|
||||
return recent_filter
|
||||
|
||||
|
||||
def user_filter(q: Theme) -> bool:
|
||||
return q.is_user_defined
|
||||
|
||||
|
||||
def mark_shortcut(text: str, acc: str) -> str:
|
||||
acc_idx = text.lower().index(acc.lower())
|
||||
return text[:acc_idx] + styled(text[acc_idx], underline='straight', bold=True, fg_intense=True) + text[acc_idx+1:]
|
||||
@@ -153,12 +157,13 @@ class ThemesHandler(Handler):
|
||||
self.report_traceback_on_exit: Optional[str] = None
|
||||
self.filter_map: Dict[str, Callable[[Theme], bool]] = {
|
||||
'dark': dark_filter, 'light': light_filter, 'all': all_filter,
|
||||
'recent': create_recent_filter(self.cached_values.get('recent', ()))
|
||||
'recent': create_recent_filter(self.cached_values.get('recent', ())),
|
||||
'user': user_filter
|
||||
}
|
||||
self.themes_list = ThemesList()
|
||||
self.colors_set_once = False
|
||||
self.line_edit = LineEdit()
|
||||
self.tabs = tuple('all dark light recent'.split())
|
||||
self.tabs = tuple('all dark light recent user'.split())
|
||||
self.quit_on_next_key_release = -1
|
||||
|
||||
def update_recent(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user