Git Product home page Git Product logo

breezex_cursor's Introduction

BreezeX Cursor

Extended KDE cursor, Highly inspired on KDE Breeze for Windows and Linux with HiDPi Support .

build

BreezeX needs your Input

Until 2021 my cursors projects were well funded by pling.com but since the pling-factor on the website has decreased and monthly payments are <500$, It is now dependent on community funding and sponsorships. If you want to help me to maintain BreezeX and my other open source projects actively, consider sponsoring my work on GitHub Sponsor or DM me on Twitter if your company would like to support my projects, I will gladly look into it and post your avatar in the project's README.

I appreciate all the wonderful people who patronize and sponsoring my work.

Sponsors

N/A


BreezeX Dark BreezeX Light BreezeX Black

Note All cursor's .svg files are found in svg directory or you can also find them on Figma.

Cursor Sizes

Xcursor Sizes:

22 24 28 32 40 48 56 64 72 80 88 96

Windows Cursor Size:

  • 16x16 - Small
  • 24x24 - Regular
  • 32x32 - Large
  • 48x48 - Extra Large

Colors:

BreezeX Dark

  • Base Color - #4D4D4D (Breeze)
  • Outline Color - #FFFFFF (White)

BreezeX Light

  • Base Color - #FFFFFF (White)
  • Outline Color - #4D4D4D (Breeze)

BreezeX Black

  • Base Color - #000000 (Black)
  • Outline Color - #FFFFFF (White)

How to get it

Easiest Way

You can download latest stable & development releases from Release Page.

Installing BreezeX Cursor

Linux/X11

Installation:

tar -xvf BreezeX-Dark.tar.gz                # extract `BreezeX-Dark.tar.gz`
mv BreezeX-* ~/.icons/                      # Install to local users
sudo mv BreezeX-* /usr/share/icons/         # Install to all users

Uninstallation:

rm ~/.icons/BreezeX-*                       # Remove from local users
sudo rm /usr/share/icons/BreezeX-*          # Remove from all users

Windows

Installation:

  1. Unzip .zip file
  2. Open unziped directory in Explorer, and right click on install.inf.
  3. Click 'Install' from the context menu, and authorize the modifications to your system.
  4. Open Control Panel > Personalization and Appearance > Change mouse pointers, and select BreezeX Cursors.
  5. Click 'Apply'.

Uninstallation:

Run the uninstall.bat script packed with the .zip archive

OR follow these steps:

  1. Go to Registry Editor by typing the same in the start search box.
  2. Expand HKEY_CURRENT_USER folder and expand Control Panel folder.
  3. Go to Cursors folder and click on Schemes folder - all the available custom cursors that are installed will be listed here.
  4. Right Click on the name of cursor file you want to uninstall; for eg.: BreezeX Cursors and click Delete.
  5. Click 'yes' when prompted.

Build From Source

Notes

  • BreezeX build configuration and cursor hotspot settings are bundled in the build.toml file.
  • Check out the scripts section in package.json to see how we build the cursor theme, excluding the render scripts. They are useful for converting .svg files to .png files.
  • yarn is optional, For building XCursors and Windows cursors from .png files or resizing them you don't need that. If you want to develop/modify BreezeX's colors, and bitmaps, or generate a png file from a svg, Then you can use yarn because bitmapper is written in TypeScript.
  • Since BreezeX variants are designed similarly, they share the same hotspot settings so a single configuration file build.toml is responsible for building all variants. Due to this, you will have to change the following options in ctgen to build the appropriate variant:
    • -d: bitmaps directory
    • -n: The name you want to give to the generated theme.
    • -c: Theme comment.
    • See ctgen --help for all available options.

Build prerequisites

  • Python version 3.7 or higher
  • clickgen>=2.1.2 (pip install clickgen)
  • yarn

Quick start

  1. Install build prerequisites on your system
  2. git clone https://github.com/ful1e5/BreezeX_Cursor
  3. cd BreezeX_Cursor && yarn build
  4. See Installing BreezeX Cursor.

Building

Note Bitmaps are already generated in the bitmaps directory and managed by the maintainer (do not edit them directly).

First make sure you installed the build prerequisites. Now that you have the dependencies, you can try build individual themes from bitmaps and customize sizes, target platform, and etc. with the ctgen CLI (packed with clickgen).

yarn build aberration

Here are the default commands we used to build the BreezeX's variants and packed them into yarn build:

ctgen build.toml -d 'bitmaps/BreezeX-Dark' -n 'BreezeX-Dark' -c 'BreezeX Dark cursors.'
ctgen build.toml -d 'bitmaps/BreezeX-Light' -n 'BreezeX-Light' -c 'BreezeX Light cursors.'
ctgen build.toml -d 'bitmaps/BreezeX-Black' -n 'BreezeX-Black' -c 'BreezeX Black cursors.'

