From cfe406236973e11c68e3f06498d5f3b64c52e1e0 Mon Sep 17 00:00:00 2001 From: Matt Blacker Date: Wed, 19 Jul 2023 21:22:44 +1000 Subject: [PATCH] fix(config): gen border colours only if set --- komorebi/src/static_config.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/komorebi/src/static_config.rs b/komorebi/src/static_config.rs index 0da312d3..05c04d3d 100644 --- a/komorebi/src/static_config.rs +++ b/komorebi/src/static_config.rs @@ -358,10 +358,22 @@ impl From<&WindowManager> for StaticConfig { } } - let border_colours = ActiveWindowBorderColours { - single: Rgb::from(BORDER_COLOUR_SINGLE.load(Ordering::SeqCst)), - stack: Rgb::from(BORDER_COLOUR_STACK.load(Ordering::SeqCst)), - monocle: Rgb::from(BORDER_COLOUR_MONOCLE.load(Ordering::SeqCst)), + let border_colours = if BORDER_COLOUR_SINGLE.load(Ordering::SeqCst) == 0 { + None + } else { + Option::from(ActiveWindowBorderColours { + single: Rgb::from(BORDER_COLOUR_SINGLE.load(Ordering::SeqCst)), + stack: Rgb::from(if BORDER_COLOUR_STACK.load(Ordering::SeqCst) == 0 { + BORDER_COLOUR_SINGLE.load(Ordering::SeqCst) + } else { + BORDER_COLOUR_STACK.load(Ordering::SeqCst) + }), + monocle: Rgb::from(if BORDER_COLOUR_MONOCLE.load(Ordering::SeqCst) == 0 { + BORDER_COLOUR_SINGLE.load(Ordering::SeqCst) + } else { + BORDER_COLOUR_MONOCLE.load(Ordering::SeqCst) + }), + }) }; Self { @@ -382,7 +394,7 @@ impl From<&WindowManager> for StaticConfig { border_width: Option::from(BORDER_WIDTH.load(Ordering::SeqCst)), border_offset: *BORDER_OFFSET.lock(), active_window_border: Option::from(BORDER_ENABLED.load(Ordering::SeqCst)), - active_window_border_colours: Option::from(border_colours), + active_window_border_colours: border_colours, default_workspace_padding: Option::from( DEFAULT_WORKSPACE_PADDING.load(Ordering::SeqCst), ),