oreo-cursors
oreo-cursors copied to clipboard
Adding support for SVG cursor format?
Hi. As you may have heard, the upcoming KDE Plasma 6.2 release will support a new SVG cursor theme format. I'm working on tools to help adapt cursor themes to this new format, so I'd like to ask if you are interested and how you would like it to be done.
The new format is described here: https://invent.kde.org/plasma/breeze/-/blob/master/cursors/svg-cursor-format.md
With a brief introduction: https://pointieststick.com/2024/08/09/this-week-in-kde-svg-breeze-cursors-and-more-thumbnails/
In Plasma 6.2, the only user-visible change will be that the enlarged cursor in the "Shake Cursor" effect won't be blurry anymore, if your theme contains SVG files. We are looking for more improvements in future releases.
So if you are to adapt your cursor theme to the new format, how would you like to do it:
-
You can restructure your
src
dir to match thecursors_scalable
dir in the new format. I.e., move svg files to a separate dir for each, create correspondingmetadata.json
files, and create symlinks for aliases. We can provide a script to automate this. You run the script once, drop*.cursor
andcursorList
files, and commit the changes. To build the theme, copy everything undersrc
todist/cursors_scalable
, then use thekcursorgen
program in Plasma 6.2 instead ofxcursorgen
to generate XCursors indist/cursors
. If you want to modify hotspots or add cursors later, you are to edit or createmetadata.json
directly. -
You can keep the current
src
structure (i.e., all SVGs in one dir). We can provide a script that you run once to generate a singlemanifest.json
file from your*.cursor
andcursorList
files, drop these files and commit the changes. To build the theme, you run a script that takesmanifest.json
as input to generate thecursors_scalable
dir, and usekcursorgen
to generate XCursors. If you want to modify hotspots or add cursors later, you are to editmanifest.json
and rebuild the theme. -
You can keep the current
src
structure and build script (i.e., all SVGs in one dir,*.cursor
andcursorList
). We can provide a script to generate thecursors_scalable
dir from*.cursor
andcursorList
. To build the theme, you run the script to generatecursors_scalable
, then either use your current build script andxcursorgen
to generate XCursors, or usekcursorgen
to generate them fromcursors_scalable
. If you want to modify hotspots or add cursors later, you are to edit*.cursor
andcursorList
and rebuild the theme. -
Please tell me if you prefer some other way.