aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-03-14 08:32:23 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-03-15 13:29:36 +0400
commit9ae3cad82b6dfe901b40510a3d6ff0eb655a11df (patch)
treef0e87840a0636c35d15316526b64cabb4a1bf939 /src/niri.rs
parent89dfaa6cac128887083c4e2fc195864c8de7d5fa (diff)
downloadniri-9ae3cad82b6dfe901b40510a3d6ff0eb655a11df.tar.gz
niri-9ae3cad82b6dfe901b40510a3d6ff0eb655a11df.tar.bz2
niri-9ae3cad82b6dfe901b40510a3d6ff0eb655a11df.zip
gamma-control: Misc. clean ups and fixes
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/niri.rs b/src/niri.rs
index 1e5b5c16..37c1e40c 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -931,14 +931,11 @@ impl Niri {
let viewporter_state = ViewporterState::new::<State>(&display_handle);
let xdg_foreign_state = XdgForeignState::new::<State>(&display_handle);
- let gamma_control_manager_state = GammaControlManagerState::new::<State, _>(
- &display_handle,
- match backend {
- Backend::Tty(_) => true,
- _ => false,
- },
- |client| !client.get_data::<ClientState>().unwrap().restricted,
- );
+ let is_tty = matches!(backend, Backend::Tty(_));
+ let gamma_control_manager_state =
+ GammaControlManagerState::new::<State, _>(&display_handle, move |client| {
+ is_tty && !client.get_data::<ClientState>().unwrap().restricted
+ });
let mut seat: Seat<State> = seat_state.new_wl_seat(&display_handle, backend.seat_name());
seat.add_keyboard(
@@ -1326,6 +1323,7 @@ impl Niri {
self.layout.remove_output(output);
self.global_space.unmap_output(output);
self.reposition_outputs(None);
+ self.gamma_control_manager_state.output_removed(output);
let state = self.output_state.remove(output).unwrap();
self.output_by_name.remove(&output.name()).unwrap();