diff options
| author | tet <gmorer@pm.me> | 2024-05-21 22:43:42 +0000 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-07-05 07:35:01 +0300 |
| commit | 43df7fad46033692abc6a2b223e6d98f8b7a5aed (patch) | |
| tree | aa7bf3fee968b97650a84b626615f8edb6fa44d4 /src/handlers | |
| parent | d2087a2cd9f30e40778861666370df56b532af63 (diff) | |
| download | niri-43df7fad46033692abc6a2b223e6d98f8b7a5aed.tar.gz niri-43df7fad46033692abc6a2b223e6d98f8b7a5aed.tar.bz2 niri-43df7fad46033692abc6a2b223e6d98f8b7a5aed.zip | |
Implement wlr-output-management protocol
fix: wlr_output_management use WeakOutput
Diffstat (limited to 'src/handlers')
| -rw-r--r-- | src/handlers/mod.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index 845faf08..f288e24f 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -68,9 +68,13 @@ use crate::protocols::foreign_toplevel::{ self, ForeignToplevelHandler, ForeignToplevelManagerState, }; use crate::protocols::gamma_control::{GammaControlHandler, GammaControlManagerState}; +use crate::protocols::output_management::{OutputManagementHandler, OutputManagementManagerState}; use crate::protocols::screencopy::{Screencopy, ScreencopyHandler}; use crate::utils::{output_size, send_scale_transform}; -use crate::{delegate_foreign_toplevel, delegate_gamma_control, delegate_screencopy}; +use crate::{ + delegate_foreign_toplevel, delegate_gamma_control, delegate_output_management, + delegate_screencopy, +}; impl SeatHandler for State { type KeyboardFocus = WlSurface; @@ -545,3 +549,15 @@ delegate_xdg_activation!(State); impl FractionalScaleHandler for State {} delegate_fractional_scale!(State); + +impl OutputManagementHandler for State { + fn output_management_state(&mut self) -> &mut OutputManagementManagerState { + &mut self.niri.output_management_state + } + + fn apply_output_config(&mut self, config: Vec<niri_config::Output>) { + self.niri.config.borrow_mut().outputs = config; + self.reload_output_config(); + } +} +delegate_output_management!(State); |
