diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3d4c416 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [unreleased] + +## [v1.0.0-alpha1] - + +### Added + +- Initial release ๐ŸŽŠ +- Logo and badges +- CI/CD Pipelines + +[unreleased]: https://github.com/ful1e5/notwaita-cursor/compare/1.0.0-alpha1...main + + + +[v1.0.0-alpha1]: https://github.com/ful1e5/notwaita-cursor/tree/1.0.0-alpha1 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..47f52ae --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at kaizmandhu@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/README.md b/README.md index b1db22c..1ffdba5 100644 --- a/README.md +++ b/README.md @@ -2,27 +2,256 @@ A cursor theme based off of Adwaita icons from the GNOME Project (Fork). -## Installing & Using +## Notes -You can use Notwaita by copying the respective folders to your icons folder and changing the cursor theme in gnome tweaks +- All cursor's SVG files are found in [svg](./svg) directory or you can also find them on [Figma](https://www.figma.com/design/pytcdZCnx9NwL6Ao6jFQmb/nowaita?node-id=0-1&t=aeAWgQMBcGylCJyj-1). -To do so, cd into the downloaded directory + +![shoutout-sponsors](https://sponsor-spotlight.vercel.app/sponsor?login=ful1e5) + +--- + +![Notwaita Black]() +![Notwaita White]() +![Notwaita Gray]() + +## Cursor Sizes + +### Xcursor Sizes: + +16 +20 +22 +24 +28 +32 +40 +48 +56 +64 +72 +80 +88 +96 + +### Windows Cursor Size: + +| size | Regular (ร— ยฒโ„โ‚ƒ) | Large (ร— โดโ„โ‚…) | Extra-Large (ร— 1) | +| ---: | --------------: | ------------: | ----------------: | +| 32 | 21.333 โ†’ 22 | 25.6 โ†’ 26 | 32 | +| 48 | 32 | 38.4 โ†’ 39 | 48 | +| 64 | 42.666 โ†’ 43 | 51.2 โ†’ 52 | 64 | +| 96 | 64 | 76.8 โ†’ 77 | 96 | +| 128 | 85.333 โ†’ 86 | 102.4 โ†’ 103 | 128 | +| 256 | 170.666 โ†’ 171 | 204.8 โ†’ 205 | 256 | + +## Colors + +### Black + +- Base Color - `#000000` (Black) +- Outline Color - `#FFFFFF` (White) + +### White + +- Base Color - `#FFFFFF` (White) +- Outline Color - `#000000` (Black) + +### Gray + +- Base Color - `#404040` (Gray) +- Outline Color - `#000000` (Black) + +## How to get it + +You can download latest `stable` & `development` releases from +[Release Page](https://github.com/ful1e5/notwaita-cursor/releases). + +## Installing Notwaita Cursor + +#### Linux/X11 + +**Installation:** + +```bash +tar -xvf Notwaita-Black.tar.gz # extract `.tar.gz` +mv Notwaita-* ~/.icons/ # Install to local users +sudo mv Notwaita-* /usr/share/icons/ # Install to all users ``` -cd 'notwaita-cursor-theme-main' + +**Uninstallation:** + +```bash +rm ~/.icons/Notwaita-* # Remove from local users +sudo rm /usr/share/icons/Notwaita-* # Remove from all users ``` -then simply copy the compiled theme to your icons -directory. +#### 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 **Notwaita 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.: _Notwaita Cursors_ and + click `Delete`. +5. Click '**yes**' when prompted. + +## Build From Source + +### Prerequisites + +- Python version 3.7 or higher +- [clickgen](https://github.com/ful1e5/clickgen)>=2.2.5 (`pip install clickgen`) +- [yarn](https://github.com/yarnpkg/yarn) + +### Quick start + +1. Install [build prerequisites](#prerequisites) on your system +2. `git clone https://github.com/ful1e5/notwaita-cursor` +3. `cd notwaita-cursor` +4. `yarn install` +5. `yarn generate` +6. See [Installing Notwaita Cursor](#installing-notwaita-cursor). + +### Getting Started + +Once you have the [build prerequisites](#prerequisites) installed, You can personalize colors, +customize sizes, change target platforms, and more. This process involves using external tools, +as this repository only contains SVG files and configuration for these tools: + +- [cbmp](https://github.com/ful1e5/cbmp): Used for customizing colors and generating PNG files. +- [ctgen](https://github.com/ful1e5/clickgen): Used for customizing sizes and building XCursor and Windows Cursors. + +You can refer to the README of each tool for more information on their command-line options. + +#### Crafting Your Notwaita Cursor + +The process of creating custom cursor themes involves two main steps: + +1. Rendering SVG files to PNG files. +2. Building cursor themes from PNG files. + +#### Customize Colors -For local user installation: +`cbmp` provides three options for changing colors: +1. `-bc`: Base color, which replaces the `#00FF00` color in the SVG. +2. `-oc`: Outlined color, which replaces the `#0000FF` color in the SVG. +3. `-wc` (optional): Watch Background color, which replaces the `#FF0000` color in the SVG. + +```bash +npx cbmp [...] -bc '' -oc '' -wc '' +``` + +Alternatively, you can provide a JSON configuration file to render SVG files, which contains a sequence of `cbmp` commands: + +```bash +npx cbmp render.json +``` + +#### Customize Sizes + +##### Customize Windows Cursor size + +To build Windows cursor with size `16`: + +```bash +ctgen build.toml -s 16 -p windows -d "bitmaps/Notwaita-Black" -n "Notwaita-Black" -c "Notwaita Black Cursors with size 16" +``` + +You can also customize output directory with `-o` option: + +```bash +ctgen build.toml -s 16 -p windows -d "bitmaps/Notwaita-Black" -o "out" -n "Notwaita-Black" -c "Notwaita Black Cursors with size 16" +``` + +##### Customize XCursor size + +To build XCursor with size `16`: + +```bash +ctgen build.toml -s 16 -p x11 -d "bitmaps/Notwaita-Black" -n "Notwaita-Black" -c "Notwaita Black XCursors with size 16" +``` + +You can also assign multiple sizes to `ctgen` for XCursors build: + +```bash +ctgen build.toml -s 16 24 32 -p x11 -d "bitmaps/Notwaita-Black" -n "Notwaita-Black" -c "Custom Sizes Notwaita Black XCursors" +``` + +#### Examples + +Lets generate Notwaita cursor with green and black colors: + +```bash +npx cbmp -d "svg" -o "bitmaps/Notwaita-Hacker" -bc "#00FE00" -oc "#000000" +``` + +After rendering custom color you have to build cursor through `ctgen`: + +```bash +ctgen build.toml -d "bitmaps/Notwaita-Hacker" -n "Notwaita-Hacker" -c "Green and Black Notwaita cursors." +``` + +Afterwards, Generated theme can be found in the `themes` directory. + +###### Notwaita Gruvbox + +```bash +npx cbmp -d "svg" -o "bitmaps/Notwaita-Gruvbox" -bc "#282828" -oc "#EBDBB2" -wc "#000000" +ctgen build.toml -d "bitmaps/Notwaita-Gruvbox" -n "Notwaita-Gruvbox" -c "Groovy Notwaita cursors." ``` -cp -r 'Notwaita Black Cursors/Notwaita-Black' ~/.icons + +###### Notwaita Solarized Dark + +```bash +npx cbmp -d "svg" -o "bitmaps/Notwaita-Solarized-Dark" -bc "#002b36" -oc "#839496" -wc "#000000" +ctgen build.toml -d "bitmaps/Notwaita-Solarized-Dark" -n "Notwaita-Solarized-Dark" -c "Solarized Dark Notwaita cursors." ``` -For system-wide installation for all users: +###### Notwaita Solarized Light +```bash +npx cbmp -d "svg" -o "bitmaps/Notwaita-Solarized-Light" -bc "#839496" -oc "#002b36" +ctgen build.toml -d "bitmaps/Notwaita-Solarized-Light" -n "Notwaita-Solarized-Light" -c "Solarized Light Notwaita cursors." ``` -sudo cp -r 'Notwaita Black Cursors/Notwaita-Black' /usr/share/icons + +###### Notwaita Dracula + +```bash +npx cbmp -d "svg" -o "bitmaas/Notwaita-Dracula" -bc "#282a36" -oc "#f8f8f2" +ctgen build.toml -d "bitmaps/Notwaita-Dracula" -n "Notwaita-Dracula" -c "Dracula Notwaita cursors." ``` + +## Testing Cursor + +There are several websites that allow you to test your cursor states by hovering over buttons. This can be very useful when developing or verifying the behavior of a cursor. The following websites cover many of the most commonly used cursors, although they may not include all available options. + +- [Cursor-Test](https://vibhorjaiswal.github.io/Cursor-Test/) +- [Mozilla CSS Cursor](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor) + +For a blueprint for creating XCursors, you may also want to refer to [Cursor-demo](https://wiki.tcl-lang.org/page/Cursor+demo). + +## Credit + +[Notwaita Cursor Theme](https://gitlab.com/donut2/notwaita-cursor-theme) ยท +[Adwaita](https://github.com/GNOME/adwaita-icon-theme) ยท +[Dmz](https://github.com/GalliumOS/dmz-cursor-theme) ยท +[Yaru](https://github.com/ubuntu/yaru)