From de0ad857112384dbba0198bbd4481b2fd61204e3 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sat, 11 May 2024 10:28:38 +0400 Subject: Set cursor for niri-initiated interactive resize --- src/utils/mod.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/utils/mod.rs') diff --git a/src/utils/mod.rs b/src/utils/mod.rs index e22bd979..f523d960 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -11,6 +11,7 @@ use bitflags::bitflags; use directories::UserDirs; use git_version::git_version; use niri_config::Config; +use smithay::input::pointer::CursorIcon; use smithay::output::Output; use smithay::reexports::rustix::time::{clock_gettime, ClockId}; use smithay::reexports::wayland_protocols::xdg::shell::server::xdg_toplevel; @@ -49,6 +50,22 @@ impl From for ResizeEdge { } } +impl ResizeEdge { + pub fn cursor_icon(self) -> CursorIcon { + match self { + Self::LEFT => CursorIcon::WResize, + Self::RIGHT => CursorIcon::EResize, + Self::TOP => CursorIcon::NResize, + Self::BOTTOM => CursorIcon::SResize, + Self::TOP_LEFT => CursorIcon::NwResize, + Self::TOP_RIGHT => CursorIcon::NeResize, + Self::BOTTOM_RIGHT => CursorIcon::SeResize, + Self::BOTTOM_LEFT => CursorIcon::SwResize, + _ => CursorIcon::Default, + } + } +} + pub fn version() -> String { format!( "{} ({})", -- cgit