diff options
| author | phuhl <git@ph-uhl.com> | 2024-03-03 20:36:13 +0100 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-15 13:29:36 +0400 |
| commit | 89dfaa6cac128887083c4e2fc195864c8de7d5fa (patch) | |
| tree | c3f6d03d54870095ec42d2d5e5eed981d27d9cf9 /src/niri.rs | |
| parent | f6ffe8b3ab28ae572ed61d6ee2961ba7ef411179 (diff) | |
| download | niri-89dfaa6cac128887083c4e2fc195864c8de7d5fa.tar.gz niri-89dfaa6cac128887083c4e2fc195864c8de7d5fa.tar.bz2 niri-89dfaa6cac128887083c4e2fc195864c8de7d5fa.zip | |
Adds support for wlr_gamma_control_unstable_v1 protocol
Diffstat (limited to 'src/niri.rs')
| -rw-r--r-- | src/niri.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/niri.rs b/src/niri.rs index 01dc9eb5..1e5b5c16 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -101,6 +101,7 @@ use crate::input::{apply_libinput_settings, TabletData}; use crate::ipc::server::IpcServer; use crate::layout::{Layout, MonitorRenderElement}; use crate::protocols::foreign_toplevel::{self, ForeignToplevelManagerState}; +use crate::protocols::gamma_control::GammaControlManagerState; use crate::protocols::screencopy::{Screencopy, ScreencopyManagerState}; use crate::pw_utils::{Cast, PipeWire}; use crate::render_helpers::renderer::NiriRenderer; @@ -187,6 +188,7 @@ pub struct Niri { pub popup_grab: Option<PopupGrabState>, pub presentation_state: PresentationState, pub security_context_state: SecurityContextState, + pub gamma_control_manager_state: GammaControlManagerState, pub seat: Seat<State>, /// Scancodes of the keys to suppress. @@ -929,6 +931,15 @@ 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 mut seat: Seat<State> = seat_state.new_wl_seat(&display_handle, backend.seat_name()); seat.add_keyboard( config_.input.keyboard.xkb.to_xkb_config(), @@ -1082,6 +1093,7 @@ impl Niri { suppressed_keys: HashSet::new(), presentation_state, security_context_state, + gamma_control_manager_state, seat, keyboard_focus: None, |
