Bug 495934

Summary: Accessibility Feature Request: Force cursor size & theme for all applications
Product: [Plasma] kwin Reporter: kiwifruit
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED INTENTIONAL    
Severity: wishlist CC: kde, kiwifruit, nate
Priority: NOR    
Version: master   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: disco elysium cursor

Description kiwifruit 2024-11-07 18:18:17 UTC
Created attachment 175628 [details]
disco elysium cursor

SUMMARY

I have a high DPI monitor (4K - 32 inches). I also play some games that love to apply custom cursor themes.

The cursor size can be an issue with older games that apply a custom cursor theme to the cursor. Usually the older the game, the more likely it is to have not considered high DPI monitors in its design.

This can lead to ridiculously tiny and very hard to see cursors.

I would greatly benefit from some accessibility setting that either:
  * Forces the cursor to be a specific size (even if it's blurry)
  * Forces the cursor theme, basically ignores custom themes provided by applications. 

The only example I have on my mind right now is: Disco Elysium (attachment provided)

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20241105
KDE Plasma Version: 6.2.2
KDE Frameworks Version: 6.7.0
Qt Version: 6.8.0
Kernel Version: 6.11.5-1-default (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7800X3D 8-Core Processor
Memory: 31.0 GiB of RAM
Graphics Processor: AMD Radeon RX 7900 XT
Comment 1 Nate Graham 2024-11-08 21:51:38 UTC
I'd love this as much as you would, but unfortunately for technical reasons enforcing a cursor size is not something we can force on all apps. Enforcing cursor shapes/themes is possible but would break apps quite badly; apps would be unable to show busy cursors, eyedropper cursors, resize cursors, etc.

Ultimately more apps need to add support for the cursor-shape Wayland protocol, and then everything will work as expected.
Comment 2 kiwifruit 2024-11-09 13:18:29 UTC
(In reply to Nate Graham from comment #1)
> Enforcing cursor shapes/themes is possible but would break apps quite badly; apps
> would be unable to show busy cursors, eyedropper cursors, resize cursors,
> etc.
Perhaps this would still work correctly as a per-window / per-application override? I know most games just show a simple cursor without much shape changes, so it wouldn't really matter that much if it didn't change state correctly.

Also, if you can barely see the cursor because it's too small, does it really matter that it can't show a different state (busy, eyedropper, resize, etc)?

> Ultimately more apps need to add support for the cursor-shape Wayland
> protocol, and then everything will work as expected.
This would basically never happen for abandonware, though I would love if it did.
Comment 3 Nate Graham 2024-11-12 15:31:32 UTC
I don't think we can, sorry. This is one of those situations where if we try to be smart, we'll run into ten thousand edge cases and make it dumb again. And if we offer user-configurability of this, we're simply exposing users to the same thing.