diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-23 12:02:52 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-23 12:02:52 +0400 |
| commit | ab9706cb30c26dafe46c807f0cf073e594c84ef0 (patch) | |
| tree | d31171e10e37ae4b75e8a32a2e9b91bf8f3fbbd7 /src/backend/tty.rs | |
| parent | 05f2a3709b3447ac4d362980b166c3351a7129b2 (diff) | |
| download | niri-ab9706cb30c26dafe46c807f0cf073e594c84ef0.tar.gz niri-ab9706cb30c26dafe46c807f0cf073e594c84ef0.tar.bz2 niri-ab9706cb30c26dafe46c807f0cf073e594c84ef0.zip | |
screencast: Emit MonitorsChanged
Diffstat (limited to 'src/backend/tty.rs')
| -rw-r--r-- | src/backend/tty.rs | 16 |
1 files changed, 10 insertions, 6 deletions
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( |