Afterwards, the themes can be found in the themes directory.

Customize Sizes

Note You can change the cursor size up to 200 because pngs are rendered with 200x200. If the cursor is resized by more than rendered png size, the final cursor will be blurred.

Customize Windows Cursor size

To build Windows cursor with size 16:

Warning Windows cursor supports only one size, if multiple sizes are given with -s the first size will be considered in build.

ctgen build.toml -s 16 -p windows -d 'bitmaps/BreezeX-Light' -n 'BreezeX-Light' -c 'White BreezeX cursors with size 16'

You can also customize output directory with -o option:

ctgen build.toml -s 16 -p windows -d 'bitmaps/BreezeX-Light' -o 'out' -n 'BreezeX-Light' -c 'White BreezeX cursors with size 16'
Customize XCursor size

To build XCursor with size 16:

ctgen build.toml -s 16 -p x11 -d 'bitmaps/BreezeX-Light' -n 'BreezeX-Light' -c 'White BreezeX cursors with size 16'

You can also assign multiple sizes to ctgen for XCursors build:

ctgen build.toml -s 16 24 32 -p x11 -d 'bitmaps/BreezeX-Light' -n 'BreezeX-Light' -c 'White BreezeX cursors with size 16'

Customize Colors

To customize BreezeX's color you have to install node dependencies with yarn install command. After installing dependencies you can customize the colors via npx cbmp Node CLI App which packed with cbmp node package.

yarn render aberration

Here are the default commands we used for generating the BreezeX's bitmaps and packed them into yarn render:

npx cbmp -d 'svg' -n 'BreezeX-Dark' -bc '#4D4D4D' -oc '#FFFFFF'
npx cbmp -d 'svg' -n 'BreezeX-Light' -bc '#FFFFFF' -oc '#4D4D4D'
npx cbmp -d 'svg' -n 'BreezeX-Black' -bc '#000000' -oc '#FFFFFF'

Examples

Lets generate modern BreezeX with green base color and black outline:

npx cbmp -d 'svg' -n 'BreezeX-Hacker' -bc '#00FE00' -oc '#000000'

After rendering custom color you have to build cursor through ctgen:

ctgen build.toml -d 'bitmaps/BreezeX-Hacker' -n 'BreezeX-Hacker' -c 'Green and black BreezeX cursors.'

Afterwards, Generated theme can be found in the themes directory.

BreezeX Gruvbox
npx cbmp -d 'svg' -n 'BreezeX-Gruvbox' -bc '#282828' -oc '#EBDBB2'
ctgen build.toml -d 'bitmaps/BreezeX-Gruvbox' -n 'BreezeX-Gruvbox' -c 'Groovy BreezeX cursors.'
BreezeX Solarized Dark
npx cbmp -d 'svg' -n 'BreezeX-Solarized-Dark' -bc '#002b36' -oc '#839496'
ctgen build.toml -d 'bitmaps/BreezeX-Solarized-Dark' -n 'BreezeX-Solarized-Dark' -c 'Solarized Dark BreezeX cursors.'
BreezeX Solarized Light
npx cbmp -d 'svg' -n 'BreezeX-Solarized-Light' -bc '#839496' -oc '#002b36'
ctgen build.toml -d 'bitmaps/BreezeX-Solarized-Light' -n 'BreezeX-Solarized-Light' -c 'Solarized Light BreezeX cursors.'
BreezeX Dracula
npx cbmp -d 'svg' -n 'BreezeX-Dracula' -bc '#282a36' -oc '#f8f8f2'
ctgen build.toml -d 'bitmaps/BreezeX-Dracula' -n 'BreezeX-Dracula' -c 'Dracula BreezeX cursors.'

Bugs

Bugs should be reported here on the Github issues page.

Getting Help

You can create a issue, I will help you.

Contributing

Check CONTRIBUTING.md, any suggestions for features and contributions to the continuing code masterelopment can be made via the issue tracker or code contributions via a Fork & Pull requests.

breezex_cursor's People

Contributors

frikilinux avatar ful1e5 avatar monosans avatar wizpizz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

breezex_cursor's Issues

Waiting cursor looks a bit weird

It might be the design choice, so feel free to close the issue, but IMO rounded square background makes it look a bit off.


image


I'd expect it to be more like in Bibata:


image


Cursor

PLEASE!!!!!!!!!!!!! Can you build all the sizes of the cursors for windows. I am peace of shit at programming and I am a f*cking beginner. I will be very thankful.

Found a problem using Actions auto build

I tried to use the Actions to build a bigger size cursors. But I just got those errors

9_Generating BreezeX Cursor Theme.txt

And then I looked into your Actions builds, I found that your build uses the clickgen 1.2.0

