From 238573e7991a8153d642783821eced7730287a37 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 10 Jun 2026 07:34:47 +0530 Subject: [PATCH] Fix splits layout options serialization Fixes #10124 --- docs/changelog.rst | 2 ++ kitty/layout/splits.py | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index d818deeb8..fdf48a4a1 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -178,6 +178,8 @@ Detailed list of changes - macOS: Show a key symbol on the active tab if the macOS Secure Input feature is enabled +- Fix regression that broke unserialization of splits layout in previous release (:iss:`10124`) + 0.47.2 [2026-06-07] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/kitty/layout/splits.py b/kitty/layout/splits.py index a68928dd3..ff487915c 100644 --- a/kitty/layout/splits.py +++ b/kitty/layout/splits.py @@ -564,10 +564,13 @@ class SplitsLayoutOpts(LayoutOpts): self.default_axis_is_horizontal = None else: self.default_axis_is_horizontal = q == 'horizontal' - self.equalize_on_close = to_bool(data.get('equalize_on_close', 'false')) + self.equalize_on_close = to_bool(data.get('equalize_on_window_close', 'n')) - def serialized(self) -> dict[str, Any]: - return {'default_axis_is_horizontal': self.default_axis_is_horizontal, 'equalize_on_close': self.equalize_on_close} + def serialized(self) -> dict[str, str]: + return { + 'split_axis': 'auto' if self.default_axis_is_horizontal is None else ('horizontal' if self.default_axis_is_horizontal else 'vertical'), + 'equalize_on_window_close': 'y' if self.equalize_on_close else 'n', + } class Splits(Layout):