From ab9706cb30c26dafe46c807f0cf073e594c84ef0 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Tue, 23 Jan 2024 12:02:52 +0400 Subject: screencast: Emit MonitorsChanged --- src/backend/tty.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/backend') diff --git a/src/backend/tty.rs b/src/backend/tty.rs index ee689ef0..f85b8d7b 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -710,13 +710,8 @@ impl Tty { let sequence_delta_plot_name = tracy_client::PlotName::new_leak(format!("{output_name} sequence delta")); - self.enabled_outputs - .lock() - .unwrap() - .insert(output_name.clone(), output.clone()); - let surface = Surface { - name: output_name, + name: output_name.clone(), compositor, dmabuf_feedback, vblank_frame: None, @@ -730,6 +725,13 @@ impl Tty { niri.add_output(output.clone(), Some(refresh_interval(mode))); + self.enabled_outputs + .lock() + .unwrap() + .insert(output_name, output.clone()); + #[cfg(feature = "dbus")] + niri.on_enabled_outputs_changed(); + // Power on all monitors if necessary and queue a redraw on the new one. niri.event_loop.insert_idle(move |state| { state.niri.activate_monitors(&state.backend); @@ -769,6 +771,8 @@ impl Tty { }; self.enabled_outputs.lock().unwrap().remove(&surface.name); + #[cfg(feature = "dbus")] + niri.on_enabled_outputs_changed(); } fn on_vblank( -- cgit