diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-08-13 09:15:57 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-08-13 09:15:57 +0300 |
| commit | 883763c17224c69094340d3abc2f9e4cb656966a (patch) | |
| tree | c00a17f5b1283ff78cc8e8a9bc3e819c9c4a3049 /src/niri.rs | |
| parent | 9063a5dbdc0d4470dc1e13ce5749838e32af6a44 (diff) | |
| download | niri-883763c17224c69094340d3abc2f9e4cb656966a.tar.gz niri-883763c17224c69094340d3abc2f9e4cb656966a.tar.bz2 niri-883763c17224c69094340d3abc2f9e4cb656966a.zip | |
Implement stub mutter-x11-interop
Allows xdp-gnome dialogs to work with X11 clients.
Fixes https://github.com/YaLTeR/niri/issues/594
Diffstat (limited to 'src/niri.rs')
| -rw-r--r-- | src/niri.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/niri.rs b/src/niri.rs index 024df37e..9aec5ed1 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -118,6 +118,7 @@ use crate::ipc::server::IpcServer; use crate::layout::{Layout, LayoutElement as _, MonitorRenderElement}; use crate::protocols::foreign_toplevel::{self, ForeignToplevelManagerState}; use crate::protocols::gamma_control::GammaControlManagerState; +use crate::protocols::mutter_x11_interop::MutterX11InteropManagerState; use crate::protocols::output_management::OutputManagementManagerState; use crate::protocols::screencopy::{Screencopy, ScreencopyBuffer, ScreencopyManagerState}; use crate::pw_utils::{Cast, PipeWire}; @@ -233,6 +234,7 @@ pub struct Niri { pub security_context_state: SecurityContextState, pub gamma_control_manager_state: GammaControlManagerState, pub activation_state: XdgActivationState, + pub mutter_x11_interop_state: MutterX11InteropManagerState, pub seat: Seat<State>, /// Scancodes of the keys to suppress. @@ -1602,6 +1604,8 @@ impl Niri { is_tty && !client.get_data::<ClientState>().unwrap().restricted }); let activation_state = XdgActivationState::new::<State>(&display_handle); + let mutter_x11_interop_state = + MutterX11InteropManagerState::new::<State, _>(&display_handle, move |_| true); let mut seat: Seat<State> = seat_state.new_wl_seat(&display_handle, backend.seat_name()); seat.add_keyboard( @@ -1764,6 +1768,7 @@ impl Niri { security_context_state, gamma_control_manager_state, activation_state, + mutter_x11_interop_state, seat, keyboard_focus: KeyboardFocus::Layout { surface: None }, |
