all: add support for hy3 like tiling
This commit is contained in:
parent
a41dbae899
commit
cea4187fc0
21 changed files with 1237 additions and 48 deletions
|
|
@ -33,7 +33,6 @@ use {
|
|||
},
|
||||
indexmap::IndexMap,
|
||||
jay_config::{
|
||||
Axis::{Horizontal, Vertical},
|
||||
Direction, get_workspace,
|
||||
input::{LayerDirection, Timeline},
|
||||
},
|
||||
|
|
@ -115,14 +114,6 @@ impl ActionParser<'_> {
|
|||
"move-down" => Move(Down),
|
||||
"move-up" => Move(Up),
|
||||
"move-right" => Move(Right),
|
||||
"split-horizontal" => Split(Horizontal),
|
||||
"split-vertical" => Split(Vertical),
|
||||
"toggle-split" => ToggleSplit,
|
||||
"tile-horizontal" => SetSplit(Horizontal),
|
||||
"tile-vertical" => SetSplit(Vertical),
|
||||
"toggle-mono" => ToggleMono,
|
||||
"show-single" => SetMono(true),
|
||||
"show-all" => SetMono(false),
|
||||
"toggle-fullscreen" => ToggleFullscreen,
|
||||
"enter-fullscreen" => SetFullscreen(true),
|
||||
"exit-fullscreen" => SetFullscreen(false),
|
||||
|
|
@ -172,6 +163,18 @@ impl ActionParser<'_> {
|
|||
"reload-simple-im" => ReloadSimpleIm,
|
||||
"enable-unicode-input" => EnableUnicodeInput,
|
||||
"warp-mouse-to-focus" => WarpMouseToFocus,
|
||||
"toggle-tab" => ToggleTab,
|
||||
"make-group-h" => MakeGroupH,
|
||||
"make-group-v" => MakeGroupV,
|
||||
"make-group-tab" => MakeGroupTab,
|
||||
"change-group-opposite" => ChangeGroupOpposite,
|
||||
"equalize" => Equalize,
|
||||
"equalize-recursive" => EqualizeRecursive,
|
||||
"move-tab-left" => MoveTabLeft,
|
||||
"move-tab-right" => MoveTabRight,
|
||||
"enable-autotile" => SetAutotile(true),
|
||||
"disable-autotile" => SetAutotile(false),
|
||||
"toggle-autotile" => ToggleAutotile,
|
||||
_ => {
|
||||
return Err(
|
||||
ActionParserError::UnknownSimpleAction(string.to_string()).spanned(span)
|
||||
|
|
|
|||
|
|
@ -101,6 +101,41 @@ impl Parser for ThemeParser<'_> {
|
|||
recover(opt(s32("title-gap"))),
|
||||
recover(opt(fltorint("corner-radius"))),
|
||||
))?;
|
||||
let (
|
||||
(
|
||||
tab_active_bg_color,
|
||||
tab_active_border_color,
|
||||
tab_inactive_bg_color,
|
||||
tab_inactive_border_color,
|
||||
tab_active_text_color,
|
||||
tab_inactive_text_color,
|
||||
tab_bar_bg_color,
|
||||
tab_attention_bg_color,
|
||||
tab_bar_height,
|
||||
tab_bar_padding,
|
||||
),
|
||||
(tab_bar_radius, tab_bar_border_width, tab_bar_text_padding, tab_bar_gap, tab_title_align_val),
|
||||
) = ext.extract((
|
||||
(
|
||||
opt(val("tab-active-bg-color")),
|
||||
opt(val("tab-active-border-color")),
|
||||
opt(val("tab-inactive-bg-color")),
|
||||
opt(val("tab-inactive-border-color")),
|
||||
opt(val("tab-active-text-color")),
|
||||
opt(val("tab-inactive-text-color")),
|
||||
opt(val("tab-bar-bg-color")),
|
||||
opt(val("tab-attention-bg-color")),
|
||||
recover(opt(s32("tab-bar-height"))),
|
||||
recover(opt(s32("tab-bar-padding"))),
|
||||
),
|
||||
(
|
||||
recover(opt(s32("tab-bar-radius"))),
|
||||
recover(opt(s32("tab-bar-border-width"))),
|
||||
recover(opt(s32("tab-bar-text-padding"))),
|
||||
recover(opt(s32("tab-bar-gap"))),
|
||||
recover(opt(str("tab-title-align"))),
|
||||
),
|
||||
))?;
|
||||
macro_rules! color {
|
||||
($e:expr) => {
|
||||
match $e {
|
||||
|
|
@ -156,6 +191,21 @@ impl Parser for ThemeParser<'_> {
|
|||
floating_titles: floating_titles.despan(),
|
||||
title_gap: title_gap.despan(),
|
||||
corner_radius: corner_radius.map(|v| v.value as f32),
|
||||
tab_active_bg_color: color!(tab_active_bg_color),
|
||||
tab_active_border_color: color!(tab_active_border_color),
|
||||
tab_inactive_bg_color: color!(tab_inactive_bg_color),
|
||||
tab_inactive_border_color: color!(tab_inactive_border_color),
|
||||
tab_active_text_color: color!(tab_active_text_color),
|
||||
tab_inactive_text_color: color!(tab_inactive_text_color),
|
||||
tab_bar_bg_color: color!(tab_bar_bg_color),
|
||||
tab_attention_bg_color: color!(tab_attention_bg_color),
|
||||
tab_bar_height: tab_bar_height.despan(),
|
||||
tab_bar_padding: tab_bar_padding.despan(),
|
||||
tab_bar_radius: tab_bar_radius.despan(),
|
||||
tab_bar_border_width: tab_bar_border_width.despan(),
|
||||
tab_bar_text_padding: tab_bar_text_padding.despan(),
|
||||
tab_bar_gap: tab_bar_gap.despan(),
|
||||
tab_title_align: tab_title_align_val.map(|v| v.value.to_string()),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue