diff --git a/komorebi-core/src/arrangement.rs b/komorebi-core/src/arrangement.rs index 3189646a..4b15ab36 100644 --- a/komorebi-core/src/arrangement.rs +++ b/komorebi-core/src/arrangement.rs @@ -26,7 +26,7 @@ pub trait Arrangement { } impl Arrangement for DefaultLayout { - #[allow(clippy::too_many_lines)] + #[allow(clippy::too_many_lines, clippy::cognitive_complexity)] fn calculate( &self, area: &Rect, @@ -58,12 +58,13 @@ impl Arrangement for DefaultLayout { layout.right += adjustment.right; }); - match layout_flip { - Some(Axis::Horizontal | Axis::HorizontalAndVertical) => match len { - 2.. => columns_reverse(&mut layouts), - _ => {} - }, - _ => {} + if matches!( + layout_flip, + Some(Axis::Horizontal | Axis::HorizontalAndVertical) + ) { + if let 2.. = len { + columns_reverse(&mut layouts); + } } layouts @@ -82,12 +83,13 @@ impl Arrangement for DefaultLayout { layout.right += adjustment.right; }); - match layout_flip { - Some(Axis::Vertical | Axis::HorizontalAndVertical) => match len { - 2.. => rows_reverse(&mut layouts), - _ => {} - }, - _ => {} + if matches!( + layout_flip, + Some(Axis::Vertical | Axis::HorizontalAndVertical) + ) { + if let 2.. = len { + rows_reverse(&mut layouts); + } } layouts @@ -135,28 +137,28 @@ impl Arrangement for DefaultLayout { layout.right += adjustment.right; }); - match layout_flip { - Some(Axis::Horizontal | Axis::HorizontalAndVertical) => match len { - 2.. => { - let (primary, rest) = layouts.split_at_mut(1); - let primary = &mut primary[0]; + if matches!( + layout_flip, + Some(Axis::Horizontal | Axis::HorizontalAndVertical) + ) { + if let 2.. = len { + let (primary, rest) = layouts.split_at_mut(1); + let primary = &mut primary[0]; - for rect in rest.iter_mut() { - rect.left = primary.left; - } - primary.left = rest[0].left + rest[0].right; + for rect in rest.iter_mut() { + rect.left = primary.left; } - _ => {} - }, - _ => {} + primary.left = rest[0].left + rest[0].right; + } } - match layout_flip { - Some(Axis::Vertical | Axis::HorizontalAndVertical) => match len { - 3.. => rows_reverse(&mut layouts[1..]), - _ => {} - }, - _ => {} + if matches!( + layout_flip, + Some(Axis::Vertical | Axis::HorizontalAndVertical) + ) { + if let 3.. = len { + rows_reverse(&mut layouts[1..]); + } } layouts @@ -207,28 +209,28 @@ impl Arrangement for DefaultLayout { layout.right += adjustment.right; }); - match layout_flip { - Some(Axis::Horizontal | Axis::HorizontalAndVertical) => match len { - 2.. => { - let (primary, rest) = layouts.split_at_mut(1); - let primary = &mut primary[0]; + if matches!( + layout_flip, + Some(Axis::Horizontal | Axis::HorizontalAndVertical) + ) { + if let 2.. = len { + let (primary, rest) = layouts.split_at_mut(1); + let primary = &mut primary[0]; - primary.left = rest[0].left; - for rect in rest.iter_mut() { - rect.left = primary.left + primary.right; - } + primary.left = rest[0].left; + for rect in rest.iter_mut() { + rect.left = primary.left + primary.right; } - _ => {} - }, - _ => {} + } } - match layout_flip { - Some(Axis::Vertical | Axis::HorizontalAndVertical) => match len { - 3.. => rows_reverse(&mut layouts[1..]), - _ => {} - }, - _ => {} + if matches!( + layout_flip, + Some(Axis::Vertical | Axis::HorizontalAndVertical) + ) { + if let 3.. = len { + rows_reverse(&mut layouts[1..]); + } } layouts @@ -276,28 +278,28 @@ impl Arrangement for DefaultLayout { layout.right += adjustment.right; }); - match layout_flip { - Some(Axis::Vertical | Axis::HorizontalAndVertical) => match len { - 2.. => { - let (primary, rest) = layouts.split_at_mut(1); - let primary = &mut primary[0]; + if matches!( + layout_flip, + Some(Axis::Vertical | Axis::HorizontalAndVertical) + ) { + if let 2.. = len { + let (primary, rest) = layouts.split_at_mut(1); + let primary = &mut primary[0]; - for rect in rest.iter_mut() { - rect.top = primary.top; - } - primary.top = rest[0].top + rest[0].bottom; + for rect in rest.iter_mut() { + rect.top = primary.top; } - _ => {} - }, - _ => {} + primary.top = rest[0].top + rest[0].bottom; + } } - match layout_flip { - Some(Axis::Horizontal | Axis::HorizontalAndVertical) => match len { - 3.. => columns_reverse(&mut layouts[1..]), - _ => {} - }, - _ => {} + if matches!( + layout_flip, + Some(Axis::Horizontal | Axis::HorizontalAndVertical) + ) { + if let 3.. = len { + columns_reverse(&mut layouts[1..]); + } } layouts @@ -374,8 +376,11 @@ impl Arrangement for DefaultLayout { layout.right += adjustment.right; }); - match layout_flip { - Some(Axis::Horizontal | Axis::HorizontalAndVertical) => match len { + if matches!( + layout_flip, + Some(Axis::Horizontal | Axis::HorizontalAndVertical) + ) { + match len { 2 => { let (primary, secondary) = layouts.split_at_mut(1); let primary = &mut primary[0]; @@ -397,20 +402,20 @@ impl Arrangement for DefaultLayout { secondary.left = primary.left + primary.right; } _ => {} - }, - _ => {} + } } - match layout_flip { - Some(Axis::Vertical | Axis::HorizontalAndVertical) => match len { - 4.. => rows_reverse(&mut layouts[2..]), - _ => {} - }, - _ => {} + if matches!( + layout_flip, + Some(Axis::Vertical | Axis::HorizontalAndVertical) + ) { + if let 4.. = len { + rows_reverse(&mut layouts[2..]); + } } layouts - }, + } #[allow( clippy::cast_precision_loss, clippy::cast_possible_truncation, diff --git a/komorebi/src/border_manager/mod.rs b/komorebi/src/border_manager/mod.rs index 1cb0978b..1cebc4eb 100644 --- a/komorebi/src/border_manager/mod.rs +++ b/komorebi/src/border_manager/mod.rs @@ -206,11 +206,9 @@ pub fn listen_for_notifications(wm: Arc>) { let mut to_remove = vec![]; for (id, border) in borders.iter() { - if borders_monitors.get(id).copied().unwrap_or_default() == monitor_idx { - if !container_ids.contains(id) { - border.destroy()?; - to_remove.push(id.clone()); - } + if borders_monitors.get(id).copied().unwrap_or_default() == monitor_idx && !container_ids.contains(id) { + border.destroy()?; + to_remove.push(id.clone()); } } @@ -268,12 +266,10 @@ pub fn listen_for_notifications(wm: Arc>) { || monitor_idx != focused_monitor_idx { WindowKind::Unfocused + } else if c.windows().len() > 1 { + WindowKind::Stack } else { - if c.windows().len() > 1 { - WindowKind::Stack - } else { - WindowKind::Single - } + WindowKind::Single }, ); } @@ -302,9 +298,9 @@ pub enum ZOrder { TopMost, } -impl Into for ZOrder { - fn into(self) -> isize { - match self { +impl From for isize { + fn from(val: ZOrder) -> Self { + match val { ZOrder::Top => 0, ZOrder::NoTopMost => -2, ZOrder::Bottom => 1, diff --git a/komorebi/src/process_event.rs b/komorebi/src/process_event.rs index 2bad9f32..ec45c466 100644 --- a/komorebi/src/process_event.rs +++ b/komorebi/src/process_event.rs @@ -270,17 +270,15 @@ impl WindowManager { for (i, monitors) in self.monitors().iter().enumerate() { for (j, workspace) in monitors.workspaces().iter().enumerate() { - if workspace.contains_window(window.hwnd) { - if focused_pair != (i, j) { - workspace_reconciliator::event_tx().send( - workspace_reconciliator::Notification { - monitor_idx: i, - workspace_idx: j, - }, - )?; + if workspace.contains_window(window.hwnd) && focused_pair != (i, j) { + workspace_reconciliator::event_tx().send( + workspace_reconciliator::Notification { + monitor_idx: i, + workspace_idx: j, + }, + )?; - needs_reconciliation = true; - } + needs_reconciliation = true; } } }