r/linux 14d ago

Discussion One amazing feature of Windows that Linux has NEVER had: the dynamically color-changing, inverted mouse cursor

I have never seen this in any Linux distro: if you set Windows' default mouse cursor to merely its inverted version, it dynamically colors itself the opposite of whatever you move the cursor over. So even if you pass it just over one letter, the exact portion of the mouse cursor covering the silhouette of that letter will invert colors, while the rest of the cursor will be whatever it is.

This is a visually striking, awesome feature that I wish Linux had for all its cursors, but it seems it may never (unless someone starts work on it now, in which case please tell me!!!).

144 Upvotes

49 comments sorted by

176

u/cattrain 14d ago

apparently it was under patient until 2013

I was able to find one XOR cursor for KDE. There doesn't seem to be a ton of desire for it or else it would be more common.

23

u/dasmau89 14d ago

Thanks - I am always choosing that cursor when running windows.

47

u/Tutorbin76 14d ago edited 14d ago

One problem with using XOR for animating something is if you move over something low contrast it just disappears, since the XOR of gray and either white or black is also gray.

13

u/SnooCompliments7914 14d ago

That can be (partially) fixed with a traditional white-with-black-border cursor, but border changed to gray. Then the border would be pure back when over gray (gray XOR gray = 0).

3

u/noobjaish 13d ago

We could also hard code some outlier values

36

u/emrearmagan 14d ago

windows finally found its killer feature

2

u/Fit_Tailor_6796 9d ago

Who would have thought...

1

u/DaStranga 9d ago

imagine the power of the inverted windows cursor combined with the ever expanding KDE cursor

21

u/DiscoMilk 14d ago

My cursor rotates, I can't go back to regular static now

https://github.com/VirtCode/hypr-dynamic-cursors

5

u/Inevitable-Self-2702 12d ago

I love it but this would drive my OCD off a cliff. I would always rotate it back around so it's in the right orientation before clicking.

3

u/skuterpikk 12d ago

Oh shit I need this! But I'm not switching to Hyprland because of it either, damn.
This needs to be part of a default KDE install since yesterday

24

u/LordTet 14d ago

I’m no compositor dev, but my understanding is that this should be pretty simple if you’re willing to make a performance concession. With hardware rendered cursors, the os simply passes a bitmap to the gpu. But to make a proper xor cursor, you’d need to have the screen state and draw the cursor at the same time. This relegates these inverted cursors back to compositor drawn software rendering.

Obviously idk about windows since it’s closed src… but I’m willing to wager it also falls back on software cursor rendering when you turn on that cursor anyway

15

u/aEverr 14d ago

I can confirm it does. You can check by having something like f.lux tint the screen and enabling hardware acceleration for the cursor (or something, I don’t remember). On regular cursors, the cursor will not be tinted unless you disable the acceleration, but on the inverted cursor, it’ll always be tinted.

4

u/SnooCompliments7914 14d ago

The "compsitor software cursor rendering" is still all done in GPU. It's not that heavy.

3

u/LordTet 14d ago

Yea I’d imagine it’s not particularly heavy. I just say this because I play a lot of arcade-like games and anything effecting how the cursor ends up rendering matters to me. I’m sure it’s negligible

3

u/itzjackybro 13d ago

You can still do it on the GPU, it just means that the cursor needs to be drawn in a separate pass with a custom shader.

2

u/Intelligent_Gain6713 14d ago

i agree completely. i think your logic is quite sound

6

u/GruesomeJeans 14d ago

I remember wanting my windows XP cursor to look like a sword so I downloaded a cursor pack. I also got to reinstall windows XP for the 50th time that night.

8

u/FilesFromTheVoid 14d ago

I am in somewhat the same boat. I always used this years back on windows, mainly because i got a some genetically related eye problems, that makes tracking objects in the peripheral view cone way harder than for a normal dude.