So I specified the clickgen version to 1.2.0, then it worked just fine.

And I would like to know whether the latest clickgen is compatible with this project code anymore.

I'm a rookie in the rookie, so I can only open up a new issue, hope I'm not disturbing you.๐Ÿ˜ต

Work cursor hotspot off center

Hey, just thought I'd let you know of this minor issue.
The hotspot of the "Work" cursor is a bit to the left of where it should be, this causes it to jump to the side when switching between the normal and wait cursors.

I've tested all three colour variations on Windows, they all do this.

Would be awesome if you fix this for me, I really like them ๐Ÿ˜„
Thanks!

Tutorial

Please make a tutorial How to do the manual build for a human that doesn't know what to do.

How to use it on Mac?

Excellent work! I'm using Mousecape on Mac which allows third-party mouse cursors. Can we use BreezeX on Mac? How can we uninstall it then?

Building fails - doesn't generate png files properly

Hi there,

I've gone to build these cursors to make a slightly larger variant for my use and have hit a bit of a roadblock. When running make unix on Linux, regardless of flags and variables, it errors and fails.

The output is as follows:

make[1]: Entering directory '/home/haydenbrown/temp/BreezeX_Cursor/bitmapper'
yarn install v1.22.10
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 12.59s.
yarn run v1.22.10
$ npx ts-node src/index.ts
Generating bitmaps for BreezeX-Dark
 ==> Saving X_cursor ...
Done in 5.12s.
make[1]: Leaving directory '/home/haydenbrown/temp/BreezeX_Cursor/bitmapper'
make[1]: Entering directory '/home/haydenbrown/temp/BreezeX_Cursor/builder'
Requirement already satisfied: clickgen in /root/.local/lib/python3.10/site-packages (1.1.9)
Requirement already satisfied: Pillow>=8.1.1 in /usr/lib64/python3.10/site-packages (from clickgen) (8.3.2)
Getting 'BreezeX-Dark' bitmaps ready for build...
Traceback (most recent call last):
  File "/home/haydenbrown/temp/BreezeX_Cursor/builder/build.py", line 93, in <module>
    config = get_config(
  File "/home/haydenbrown/temp/BreezeX_Cursor/builder/src/configure.py", line 51, in get_config
    png_provider = PNGProvider(bitmaps_dir)
  File "/root/.local/lib/python3.10/site-packages/clickgen/util.py", line 72, in __init__
    raise FileNotFoundError(
FileNotFoundError: '*.png' files not found in '/home/haydenbrown/temp/BreezeX_Cursor/builder/../bitmaps/BreezeX-Dark'
Getting 'BreezeX-Light' bitmaps ready for build...
Traceback (most recent call last):
  File "/home/haydenbrown/temp/BreezeX_Cursor/builder/build.py", line 93, in <module>
    config = get_config(
  File "/home/haydenbrown/temp/BreezeX_Cursor/builder/src/configure.py", line 51, in get_config
    png_provider = PNGProvider(bitmaps_dir)
  File "/root/.local/lib/python3.10/site-packages/clickgen/util.py", line 68, in __init__
    for f in sorted(self.bitmaps_dir.iterdir()):
  File "/usr/lib64/python3.10/pathlib.py", line 1015, in iterdir
    for name in self._accessor.listdir(self):
FileNotFoundError: [Errno 2] No such file or directory: '../bitmaps/BreezeX-Light'
Getting 'BreezeX-Black' bitmaps ready for build...
Traceback (most recent call last):
  File "/home/haydenbrown/temp/BreezeX_Cursor/builder/build.py", line 93, in <module>
    config = get_config(
  File "/home/haydenbrown/temp/BreezeX_Cursor/builder/src/configure.py", line 51, in get_config
    png_provider = PNGProvider(bitmaps_dir)
  File "/root/.local/lib/python3.10/site-packages/clickgen/util.py", line 68, in __init__
    for f in sorted(self.bitmaps_dir.iterdir()):
  File "/usr/lib64/python3.10/pathlib.py", line 1015, in iterdir
    for name in self._accessor.listdir(self):
FileNotFoundError: [Errno 2] No such file or directory: '../bitmaps/BreezeX-Black'
make[1]: *** [Makefile:25: build_unix] Error 1
make[1]: Leaving directory '/home/haydenbrown/temp/BreezeX_Cursor/builder'
make: *** [Makefile:15: unix] Error 2

Have I just done something silly here?

Thanks.

2 additional select pointers in Windows 11?

Hey there, it seems we have 2 additional select pointers in Windows 11 (or maybe they were already there long ago, but I never noticed)
screenshot

I was wondering if you'd be up to do custom works for those too


On a side note, I hadn't been able to find where exactly those 2 are being used, so it doesn't really bother me at the moment

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.