From 271534e115e5915231c99df287bbfe396185924d Mon Sep 17 00:00:00 2001 From: Horu <73709188+HigherOrderLogic@users.noreply.github.com> Date: Sun, 17 Aug 2025 16:28:24 +1000 Subject: Add ConfigLoaded event to IPC, option to disable built-in notification (#1829) * feat: config reload ipc event * cleanups * Rename and move the new config option * rename to ConfigLoaded and emit at connection --------- Co-authored-by: Ivan Molodetskikh --- src/ipc/client.rs | 8 ++++++++ src/ipc/server.rs | 11 +++++++++++ 2 files changed, 19 insertions(+) (limited to 'src/ipc') diff --git a/src/ipc/client.rs b/src/ipc/client.rs index 42fbbf75..094bb636 100644 --- a/src/ipc/client.rs +++ b/src/ipc/client.rs @@ -459,6 +459,14 @@ pub fn handle_msg(msg: Msg, json: bool) -> anyhow::Result<()> { Event::OverviewOpenedOrClosed { is_open: opened } => { println!("Overview toggled: {opened}"); } + Event::ConfigLoaded { failed } => { + let status = if failed { + "with an error" + } else { + "successfully" + }; + println!("Config loaded {status}"); + } } } } diff --git a/src/ipc/server.rs b/src/ipc/server.rs index 464a2a13..051bccab 100644 --- a/src/ipc/server.rs +++ b/src/ipc/server.rs @@ -762,4 +762,15 @@ impl State { state.apply(event.clone()); server.send_event(event); } + + pub fn ipc_config_loaded(&mut self, failed: bool) { + let Some(server) = &self.niri.ipc_server else { + return; + }; + let mut state = server.event_stream_state.borrow_mut(); + + let event = Event::ConfigLoaded { failed }; + state.apply(event.clone()); + server.send_event(event); + } } -- cgit