aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-03-10 21:41:36 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-03-12 17:22:53 +0400
commit5f137b77d355736772fa2fc7b982369549e6c237 (patch)
tree3338885cfd3d08d7eb1a1105bcd18a9583889b40 /src
parent128d573e743b7b45a69fd2b3c33103a7befb24ee (diff)
downloadniri-5f137b77d355736772fa2fc7b982369549e6c237.tar.gz
niri-5f137b77d355736772fa2fc7b982369549e6c237.tar.bz2
niri-5f137b77d355736772fa2fc7b982369549e6c237.zip
Reapply "Add wp-viewporter"
This reverts commit 40cec34aa4a7f99ab12b30cba1a0ee83a706a413. The Chromium issues are now fixed.
Diffstat (limited to 'src')
-rw-r--r--src/handlers/mod.rs4
-rw-r--r--src/niri.rs4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs
index 39173471..f97129c6 100644
--- a/src/handlers/mod.rs
+++ b/src/handlers/mod.rs
@@ -51,7 +51,7 @@ use smithay::{
delegate_output, delegate_pointer_constraints, delegate_pointer_gestures,
delegate_presentation, delegate_primary_selection, delegate_relative_pointer, delegate_seat,
delegate_security_context, delegate_session_lock, delegate_tablet_manager,
- delegate_text_input_manager, delegate_virtual_keyboard_manager,
+ delegate_text_input_manager, delegate_viewporter, delegate_virtual_keyboard_manager,
};
use crate::niri::{ClientState, State};
@@ -438,3 +438,5 @@ impl DrmLeaseHandler for State {
}
}
delegate_drm_lease!(State);
+
+delegate_viewporter!(State);
diff --git a/src/niri.rs b/src/niri.rs
index 8e0d8c4a..01dc9eb5 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -84,6 +84,7 @@ use smithay::wayland::shm::ShmState;
use smithay::wayland::socket::ListeningSocketSource;
use smithay::wayland::tablet_manager::{TabletManagerState, TabletSeatTrait};
use smithay::wayland::text_input::TextInputManagerState;
+use smithay::wayland::viewporter::ViewporterState;
use smithay::wayland::virtual_keyboard::VirtualKeyboardManagerState;
use smithay::wayland::xdg_foreign::XdgForeignState;
@@ -164,6 +165,7 @@ pub struct Niri {
pub session_lock_state: SessionLockManagerState,
pub foreign_toplevel_state: ForeignToplevelManagerState,
pub screencopy_state: ScreencopyManagerState,
+ pub viewporter_state: ViewporterState,
pub xdg_foreign_state: XdgForeignState,
pub shm_state: ShmState,
pub output_manager_state: OutputManagerState,
@@ -924,6 +926,7 @@ impl Niri {
let screencopy_state = ScreencopyManagerState::new::<State, _>(&display_handle, |client| {
!client.get_data::<ClientState>().unwrap().restricted
});
+ let viewporter_state = ViewporterState::new::<State>(&display_handle);
let xdg_foreign_state = XdgForeignState::new::<State>(&display_handle);
let mut seat: Seat<State> = seat_state.new_wl_seat(&display_handle, backend.seat_name());
@@ -1056,6 +1059,7 @@ impl Niri {
session_lock_state,
foreign_toplevel_state,
screencopy_state,
+ viewporter_state,
xdg_foreign_state,
text_input_state,
input_method_state,