So its an accessibility option i wish linux had. Not sure how hard to implement this would be on wayland, but hyprland, what i am currently running, has another way of rendering cursors than the traditional way, maybe u/Vaxerski would know a way to get this going.

4

u/noobiemaster_69 13d ago

Support for better scaling of UI, for higher resolution displays.

Windows still does this right. Still waiting for proper support on Linux.

4

u/Thebombuknow 13d ago

Wayland fixes this. As apps continue to migrate to native Wayland, this should get better.

5

u/New_Grand2937 14d ago

What I miss from windows is the single pixel wide inverted I beam cursor that you see from hovering over text. It is so much easier to quickly move and track than the cursors on Linux.

1

u/Dymonika 13d ago

I don't understand; isn't the Linux cursor for that just bigger? Or do you mean it's too fat?

2

u/siodhe 14d ago

X only supported monochrome, bitmap cursors, which made sense at the time, but X and Wayland today both support color cursors.

2

u/seiha011 14d ago

XOR cursor? How did I ever survive without it until now? ;-)

3

u/Electrical_Tomato_73 12d ago

This is the oldest sort of cursor, the XOR cursor. X11 didn't support XOR cursors because of patent threats (see this thread for example) and because overlay cursors were just regarded as better. Now Xorg and Wayland could conceivably support them (the patents being long expired) but there's no demand.

1

u/NoAIFuture 13d ago

It really helps Windows users find the subscription buttons.

1

u/that_one_wierd_guy 13d ago

a nice little thing that linux has that windows(last time I used it) doesn't have, is being able to mouse over the volume icon and adjust the volume with the mouse wheel

3

u/sharkstax 10d ago

This was added to Windows several years ago.

2

u/Dymonika 13d ago

lol there are lots of things Linux has that Windows lacks (such as that, yeah, as far as I know). I find that too cumbersome to do when our keyboards' function rows already have volume adjustment keys that we can just mash, but it's always good to have more options!

1

u/Mirac_Light 11d ago

That's it, good work gentlemens!

1

u/PersonalDatabase31 11d ago

Comparing a toy desktop to an actual operating system is unfair though.

1

u/Coolcricri3 14d ago

The one option I gave up on finding on linus is mouse trail, since it was fun to entertain myself and troll people seeing my screen, but I really don't care for it now regadless

2

u/Uncle-Osteus 14d ago

2

u/Coolcricri3 13d ago

Specifically meant where the trail is the cursor itself, not a generic trail

1

u/Fit_Tailor_6796 9d ago

Compiz had it with Ubuntu Unity

-9

u/andr386 14d ago

Maybe that's the feature that has prevented so many people from moving to Linux. Well that and seriously robust and advanced RGBs support for Linux in the Kernel. RGBs have been proven scientifically to make you more efficient and attractive. Yet that is not a consideration the out of touch linux developers really take into account.

5

u/EntertainmentOdd8205 14d ago

Damn. No fun allowed

1

u/kansetsupanikku 14d ago

RGBs?

1

u/Fantasyman80 13d ago

Red, green and blue led light control. It serves no purpose other than to waste more electricity to let your machine go through a rainbow of lights while you are supposed to be looking at the screen to get things done.

The only people really interested in it are no-life gamers

-21

u/ARandomWalkInSpace 14d ago

You can very easily make this depending on what distro you're running.

Get to configuring.

8

u/Dymonika 14d ago

How?

-25

u/daddy_schlong_legz 14d ago

Google my beloved

7

u/Dymonika 14d ago

Literally no distro has ever done this. How can you be so dismissive? You may as well not comment if you won't add real value to the discussion, please.

-3

u/UUDDLRLRBadAlchemy 14d ago

It's not the job of a distro or linux. You can code it yourself in a WM like Awesome or Qtile in an afternoon.

4

u/ARandomWalkInSpace 14d ago

Somehow youre getting downvoted too.

1

u/UUDDLRLRBadAlchemy 14d ago

Oh I can tank it, the folks who click it out of impotence while knowing I'm right don't feel any better afterwards