menu: Update order, disable move on sticky instead of remove

This commit is contained in:
Victoria Brekenfeld 2023-12-22 16:13:33 +00:00 • committed by Victoria Brekenfeld
parent 35264ca4a6
commit 003b7fb538

View file

@ -169,6 +169,13 @@ pub fn window_items(
let close_clone = window.clone(); let close_clone = window.clone();
vec![ vec![
(!is_stacked).then_some(
Item::new(fl!("window-menu-stack"), move |handle| {
let mapped = stack_clone.clone();
let _ = handle.insert_idle(move |state| toggle_stacking(state, &mapped));
})
.shortcut(config.get_shortcut_for_action(&Action::ToggleStacking)),
),
is_stacked.then_some( is_stacked.then_some(
Item::new(fl!("window-menu-unstack-all"), move |handle| { Item::new(fl!("window-menu-unstack-all"), move |handle| {
let mapped = unstack_clone.clone(); let mapped = unstack_clone.clone();
@ -178,7 +185,7 @@ pub fn window_items(
}) })
.shortcut(config.get_shortcut_for_action(&Action::ToggleStacking)), .shortcut(config.get_shortcut_for_action(&Action::ToggleStacking)),
), ),
is_stacked.then_some(Item::Separator), Some(Item::Separator),
//Some(Item::new(fl!("window-menu-minimize"), |handle| {})), //Some(Item::new(fl!("window-menu-minimize"), |handle| {})),
Some( Some(
Item::new(fl!("window-menu-maximize"), move |handle| { Item::new(fl!("window-menu-maximize"), move |handle| {
@ -256,26 +263,21 @@ pub fn window_items(
.disabled(!possible_resizes.contains(ResizeEdge::BOTTOM)), .disabled(!possible_resizes.contains(ResizeEdge::BOTTOM)),
], ],
)), )),
(!is_sticky).then_some( Some(
Item::new(fl!("window-menu-move-prev-workspace"), move |handle| { Item::new(fl!("window-menu-move-prev-workspace"), move |handle| {
let mapped = move_prev_clone.clone(); let mapped = move_prev_clone.clone();
let _ = handle.insert_idle(move |state| move_prev_workspace(state, &mapped)); let _ = handle.insert_idle(move |state| move_prev_workspace(state, &mapped));
}) })
.shortcut(config.get_shortcut_for_action(&Action::MoveToPreviousWorkspace)), .shortcut(config.get_shortcut_for_action(&Action::MoveToPreviousWorkspace))
.disabled(is_sticky),
), ),
(!is_sticky).then_some( Some(
Item::new(fl!("window-menu-move-next-workspace"), move |handle| { Item::new(fl!("window-menu-move-next-workspace"), move |handle| {
let mapped = move_next_clone.clone(); let mapped = move_next_clone.clone();
let _ = handle.insert_idle(move |state| move_next_workspace(state, &mapped)); let _ = handle.insert_idle(move |state| move_next_workspace(state, &mapped));
}) })
.shortcut(config.get_shortcut_for_action(&Action::MoveToNextWorkspace)), .shortcut(config.get_shortcut_for_action(&Action::MoveToNextWorkspace))
), .disabled(is_sticky),
(!is_stacked).then_some(
Item::new(fl!("window-menu-stack"), move |handle| {
let mapped = stack_clone.clone();
let _ = handle.insert_idle(move |state| toggle_stacking(state, &mapped));
})
.shortcut(config.get_shortcut_for_action(&Action::ToggleStacking)),
), ),
Some(Item::Separator), Some(Item::Separator),
Some( Some(