Bug 502608 - Mouse cursors that have no specified sizes in index.theme inherit size of previously-chosen cursor (under Wayland?)
Summary: Mouse cursors that have no specified sizes in index.theme inherit size of pre...
Status: CONFIRMED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_cursortheme (show other bugs)
Version: 6.3.4
Platform: Arch Linux Linux
: NOR minor
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-09 13:04 UTC by firepal
Modified: 2025-04-10 09:16 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description firepal 2025-04-09 13:04:35 UTC
SUMMARY
When using a custom X mouse cursor with valid cursor images that does not specify its sizes in index.theme file, the cursor is resized to fit the size of the previous used cursor.

STEPS TO REPRODUCE
1. Download a cursor with no sizes in the theme ( for example, this one https://www.pling.com/p/2171879/ )
2. In the System Settings, go to Colors & Themes > Cursors
3. Use Breeze with Size 12 or other
4. Use the custom cursor

OBSERVED RESULT
Notice that the custom cursor has taken on the size of the previous Breeze cursor, instead of whatever size the cursor should be. The "Size" dropdown is greyed out and has no number inside.

There's a strange exception to this: If you use the Breeze cursor at a size larger than the custom cursor's apparent size, and then switch to that custom cursor, it will have the correct size for some reason.

EXPECTED RESULT
The custom cursor should use its size, and not inherit the last cursor's size. 
Maybe the "Size" dropdown should also include this single size.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.3
Kernel Version: 6.13.8-arch1-1 (64-bit)
Graphics Platform: Wayland

ADDITIONAL INFORMATION
N/A
Comment 1 TraceyC 2025-04-09 21:34:23 UTC
There are two related issues I see raised here

1. When a cursor theme does not specify its sizes, the cursor is resized to fit whatever size the Breeze cursor theme had been using
I *can* reproduce this, or something similar on git-master

- If I set the cursor to Breeze Dark 12, and then "Windows Cursors", the cursor is tiny. It's smaller than the Breeze one.
- If I set the cursor to Breeze Dark 30, and then "Windows Cursors", the cursor is not as small as in the last step, but it's still smaller than the Breeze one.
- If I set the cursor to Breeze Dark 48, and then "Windows Cursors", the cursor is the same as when I set the Breeze cursor to 30

2.  The "Size" dropdown is greyed out and has no number inside.
This is expected, since the cursor doesn't support different sizes.
Unfortunately, the work to support different sizes needs to be done by the cursor theme author.
Comment 2 firepal 2025-04-10 09:16:55 UTC
I forgot to mention; when you hover your mouse over the custom cursor preview, it says "Available sizes: 32".
I don't have quite the same reproduction as you did. 

Using Breeze at size 30 then switching to "Windows Cursors" results in a slightly fuzzy cursor, which I would expect from image downscaling. But if I use Breeze at size 36 first then switch to that cursor, it will *not* be fuzzy at all, and seems to represent the cursor at its intended size..? 

This indicates to me that some mechanism is limiting the cursor size
to its "expected" size as a maximum, and here the expected size seems to be 32.

> [...] the work to support different sizes needs to be done by the cursor theme author.
That's fair.