aboutsummaryrefslogtreecommitdiff
path: root/src/cursor.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cursor.rs')
-rw-r--r--src/cursor.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cursor.rs b/src/cursor.rs
index bef62b51..6bf92cd1 100644
--- a/src/cursor.rs
+++ b/src/cursor.rs
@@ -111,6 +111,17 @@ impl CursorManager {
.or_insert_with_key(|(icon, scale)| {
let size = self.size as i32 * scale;
let mut cursor = Self::load_xcursor(&self.theme, icon.name(), size);
+
+ // Check alternative names to account for non-compliant themes.
+ if cursor.is_err() {
+ for name in icon.alt_names() {
+ cursor = Self::load_xcursor(&self.theme, name, size);
+ if cursor.is_ok() {
+ break;
+ }
+ }
+ }
+
if let Err(err) = &cursor {
warn!("error loading xcursor {}@{size}: {err:?}", icon.name());
}