From 701d9792c0e76fd0f7cd5457fb27db756b70160a Mon Sep 17 00:00:00 2001 From: Daniel Shiposha Date: Sat, 13 May 2023 11:24:10 +0200 Subject: [PATCH] fix: use XCURSOR_THEME --- src/cursor.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cursor.rs b/src/cursor.rs index f98c1245..170e2d2e 100644 --- a/src/cursor.rs +++ b/src/cursor.rs @@ -15,6 +15,7 @@ use { byteorder::{LittleEndian, ReadBytesExt}, isnt::std_1::primitive::IsntSliceExt, num_derive::FromPrimitive, + uapi::Bytes, std::{ cell::Cell, convert::TryInto, @@ -35,6 +36,7 @@ const XCURSOR_IMAGE_TYPE: u32 = 0xfffd0002; const XCURSOR_PATH_DEFAULT: &[u8] = b"~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons"; const XCURSOR_PATH: &str = "XCURSOR_PATH"; +const XCURSOR_THEME: &str = "XCURSOR_THEME"; const HOME: &str = "HOME"; const HEADER_SIZE: u32 = 16; @@ -92,8 +94,11 @@ impl ServerCursors { if sizes.is_empty() || scales.is_empty() { return Ok(None); } + let xcursor_theme = env::var_os(XCURSOR_THEME); + let theme = xcursor_theme.as_ref().map(|theme| BStr::new(theme.bytes())); + let load = - |name: &str| ServerCursorTemplate::load(name, None, &scales, &sizes, &paths, ctx); + |name: &str| ServerCursorTemplate::load(name, theme, &scales, &sizes, &paths, ctx); Ok(Some(Self { default: load("left_ptr")?, pointer: load("hand2")?,