I hope this becomes popular enough that a lot of major distros start adopting it as a default
Specifically because I want to see turbo-weirdos talk about how higher-quality cursors are “bloat” or “against KISS” for the next 10 years. 💀
I snorted my coffee reading this. It’s probably more in the inevitably become true category rather than funny category too
If none of my predictions come true, I made some peeps laugh and that’s enough
If they do I get to call back to this post and pretend I’m smart (I am not)
Either way, it’s a net positive.
Don’t forget to delete this comment before you call back to the original one. Otherwise the future people will know you aren’t actually smart!
Edit: Also, hello there future people!
Tbh I dont really see how anyone can call this bloat( I use doas btw). Its just so much more space efficient. 4 example I ported capitaine cursors and it takes below 200 kbs of space, its just that much more space efficient
You are most likely correct from a technical point of view.
But don’t ever underestimate the potential of weird folks to be – Weird.
Not that I think it’s per se a bad thing – But I feel like a lot of Linux people are pack bonded to the utilities and tools they have grown used to. Whatever justification they write comes after the fact from an emotional reaction to seeing the thing they are bonded with lose ground.
I must admit that I personaly see this as slightly bloated for using SVG, although I don’t see a good alternative. Supporting SVG fully basically requires a webbrowser, because it has JavaScript support. The best alternative I can think of is using fonts formats, but that is less accessible for custom cursors, and idk how they deal with colors.
I don’t think you have to, or even should, support JavaScript in cursor themes.
stares at gnome
Absolute bloat.
[Goes back to enjoying his 300mb 9999dpi ultra hi-res waifu pointing bitmap cursor] /s
Sometimes I long back for the times when I just used my computer to do things, instead of forming an opinion about the compression rate of my cursor’s image data.
Interesting. I didn’t realize XCursor predates most image formats XD
X* predates almost everything still in common use.
Which is, frankly, amazing.
It’s also why Wayland took (is taking) so long. It has to compete against X11 with decades of development.
That’s a tall order.
X* predates almost everything still in common use.
it is ancient when talking about computer related things. 1984 was the initial release. Almost twice my age holy!
Well I’ll just go ahead and die of old age then since I was alive during its initial release
I hope GTK and GNOME (or is GTK part of GNOME?) adopt this, I didn’t even know just how bad the inefficiency with todays cursors is. Having a single svg for each cursor and rendering it server-side makes so much more sense.
Did someone already open an issue for this?
GTK is mainly developed by Gnome
https://en.m.wikipedia.org/wiki/GTK
Interesting and fun read, thank you !
In the beginning, the earth was without form, and void. Wait, a bit too far behind.
😁
In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move.
Very cool. I wish the entirety of the computer’s interface was scalable SVG so any custom resolution is possible and looks good.
Yeah vector gui is a very cool idea. That said, arbitrary scaling on windows “just works” these days so definitely possible on Linux too without any radical tech changes
interesting read
Thanks for sharing this, was a neat look under the hood.
Please make sure it doesn’t contain any bugs which can be exploited.
0-day’d by my fucking cursor, smh
Use Rust! —White House
One of the more interesting things I’ve read here. Very nice work. So long as it is free of vulnerabilities (with your small codebase, seems it should be) then this seems like a great addition. Hoping for widespread adoption.
This is awesome
Neat!
Yo! I would love for something like this to become a thing because I have recently become a big fan of SVGs. Would absolutely love a custom cursor that scales to any size with minimal issues of it looking too small on the 1080 TV I sometimes plug my laptop into using HDMI.
It is? It only works on hyprland tho. That being said its really easy porting xcursor themes over. It does all the things you just described.
It should work everywhere, not only on hyprland. At least that’s the goal.
This is interesting, but help me understand, does hypercursor not allow animated cursors?
Metadata Some cursors cannot become SVGs, and that’s fine. Some cursors are used for more than one shape, and that’s fine. Some cursors are animated, and that’s fine! All of a shape’s properties are described in a small meta.hl file alongside them.
Seems like it should support it?
Instead of each frame of animation being a grid of pixels, each frame is a small collection of math describing the visuals.
But we’d still have frames to use for animation, if we want.
Instead of replacing one PNG for another PNG to make the illusion of movement, we replace one SVG with one SVG instead.
Man, I’ve never thought about cursors at such a macro level before… Is the way it changes based on context of what it’s hovering something really technical, or is there a call of some sort sent from the OS that is interpreted?