Implement set_layout_state for a few remaining layouts

This commit is contained in:
Kovid Goyal 2025-08-04 16:01:26 +05:30
parent e6f35571a5
commit 1665b06d59
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
4 changed files with 17 additions and 5 deletions

View file

@ -8,7 +8,7 @@ from math import ceil, floor
from typing import Any
from kitty.borders import BorderColor
from kitty.types import Edges
from kitty.types import Edges, WindowMapper
from kitty.typing_compat import WindowType
from kitty.window_list import WindowGroup, WindowList
@ -314,3 +314,8 @@ class Grid(Layout):
'biased_cols': self.biased_cols,
'biased_rows': self.biased_rows
}
def set_layout_state(self, layout_state: dict[str, Any], map_group_id: WindowMapper) -> bool:
self.biased_rows = layout_state['biased_rows']
self.biased_cols = layout_state['biased_cols']
return True

View file

@ -7,7 +7,7 @@ from typing import Any
from kitty.borders import BorderColor
from kitty.conf.utils import to_bool
from kitty.types import Edges
from kitty.types import Edges, WindowMapper
from kitty.typing_compat import EdgeLiteral, WindowType
from kitty.window_list import WindowGroup, WindowList
@ -347,11 +347,15 @@ class Tall(Layout):
def layout_state(self) -> dict[str, Any]:
return {
'num_full_size_windows': self.num_full_size_windows,
'main_bias': self.main_bias,
'biased_map': self.biased_map
}
def set_layout_state(self, layout_state: dict[str, Any], map_group_id: WindowMapper) -> bool:
self.main_bias = layout_state['main_bias']
self.biased_map = layout_state['biased_map']
return True
class Fat(Tall):

View file

@ -5,7 +5,7 @@ from collections.abc import Generator, Iterable
from typing import Any
from kitty.borders import BorderColor
from kitty.types import Edges
from kitty.types import Edges, WindowMapper
from kitty.typing_compat import WindowType
from kitty.window_list import WindowGroup, WindowList
@ -140,6 +140,9 @@ class Vertical(Layout):
def layout_state(self) -> dict[str, Any]:
return {'biased_map': self.biased_map}
def set_layout_state(self, layout_state: dict[str, Any], map_group_id: WindowMapper) -> bool:
self.biased_map = layout_state['biased_map']
return True
class Horizontal(Vertical):

View file

@ -5,7 +5,7 @@ from socket import AddressFamily as AddressFamily
from socket import socket as Socket
from subprocess import CompletedProcess as CompletedProcess
from subprocess import Popen as PopenType
from typing import Callable, Literal
from typing import Literal
from typing import NotRequired as NotRequired
from typing import Protocol as Protocol
from typing import TypedDict as TypedDict