oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git

Updated window_manager and main to be in sync

Commit
be13d76808a99fdc7a5376737e8ccec3c6eb3c9b
Parent
be0a1a3
Author
Scott DeJong <ScottADeJong@gmail.com>
Date
2025-12-24 01:06:46

Diff

diff --git a/src/bin/main.rs b/src/bin/main.rs
index 3926aff..7e166e8 100644
--- a/src/bin/main.rs
+++ b/src/bin/main.rs
@@ -26,11 +26,8 @@ fn main() -> Result<(), MainError> {
         Err(e) => return Err(MainError::CouldNotStartWm(e)),
     };
 
-    if let Some(error) = config_error {
-        // Change show_startup_config_error to accept a ConfigError instead of
-        // a string slice.
-        let error = format!("{error}");
-        window_manager.show_startup_config_error(&error);
+    if let Some(warning) = config_warning {
+        window_manager.show_startup_config_error(warning);
     }
 
     let should_restart = match window_manager.run() {
diff --git a/src/window_manager.rs b/src/window_manager.rs
index b9d58ae..0e60503 100644
--- a/src/window_manager.rs
+++ b/src/window_manager.rs
@@ -1,7 +1,7 @@
 use crate::Config;
 use crate::bar::Bar;
 use crate::client::{Client, TagMask};
-use crate::errors::WmError;
+use crate::errors::{ConfigError, WmError};
 use crate::keyboard::{self, Arg, KeyAction, handlers};
 use crate::layout::GapConfig;
 use crate::layout::tiling::TilingLayout;
@@ -312,17 +312,18 @@ impl WindowManager {
         Ok(window_manager)
     }
 
-    pub fn show_startup_config_error(&mut self, error: &str) {
+    pub fn show_startup_config_error(&mut self, error: ConfigError) {
         let monitor = &self.monitors[self.selected_monitor];
         let monitor_x = monitor.screen_x as i16;
         let monitor_y = monitor.screen_y as i16;
         let screen_width = monitor.screen_width as u16;
         let screen_height = monitor.screen_height as u16;
+        let error = format!("{error}");
 
         if let Err(e) = self.overlay.show_error(
             &self.connection,
             &self.font,
-            error,
+            error.as_str(),
             monitor_x,
             monitor_y,
             screen_width,