mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-28 11:11:47 +02:00
Make function re-useable and simplify bias docs a bit
This commit is contained in:
@@ -199,11 +199,11 @@ the remainder of the space.
|
|||||||
|
|
||||||
* Vertical/horizontal layout: The bias is interpreted as adding/subtracting from the
|
* Vertical/horizontal layout: The bias is interpreted as adding/subtracting from the
|
||||||
normal size of the window. It should be a number between -90 and 90. This number is
|
normal size of the window. It should be a number between -90 and 90. This number is
|
||||||
the percentage of cells in the full OS window that should be added to the window size.
|
the percentage of the OS Window size that should be added to the window size.
|
||||||
So for example, if a window would normally have been 50 cells in the layout inside an
|
So for example, if a window would normally have been size 50 in the layout inside an
|
||||||
OS Window that is 80 cells high and --bias -10 is used it will become *approximately*
|
OS Window that is size 80 high and --bias -10 is used it will become *approximately*
|
||||||
42 cells high. Note that cell counts are approximations, you cannot use this method to
|
size 42 high. Note that sizes are approximations, you cannot use this method to
|
||||||
create windows of fixed cell sizes.
|
create windows of fixed sizes.
|
||||||
|
|
||||||
* Tall layout: If the window being created is the *first* window in a column, then
|
* Tall layout: If the window being created is the *first* window in a column, then
|
||||||
the bias is interpreted as a percentage, as for the splits layout, splitting the OS
|
the bias is interpreted as a percentage, as for the splits layout, splitting the OS
|
||||||
|
|||||||
@@ -58,26 +58,26 @@ class Grid(Layout):
|
|||||||
def variable_layout(self, layout_func: Callable[..., LayoutDimension], num_windows: int, biased_map: Dict[int, float]) -> LayoutDimension:
|
def variable_layout(self, layout_func: Callable[..., LayoutDimension], num_windows: int, biased_map: Dict[int, float]) -> LayoutDimension:
|
||||||
return layout_func(num_windows, bias=biased_map if num_windows > 1 else None)
|
return layout_func(num_windows, bias=biased_map if num_windows > 1 else None)
|
||||||
|
|
||||||
|
def position_for_window_idx(self, idx: int, num_windows: int, ncols:int , nrows: int, special_rows: int, special_col: int) -> Tuple[int, int]:
|
||||||
|
row_num = col_num = 0
|
||||||
|
|
||||||
|
def on_col_done(col_windows: List[int]) -> None:
|
||||||
|
nonlocal col_num, row_num
|
||||||
|
row_num = 0
|
||||||
|
col_num += 1
|
||||||
|
|
||||||
|
for window_idx, xl, yl in self.layout_windows(
|
||||||
|
num_windows, nrows, ncols, special_rows, special_col, on_col_done):
|
||||||
|
if idx == window_idx:
|
||||||
|
return row_num, col_num
|
||||||
|
row_num += 1
|
||||||
|
return 0, 0
|
||||||
|
|
||||||
def apply_bias(self, idx: int, increment: float, all_windows: WindowList, is_horizontal: bool = True) -> bool:
|
def apply_bias(self, idx: int, increment: float, all_windows: WindowList, is_horizontal: bool = True) -> bool:
|
||||||
num_windows = all_windows.num_groups
|
num_windows = all_windows.num_groups
|
||||||
ncols, nrows, special_rows, special_col = calc_grid_size(num_windows)
|
ncols, nrows, special_rows, special_col = calc_grid_size(num_windows)
|
||||||
|
|
||||||
def position_for_window_idx(idx: int) -> Tuple[int, int]:
|
row_num, col_num = self.position_for_window_idx(idx, num_windows, ncols, nrows, special_rows, special_col)
|
||||||
row_num = col_num = 0
|
|
||||||
|
|
||||||
def on_col_done(col_windows: List[int]) -> None:
|
|
||||||
nonlocal col_num, row_num
|
|
||||||
row_num = 0
|
|
||||||
col_num += 1
|
|
||||||
|
|
||||||
for window_idx, xl, yl in self.layout_windows(
|
|
||||||
num_windows, nrows, ncols, special_rows, special_col, on_col_done):
|
|
||||||
if idx == window_idx:
|
|
||||||
return row_num, col_num
|
|
||||||
row_num += 1
|
|
||||||
return 0, 0
|
|
||||||
|
|
||||||
row_num, col_num = position_for_window_idx(idx)
|
|
||||||
|
|
||||||
if is_horizontal:
|
if is_horizontal:
|
||||||
b = self.biased_cols
|
b = self.biased_cols
|
||||||
|
|||||||
Reference in New Issue
Block a user