diff --git a/docs/layouts.rst b/docs/layouts.rst index 179225e8e..ff0a2f885 100644 --- a/docs/layouts.rst +++ b/docs/layouts.rst @@ -248,6 +248,8 @@ action, for example:: map ctrl+right resize_window wider map ctrl+up resize_window taller map ctrl+down resize_window shorter 3 + # reset all windows to default sizes + map ctrl+home resize_window reset The ``resize_window`` action has a second, optional argument to control the resizing increment (a positive integer that defaults to 1). diff --git a/kitty/options/utils.py b/kitty/options/utils.py index cee5bbea2..1dfe7df8c 100644 --- a/kitty/options/utils.py +++ b/kitty/options/utils.py @@ -211,7 +211,7 @@ def resize_window(func: str, rest: str) -> FuncArgsType: args = ['wider', 1] else: quality = vals[0].lower() - if quality not in ('taller', 'shorter', 'wider', 'narrower'): + if quality not in ('reset', 'taller', 'shorter', 'wider', 'narrower'): log_error(f'Invalid quality specification: {quality}') quality = 'wider' increment = 1 diff --git a/kitty/tabs.py b/kitty/tabs.py index 95f9e6fe3..2c542656a 100644 --- a/kitty/tabs.py +++ b/kitty/tabs.py @@ -316,6 +316,9 @@ class Tab: # {{{ See :ref:`window_resizing` for details. ''') def resize_window(self, quality: str, increment: int) -> None: + if quality == 'reset': + self.reset_window_sizes() + return if increment < 1: raise ValueError(increment) is_horizontal = quality in ('wider', 'narrower')