Git Product home page Git Product logo

phinger-cursors's Introduction

Phinger cursors

Say hello to your new cursor theme. Phinger cursors is most likely the most over engineered cursor theme out there.

preview

How to install

If you are on Arch linux, you can install the AUR package phinger-cursors.

Other distros currently don't yet have phinger-cursors in their repositories. So please install manually, as described below.

Manually

For a manual installation, download and extract the latest release into the ~/.icons directory.

wget -cO- https://github.com/phisch/phinger-cursors/releases/latest/download/phinger-cursors-variants.tar.bz2 | tar xfj - -C ~/.icons

This installs the cursor theme for your current user. To install for all users, extract into /usr/share/icons instead.

How to enable

You might have a settings application installed that can do this for you like Gnome Tweaks or lxappearance. If you don't, enable the cursor theme as described below.

Manually

Enable your prefered variant (phinger-cursors or phinger-cursors-light) inside ~/.icons/default/index.theme:

[Icon Theme]
Name=Default
Comment=Default Cursor Theme
Inherits=phinger-cursors-light

And finally, enable it for GTK applications in your ~/.config/gtk-3.0/settings.ini:

[Settings]
gtk-cursor-theme-name=phinger-cursors-light

How to change cursor size

The available cursor sizes are 24, 32, 48, 64, 96 and 128. How to change it depends on your current environment.

GNOME, MATE, XFCE

Run the following command and replace CURSOR_SIZE with your prefered one:

  • on GNOME: gsettings set org.gnome.desktop.interface cursor-size CURSOR_SIZE
  • on MATE: gsettings set org.mate.peripherals-mouse CURSOR_SIZE
  • on XFCE: xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --set CURSOR_SIZE

Xresources

Add this line to your ~/.Xresources and replace CURSOR_SIZE with your prefered one:

Xcursor.size: CURSOR_SIZE

How it's made

Phinger-cursors are designed in a Figma document. Check out the multi-page Figma document used by this repository.

You can find an up to date copy of that document in this repositories root directory at phinger-cursors.fig.

Parts

Every cursor sprite is assembled from core parts. Changing one of those parts, will change every cursor sprite that uses it.

parts

Each part is designed on a base grid of 24 and 32:

parts

which means will be pixel perfect for any reasonable size:

24 32 48 64 96 128
24 32 48 64 96 128

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

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 sprite contains a name, information about the cursor hotspot, animation and which kind of variant it is.

Build process

This repository contains a GitHub workflow, that generates a fully functional X11 cursor theme and variants from the linked figma file. The workflow is defined in .github/workflows/main.yml.

It uses the custom made GitHub Action phisch/figma-cursor-theme-action to do that.

This action exports assets from the Figma file and commits them to assets, then renders the sprites into pngs and packs them into proper (and if necessary animated) x11 cursor files. It also generates symlinks and variants, bundles them, and creates a release.

Please refer to the actions README.md for a detailed documentation.

License & Credits

All assets, including the Figma document are licensed under the CC-BY-SA-4.0 License.

The X11 and Wayland cursors are designed from scratch, and not copied. The original logos belong to X11 and Wayland respectively though.

Although designed from scratch, phinger cursors drew inspiration from 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.

Support

If you really enjoy this project, sponsor me a pizza.

phinger-cursors's People

Contributors

phisch avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.