diff options
| author | bbb651 <bar.ye651@gmail.com> | 2025-01-30 00:02:54 +0200 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-01-30 07:18:42 +0300 |
| commit | 6b04b1e4546d8b0e696516440032c2bf361abb4f (patch) | |
| tree | af47a5d05cbd37df9ad083a9684f830ea4960701 /src | |
| parent | 0c340ec5ea351e12e0e826f341b9bf1f7b3b5f5f (diff) | |
| download | niri-6b04b1e4546d8b0e696516440032c2bf361abb4f.tar.gz niri-6b04b1e4546d8b0e696516440032c2bf361abb4f.tar.bz2 niri-6b04b1e4546d8b0e696516440032c2bf361abb4f.zip | |
misc: Use helper function for restriced protocol filters
I looked at cosmic-comp as a sanity check and they do the same thing,
I ended up yoinking their function name because it reads better,
not sure about "unrestricted" vs "privileged".
Diffstat (limited to 'src')
| -rw-r--r-- | src/niri.rs | 47 |
1 files changed, 18 insertions, 29 deletions
diff --git a/src/niri.rs b/src/niri.rs index 6f54f695..73488c41 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -1776,6 +1776,10 @@ impl Niri { let (blocker_cleared_tx, blocker_cleared_rx) = mpsc::channel(); + fn client_is_unrestricted(client: &Client) -> bool { + !client.get_data::<ClientState>().unwrap().restricted + } + let compositor_state = CompositorState::new_v6::<State>(&display_handle); let xdg_shell_state = XdgShellState::new_with_capabilities::<State>( &display_handle, @@ -1799,14 +1803,12 @@ impl Niri { .can_view_decoration_globals }, ); - let layer_shell_state = - WlrLayerShellState::new_with_filter::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + let layer_shell_state = WlrLayerShellState::new_with_filter::<State, _>( + &display_handle, + client_is_unrestricted, + ); let session_lock_state = - SessionLockManagerState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + SessionLockManagerState::new::<State, _>(&display_handle, client_is_unrestricted); let shm_state = ShmState::new::<State>( &display_handle, vec![wl_shm::Format::Xbgr8888, wl_shm::Format::Abgr8888], @@ -1834,42 +1836,29 @@ impl Niri { let data_control_state = DataControlState::new::<State, _>( &display_handle, Some(&primary_selection_state), - |client| !client.get_data::<ClientState>().unwrap().restricted, + client_is_unrestricted, ); let presentation_state = PresentationState::new::<State>(&display_handle, Monotonic::ID as u32); let security_context_state = - SecurityContextState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + SecurityContextState::new::<State, _>(&display_handle, client_is_unrestricted); let text_input_state = TextInputManagerState::new::<State>(&display_handle); let input_method_state = - InputMethodManagerState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + InputMethodManagerState::new::<State, _>(&display_handle, client_is_unrestricted); let keyboard_shortcuts_inhibit_state = KeyboardShortcutsInhibitState::new::<State>(&display_handle); let virtual_keyboard_state = - VirtualKeyboardManagerState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + VirtualKeyboardManagerState::new::<State, _>(&display_handle, client_is_unrestricted); let virtual_pointer_state = - VirtualPointerManagerState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + VirtualPointerManagerState::new::<State, _>(&display_handle, client_is_unrestricted); let foreign_toplevel_state = - ForeignToplevelManagerState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + ForeignToplevelManagerState::new::<State, _>(&display_handle, client_is_unrestricted); let mut output_management_state = - OutputManagementManagerState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + OutputManagementManagerState::new::<State, _>(&display_handle, client_is_unrestricted); output_management_state.on_config_changed(config_.outputs.clone()); - let screencopy_state = ScreencopyManagerState::new::<State, _>(&display_handle, |client| { - !client.get_data::<ClientState>().unwrap().restricted - }); + let screencopy_state = + ScreencopyManagerState::new::<State, _>(&display_handle, client_is_unrestricted); let viewporter_state = ViewporterState::new::<State>(&display_handle); let xdg_foreign_state = XdgForeignState::new::<State>(&display_handle); |
