Releases: Morxemplum/posys-cursor-scalable
Release v1.3
This new release has been the most painstaking update that I have done for this cursor theme yet.
New Original Cursor Designs, by Me
This release for the first time introduces new, original cursor designs that I made myself to add onto the existing theme. The main purpose of these cursors is to make the cursor theme fully comply to the Freedesktop Cursor Specification.
These following new cursors have been added:
- row-resize
- col-resize
- alias
- The arrow that is used in this cursor was inspired from the arrow that is used in Windows to indicate shortcuts (which is the equivalent of Linux's systemic links). I thought the one from Windows 7 looked the best, so I based it from that and made the blue pop a little more.
- copy
- no-drop
- context-menu
- vertical-text
- This one technically just rotates the beam.
Here's a quick showcase of the new cursors in the default "white" variant:
There's More Out There
The conquest of adding cursors is still not over. I've found out about the W3C CSS Cursors Specification, which you can learn more about at issue #3. We still have plenty to go from this being a fully complete theme.
Posy's Cursor Scalable is Now Available For KDE Plasma!
Hyprland is no longer the only one that has vector cursors implemented. Since Plasma 6.2, KDE has added their own implementation of vector cursors. This gave me a new goal to achieve with this release.
I thought that I would've been able to easily port over my SVGs to create the themes. Boy, was I wrong.
From the very beginning, getting the theme to work has been a challenge. From getting the SVGs to be Qt Compatible; learning the ins and outs of SVG Tiny 1.2 (which is what Qt uses); realizing that my hourglass SVG was not 1.2 compliant and leading to come up with a completely new method for the hourglass; reworking KDE tooling to my repository structure to create fallback XCursors and aliases; to rewriting my animation script to automate the new hourglass design, I have had to go through almost a dozen unique hurdles and use novel techniques to make the KDE Plasma Theme possible. That's not even mentioning the many bugs I've ran into while developing and testing cursors.
What all of those hurdles have done is helped formalize my designs. The cursors started out being roughly patched together and had a lot of questionable choices. A lot of those have been ironed out, but there are still a couple more improvements that could be made to improving the quality of the cursors. What makes it all worth it in the end is that making a Plasma theme opens up my cursors to so many more users.
The tarballs that are attached below for Plasma includes fallback XCursors and aliases. The XCursors are to provide a better user experience while other desktop environments figure out an implementation of vector cursors. My two major barriers are GTK/adwaita applications, and Wine as I see them being the majority of XWayland sessions.
The Whole List Of Changes Since 1.2
- Add new Linux-based, original cursor designs. Making this theme now fully conform to the Freedesktop Cursor Specification
- row-resize
- col-resize
- alias
- copy
- no-drop
- context-menu
- vertical-text
- Using scour, SVG sizes have significantly decreased in file size again, saving about 50% file size on average.
- Fix a lot of quirks in the SVGs that made them not render correctly with Qt
- This mainly was the fact that Qt didn't support custom stroke orders
- Completely reimplement the hourglass design to use Qt compliant techniques
- Imported and heavily modified KDE tooling to generate raster fallbacks and aliases for cursors.
- Nominal Size and Hotspot are read directly from config files instead of a "hotspot" element
- Remove scalable cursor generation
- Remove Qt dependencies
- Have pixmaps use
cursors_scalable
as their source instead - XCursor will now go in
cursors
automatically - Appropriately resize tail-based cursors so cursor size is consistent
- Add comment support for alias file parsing
- Parsing alias list will skip empty lines
- Rework the alias list to properly accommodate existing and upcoming cursors
- The script starts out by prompting the user for a variant
- Variants will each have their own build directory
- Removed extraneous scripts, tools, and configs
- Add custom script that will clean up generated aliases
- SVGs now have a page size that reflects their nominal size, as opposed to the fixed 75x75 page size.
- Enlargened the crosshair/precision cursor to improve visibility
- Completely rewrote the animation script for the new hourglass design
- The script now uses Inkscape actions and templates to generate SVGs instead of modifying the underlying SVG contents
- There's a slight exception with Mono Plasma themes where only the version attribute is stripped
- Added optimization of frames through scour
- Added conversion to SVG BIMI P/S through svgtinyps-cli
- The script now uses Inkscape actions and templates to generate SVGs instead of modifying the underlying SVG contents
- Add "winhelp" extra cursor
- This was inspired by the "WinHelp" program that was introduced in Windows 3.0, deprecated in Windows Vista, and removed in Windows 10.
- The forbidden / not-allowed cursor is now black on the "mono" variant. This was done to ensure consistency with the drag and drop cursors.
- The forbidden / not-allowed cursor have the strokes inverted color (i.e. white will have a white stroke, black will have a black stroke)
Release v1.2
This new release formalizes the addition of the "extra" cursors that are offered by Posy (minus the inverted cursors that are already included by default). These extra cursors are not bundled with any of the tarballs; you'll have to manually export them and swap out the SVGs before you run the install script. The main purpose of adding the "extra" cursors was to mirror the level of customization that was present with the rasters.
This release also introduces several improvements on the existing cursors. This release fixes some quirks spotted in the SVGs, along with further optimizing some of the SVGs to save on file space (which is silly, but good to get these cursors as small as possible).
Changes since 1.1
- Added "extra" cursors (not included)
- Enlargened "forbidden" and "move" cursors
- I foolishly was a bit too faithful with the original rasters here
- Fixed size inconsistency with the diagonal size cursors
- Fixed a slight disfiguration in the pinky finger of the "hand" cursor
- Posy's SVG for some strange reason has this, and I only caught this when making some of the extra cursors
- Fixed some asymmetrical positioning in the arrows of the "move" cursor
- Again, Posy's SVG has this problem
- Fixed an issue with stair-stepping on the hourglass cursor
- Seems like my programmable method had a slight defect where the edges of the colors had aliasing
- Optimized several SVGs, shrinking the file sizes of exported SVGs by 25-70%
Release v1.1
This updated release brings in all missing essential features that were too complicated to include in the initial release, bringing this release to be feature parity with the original Posy's Cursors. This release completes all of the mainline work needed to make this theme a reality.
This isn't the final release, as there is still plenty to explore past this point. The "extra" cursors, getting the theme full compliance with Freedesktop's cursor specification, creating configurations for other desktop environments (KDE Plasma) / window managers should they adopt SVG cursors, or even some of the less popular themes (e.g. strokeless). I'll get around to these when I have the time, but I have other priorities.
Changes from 1.0
- Added animations to the "watch" (wait) and "background" (progress) cursors. Animations are programmable to change duration, frame rate, and even reversing the animation.
- Added "Alt" cursor (not bundled as there is no "alt" cursor in Linux)
- Fixed some incorrect overrides in the Size cursors
- Building and installing hyprcursor themes has been streamlined with a shell script
- Adopted the CC BY-NC 4.0 license (The exact same license Posy uses)
Release v1.0
This is the initial release of Posy's Cursors (Scalable). This release contains prebuilt hyprcursor themes. Simply download and extract the tarball of the theme you want, then drop the folder in your .icons
or ~/local/share/icons
folder and update your configuration file to use the theme.
The themes that are included in this release include:
- Default
- Black
- Mono
- Mono Black