Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for SVG cursor format? #32

Open
jinliu opened this issue Aug 28, 2024 · 0 comments
Open

Adding support for SVG cursor format? #32

jinliu opened this issue Aug 28, 2024 · 0 comments

Comments

@jinliu
Copy link

jinliu commented Aug 28, 2024

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:

  1. You can restructure your src dir to match the cursors_scalable dir in the new format. I.e., move svg files to a separate dir for each, create corresponding metadata.json files, and create symlinks for aliases. We can provide a script to automate this. You run the script once, drop *.cursor and cursorList files, and commit the changes. To build the theme, copy everything under src to dist/cursors_scalable, then use the kcursorgen program in Plasma 6.2 instead of xcursorgen to generate XCursors in dist/cursors. If you want to modify hotspots or add cursors later, you are to edit or create metadata.json directly.

  2. 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 single manifest.json file from your *.cursor and cursorList files, drop these files and commit the changes. To build the theme, you run a script that takes manifest.json as input to generate the cursors_scalable dir, and use kcursorgen to generate XCursors. If you want to modify hotspots or add cursors later, you are to edit manifest.json and rebuild the theme.

  3. You can keep the current src structure and build script (i.e., all SVGs in one dir, *.cursor and cursorList). We can provide a script to generate the cursors_scalable dir from *.cursor and cursorList. To build the theme, you run the script to generate cursors_scalable, then either use your current build script and xcursorgen to generate XCursors, or use kcursorgen to generate them from cursors_scalable. If you want to modify hotspots or add cursors later, you are to edit *.cursor and cursorList and rebuild the theme.

  4. Please tell me if you prefer some other way.

@github-staff github-staff deleted a comment Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant