Init fork: fringer-cursors

This commit is contained in:
Geoffrey Frogeye 2025-06-17 22:39:52 +02:00
parent 1e674f9a86
commit b73f465716
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
16 changed files with 43 additions and 85 deletions

1
.github/FUNDING.yml vendored
View file

@ -1 +0,0 @@
github: [phisch]

View file

@ -18,9 +18,9 @@ jobs:
with:
access_token: ${{ secrets.FIGMA_ACCESS_TOKEN }}
file_key: ${{ secrets.FIGMA_FILE_KEY }}
theme_name: Phinger Cursors
theme_author: Philipp Schaffrath (phisch)
theme_comment: Most likely the most over engineered cursor theme.
theme_name: Fringer Cursors
theme_author: Geoffrey Frogeye
theme_comment: Modernized Menda cursor theme
output_directory: ${{ env.EXPORT_DIRECTORY }}
- name: Replace theme
run: |
@ -38,7 +38,7 @@ jobs:
name: Build cursor theme
needs: export_cursor_theme
env:
ARCHIVE_NAME: phinger-cursors-variants.tar.bz2
ARCHIVE_NAME: fringer-cursors-variants.tar.bz2
BUILD_DIRECTORY: build
steps:
- name: Checkout repository
@ -56,7 +56,7 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: phinger-cursors-variants
name: fringer-cursors-variants
path: ${{ env.BUILD_DIRECTORY }}/${{ env.ARCHIVE_NAME }}
- name: Draft Release
uses: softprops/action-gh-release@v2

113
README.md
View file

@ -1,47 +1,37 @@
# Phinger Cursors
# Fringer Cursors
Say hello to your new cursor theme. Phinger Cursors is most likely the most over engineered cursor theme out there.
An extensive cursor theme for Linux distribution with some green, inspired by Menda cursor.
It is a hodge podge of the following:
- **Forked from:** [Phinger Cursors](https://github.com/phisch/phinger-cursors) by Philipp Schaffrath, a cursor theme with many different pointers and care for pixel-perfectness.
- **Build system:** [Cursor Theme Builder](https://github.com/phisch/cursor-theme-builder) also by Philipp Schaffrath, which made this fork trivial to do
- **Inspiration for color and some sprites:** [Menda XCursor](https://www.gnome-look.org/p/999589) by [anexation](https://github.com/anexation/menda-cursor), the cursor theme of Manjaro (also known as [Maia Cursor](https://gitlab.manjaro.org/artwork/cursors/maia-cursor) now?)
- **Color palette:** [Frogarized](https://git.frogeye.fr/geoffrey/dotfiles/src/branch/main/common/frogarized) which is my derivation of [Solarized](https://ethanschoonover.com/solarized/) by Ethan Schoonover but where the background is green rather than blue.
The name is a collapse of the original project name with Frogeye, as I usually do with thing I fork.
![preview](assets/preview.png)
## How to install
### Arch Linux
I'm maintaining [phinger-cursors](https://aur.archlinux.org/packages/phinger-cursors) in the Arch User Repository. You can install it with your favorite AUR helper:
```sh
paru -S phinger-cursors
```
> [!NOTE]
> Please let me know if you want to maintain this package in the official Arch Linux repositories, so that I can update the instructions here.
### Ubuntu
Install the `phinnger-cursor-theme` from the Ubuntu repositories (thanks to @eeickmeyer):
```sh
apt-get update
apt-get install phinger-cursor-theme
```
### NixOS
You can install the `phinger-cursors` package (thanks to @moni-dz) from the NixOS repositories by adding it to your `configuration.nix`:
Copy [the package definition from my dotfiles](https://git.frogeye.fr/geoffrey/dotfiles/src/branch/main/hm/desktop/cursor/default.nix),
then you can either add it to your `configuration.nix`:
<!-- TODO Permalink once dotfiles commit made -->
```nix
environment.systemPackages = with pkgs; [
phinger-cursors
];
environment.systemPackages = fringer-cursors;
```
Or use it in your home-manager configuration:
```nix
home.pointerCursor = {
name = "phinger-cursors-light";
package = pkgs.phinger-cursors;
name = "fringer-cursors-light";
package = fringer-cursors;
size = 32;
gtk.enable = true;
};
@ -49,11 +39,11 @@ home.pointerCursor = {
### Manually
For a manual installation, download and extract the [latest release](https://github.com/phisch/phinger-cursors/releases/latest/download/phinger-cursors-variants.tar.bz2) into the `~/.local/share/icons` directory.
For a manual installation, download and extract the [latest release](https://github.com/phisch/fringer-cursors/releases/latest/download/fringer-cursors-variants.tar.bz2) into the `~/.local/share/icons` directory.
```sh
mkdir -p ~/.local/share/icons
wget -cO- https://github.com/phisch/phinger-cursors/releases/latest/download/phinger-cursors-variants.tar.bz2 | tar xfj - -C ~/.local/share/icons
wget -cO- https://github.com/phisch/fringer-cursors/releases/latest/download/fringer-cursors-variants.tar.bz2 | tar xfj - -C ~/.local/share/icons
```
This installs the cursor theme for your current user. To install for all users, extract into `/usr/share/icons` instead.
@ -64,20 +54,20 @@ You might have a settings application installed that can do this for you like [G
### Manually
Enable your prefered variant `phinger-cursors-dark`, `phinger-cursors-light` or their left-handed counterparts `phinger-cursors-dark-left` or `phinger-cursors-light-left` inside `~/.icons/default/index.theme`:
Enable your prefered variant `fringer-cursors-dark`, `fringer-cursors-light` or their left-handed counterparts `fringer-cursors-dark-left` or `fringer-cursors-light-left` inside `~/.icons/default/index.theme`:
```ini
[Icon Theme]
Name=Default
Comment=Default Cursor Theme
Inherits=phinger-cursors-light
Inherits=fringer-cursors-light
```
And finally, enable it for GTK applications in your `~/.config/gtk-3.0/settings.ini`:
```ini
[Settings]
gtk-cursor-theme-name=phinger-cursors-light
gtk-cursor-theme-name=fringer-cursors-light
```
## How to change cursor size
@ -102,55 +92,24 @@ Xcursor.size: CURSOR_SIZE
## How it's made
Phinger Cursors are designed in a [Figma](https://www.figma.com) document. Check out the [multi-page Figma document](https://www.figma.com/file/zU99op23bu3Cg438YkhZy8/phinger-cursors) used by this repository.
I'll just link to [the original project's explaination](https://github.com/phisch/phinger-cursors/blob/1e674f9a86d768de9f7dc93bb6d9685e25ce9655/README.md#how-its-made) as it will make more sense in its context.
You can find an up to date copy of that document in this repositories root directory at [phinger-cursors.fig](phinger-cursors.fig).
The Figma document used to generate this fork is [here](https://www.figma.com/design/bbaYMGaR5jRuXt1UjfBZwp/fringer-cursors), with a local copy in this repo's [fringer-cursors.fig](fringer-cursors.fig) file.
Not that it will help whenever Figma's free tier is eventually discontinued, as the format isn't open.
### Parts
Between the use of Figma and the reliance on GitHub actions, it felt kinda weird using tools that might no longer be available as-is a few years from now when I want to change something, because of geopolitical reasons, corporate greed or whatever it will be that time.
This is an impulse silly little project, so I'm fine with it; I'm actually glad I didn't to reimplement myself from scratch.
But given my track record, I might keep using it well after everyone decided that implanted microchips is the way to interface with computers, so sustainability is good to think about.
Unless they make microchips with open-source firmware.
Then maybe I would ditch the keyboard+mouse combo.
Every cursor sprite is assembled from core parts. Changing one of those parts, will change every cursor sprite that uses it.
## License
![parts](assets/parts.png)
Each part is designed on a base grid of 24 and 32:
![parts](assets/grid&#32;sizes.png)
which means will be pixel perfect for any reasonable size:
| 24 | 32 | 48 | 64 | 72 | 96 | 128 |
| :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: | :---------------------------: |
| ![24](assets/sprite_24.png) | ![32](assets/sprite_32.png) | ![48](assets/sprite_48.png) | ![64](assets/sprite_64.png) | ![72](assets/sprite_72.png) | ![96](assets/sprite_96.png) | ![128](assets/sprite_128.png) |
If possible, parts are designed very modular, which lets you create multiple different icons from one part. A good example is the hand part that comes with multiple variations for each single phinger:
![phingers](assets/phingers.png)
### Sprites
The parts are assembled, and styled into sprites. Those sprites are named and contain metadata necessary to generate a cursor theme from them.
Each cursor contains information about which cursor and variant it belongs to, what its cursors aliases should be, how to transform it into a left-handed cursor, a hotspot element and instructions on how it should be animated.
### Build process
Phinger Cursors are built using my [Cursor Theme Builder](https://github.com/phisch/cursor-theme-builder). It provides a JSON schema to describe a cursor theme, an exporter, that can create such a JSON file and assets from a Figma file, and a builder, which makes fully functioning X11 cursor theme variants from that. It also allows to transform cursors into left-handed versions, comes with an animation system and more.
This repository contains [workflows](.github/workflows) to extract a cursor-theme.json and assets, and drafts a release with built cursor theme variants.
## License & Credits
All assets, including the Figma document are licensed under the [CC-BY-SA-4.0 License](LICENSE).
Although designed from scratch, Phinger Cursors drew inspiration from [capitaine-cursors](https://github.com/keeferrourke/capitaine-cursors), which is based on the KDE Breeze cursors. So this is a special thanks to them, and all other amazing cursor themes out there!
## Contribute
If you notice any issues like missing cursors or symlinks, something doesn't look quite right to you, or you have suggestions for better designs or new cursors, please open an issue and let me know about it.
I can't let people contribute to the Figma document directly, but I will listen to constructive feedback through GitHub issues.
### Desktop Makers
<a href="https://discord.gg/RqKTeA4uxW" title="Desktop Makers Discord"><img align="left" width="72" alt="type=discord" src="https://user-images.githubusercontent.com/1282767/161089772-d7ad28bf-76eb-4951-b0f0-985afd5ea57a.png"></a>
I am actively working on Phinger Cursors and other cool projects on the [Desktop Makers Discord](https://discord.gg/RqKTeA4uxW). It aims to be a community for communities of Linux desktop related projects. If you are looking to collaborate with or want to contribute to great projects, this might be the right place for you.
This is a stupid project for myself I started on a whim late at night, the only reason it's public with a README is sunken cost fallacy.
I hardly even use a mouse, my hand-eye coordination is so bad I do almost everything with a keyboard.
So feel free to open an issue or a pull request, but I doubt I will act on it unless you nerdsnipe me (e.g. I would be interested in anything improving reproducibility).
Otherwise I'll probably ghost you because I won't be able to bring myself to write the bad news that I'm not motivated to do anything with what you submitted (please don't take it personally!).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

BIN
fringer-cursors.fig Normal file

Binary file not shown.

Binary file not shown.

View file

@ -1,5 +1,5 @@
{
"name": "Phinger Cursors",
"name": "Fringer Cursors",
"variants": [
{
"name": "light",