From 281bc18402cf625d2a9995641f59ced8ed0c59e4 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Mon, 22 Nov 2021 16:37:10 +0530 Subject: [PATCH] =?UTF-8?q?macOSMonterey=20cursors=20added=20=F0=9F=8E=8A?= =?UTF-8?q?=20fixed=20#66?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yml | 42 +++++++++++++--- CHANGELOG.md | 1 + Makefile | 60 ++++++++++++++++------- bitmapper/Makefile | 5 +- bitmapper/package.json | 3 +- bitmapper/packages/monterey/package.json | 17 +++++++ bitmapper/packages/monterey/src/config.ts | 28 +++++++++++ bitmapper/packages/monterey/src/index.ts | 37 ++++++++++++++ bitmapper/packages/monterey/tsconfig.json | 10 ++++ builder/Makefile | 16 ++++-- 10 files changed, 187 insertions(+), 32 deletions(-) create mode 100644 bitmapper/packages/monterey/package.json create mode 100644 bitmapper/packages/monterey/src/config.ts create mode 100644 bitmapper/packages/monterey/src/index.ts create mode 100644 bitmapper/packages/monterey/tsconfig.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4032f59..e386d4c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,41 +57,67 @@ jobs: run: cd svg && python link.py && cd .. continue-on-error: false - - name: Generating `macOSBigSur` Cursor Theme - run: make bigsur + - name: Generating `macOS` Cursor Theme + run: make continue-on-error: false - - name: Compressing UNIX theme + - name: Compressing `macOS` UNIX themes run: | tar -cvzf macOSBigSur.tar.gz themes/macOSBigSur tar -cvzf macOSBigSur-White.tar.gz themes/macOSBigSur-White + tar -cvzf macOSMonterey.tar.gz themes/macOSMonterey + tar -cvzf macOSMonterey-White.tar.gz themes/macOSMonterey-White - - name: Uploading `bitmaps` artifact + - name: Uploading `macOSBigSur` bitmaps uses: actions/upload-artifact@v2 with: name: bitmaps path: bitmaps/* - - name: Uploading `macOSBigSur` UNIX Theme artifact + - name: Uploading `macOSBigSur` UNIX Theme uses: actions/upload-artifact@v2 with: name: macOSBigSur path: macOSBigSur.tar.gz - - name: Uploading `macOSBigSur-White` UNIX Theme artifact + - name: Uploading `macOSMonterey` UNIX Theme + uses: actions/upload-artifact@v2 + with: + name: macOSMonterey + path: macOSMonterey.tar.gz + + - name: Uploading `macOSBigSur-White` UNIX Theme uses: actions/upload-artifact@v2 with: name: macOSBigSur-White path: macOSBigSur-White.tar.gz - - name: Uploading `macOSBigSur` Windows Theme artifact + - name: Uploading `macOSMonterey-White` UNIX Theme + uses: actions/upload-artifact@v2 + with: + name: macOSMonterey-White + path: macOSMonterey-White.tar.gz + + - name: Uploading `macOSBigSur` Windows Theme uses: actions/upload-artifact@v2 with: name: macOSBigSur-Windows path: themes/macOSBigSur-Windows/* - - name: Uploading `macOSBigSur-White` Windows Theme artifact + - name: Uploading `macOSMonterey` Windows Theme + uses: actions/upload-artifact@v2 + with: + name: macOSMonterey-Windows + path: themes/macOSMonterey-Windows/* + + - name: Uploading `macOSBigSur-White` Windows Theme uses: actions/upload-artifact@v2 with: name: macOSBigSur-White-Windows path: themes/macOSBigSur-White-Windows/* + + - name: Uploading `macOSMonterey-White` Windows Theme + uses: actions/upload-artifact@v2 + with: + name: macOSMonterey-White-Windows + path: themes/macOSMonterey-White-Windows/* diff --git a/CHANGELOG.md b/CHANGELOG.md index 886a76c..49ed2f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- macOSMonterey cursors added 🎊 fixed #66 - Generate master `bitmaps.zip` inside `bin` directory - `Makefile` binaries targets with variable - pling docs: size and support info updated diff --git a/Makefile b/Makefile index 7f8be27..118432f 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ clean: @rm -rf bitmaps themes render: bitmapper svg - @cd bitmapper && make install render_bigsur + @cd bitmapper && make install render_bigsur render_monterey build: bitmaps @cd builder && make setup build @@ -29,11 +29,19 @@ render_bigsur: bitmapper svg build_bigsur: bitmaps @cd builder && make setup build_bigsur +# macOS Monterey +monterey: clean render_monterey build_monterey + +render_monterey: bitmapper svg + @cd bitmapper && make install render_monterey + +build_monterey: bitmaps + @cd builder && make setup build_monterey # Installation .ONESHELL: SHELL:=/bin/bash -THEME_PREFIX = macOSBigSur +THEME_PREFIX = macOS src := ./themes/ @@ -48,24 +56,32 @@ install: $(src) @if [[ $EUID -ne 0 ]]; then @echo "> Installing '$(THEME_PREFIX)' cursors inside $(local)/..." @mkdir -p $(local) - @cp -r ./themes/$(THEME_PREFIX) $(local_dest) - @cp -r ./themes/$(THEME_PREFIX)-White $(local_dest) && echo "> Installed!" + @cp -r ./themes/$(THEME_PREFIX)BigSur $(local_dest) + @cp -r ./themes/$(THEME_PREFIX)BigSur -White $(local_dest) && echo "> Installed!" + @cp -r ./themes/$(THEME_PREFIX)Monterey $(local_dest) + @cp -r ./themes/$(THEME_PREFIX)Monterey -White $(local_dest) && echo "> Installed!" @else @echo "> Installing '$(THEME_PREFIX)' cursors inside $(root)/..." @mkdir -p $(root) - @sudo cp -r ./themes/$(THEME_PREFIX) $(root_dest) - @sudo cp -r ./themes/$(THEME_PREFIX)-White $(root_dest) && echo "> Installed!" + @sudo cp -r ./themes/$(THEME_PREFIX)BigSur $(root_dest) + @sudo cp -r ./themes/$(THEME_PREFIX)BigSur-White $(root_dest) && echo "> Installed!" + @sudo cp -r ./themes/$(THEME_PREFIX)Monterey $(root_dest) + @sudo cp -r ./themes/$(THEME_PREFIX)Monterey-White $(root_dest) && echo "> Installed!" @fi uninstall: @if [[ $EUID -ne 0 ]]; then @echo "> Removing '$(THEME_PREFIX)' from '$(local)'..." - @rm -rf $(local)/$(THEME_PREFIX) - @rm -rf $(local)/$(THEME_PREFIX)-White + @rm -rf $(local)/$(THEME_PREFIX)BigSur + @rm -rf $(local)/$(THEME_PREFIX)BigSur-White + @rm -rf $(local)/$(THEME_PREFIX)Monterey + @rm -rf $(local)/$(THEME_PREFIX)Monterey-White @else @echo "> Removing '$(THEME_PREFIX)' from '$(root)'..." - @rm -rf $(root)/$(THEME_PREFIX) - @rm -rf $(root)/$(THEME_PREFIX)-White + @rm -rf $(root)/$(THEME_PREFIX)BigSur + @rm -rf $(root)/$(THEME_PREFIX)BigSur-White + @rm -rf $(root)/$(THEME_PREFIX)Monterey + @rm -rf $(root)/$(THEME_PREFIX)Monterey-White @fi reinstall: uninstall install @@ -76,16 +92,24 @@ BIN_DIR = ../bin THEMES = White prepare: bitmaps themes @rm -rf bin - @mkdir -p bin/$(THEME_PREFIX) - @$(foreach theme,$(THEMES), mkdir -p bin/$(THEME_PREFIX)-$(theme);) + @mkdir -p bin/$(THEME_PREFIX)BigSur + @$(foreach theme,$(THEMES), mkdir -p bin/$(THEME_PREFIX)BigSur-$(theme);) + @mkdir -p bin/$(THEME_PREFIX)Monterey + @$(foreach theme,$(THEMES), mkdir -p bin/$(THEME_PREFIX)Monterey-$(theme);) @cd bitmaps - @zip -r $(BIN_DIR)/$(THEME_PREFIX)/bitmaps.zip $(THEME_PREFIX) - @$(foreach theme,$(THEMES), zip -r $(BIN_DIR)/$(THEME_PREFIX)-$(theme)/bitmaps.zip $(THEME_PREFIX)-$(theme);) + @zip -r $(BIN_DIR)/$(THEME_PREFIX)BigSur/bitmaps.zip $(THEME_PREFIX)BigSur + @$(foreach theme,$(THEMES), zip -r $(BIN_DIR)/$(THEME_PREFIX)BigSur-$(theme)/bitmaps.zip $(THEME_PREFIX)BigSur-$(theme);) + @zip -r $(BIN_DIR)/$(THEME_PREFIX)Monterey/bitmaps.zip $(THEME_PREFIX)Monterey + @$(foreach theme,$(THEMES), zip -r $(BIN_DIR)/$(THEME_PREFIX)Monterey-$(theme)/bitmaps.zip $(THEME_PREFIX)Monterey-$(theme);) @zip -r $(BIN_DIR)/bitmaps.zip * @cd .. @cd themes - @tar -czvf $(BIN_DIR)/$(THEME_PREFIX)/$(THEME_PREFIX).tar.gz $(THEME_PREFIX) - @zip -r $(BIN_DIR)/$(THEME_PREFIX)/$(THEME_PREFIX)-Windows.zip $(THEME_PREFIX)-Windows - @$(foreach theme,$(THEMES), tar -czvf $(BIN_DIR)/$(THEME_PREFIX)-$(theme)/$(THEME_PREFIX)-$(theme).tar.gz $(THEME_PREFIX)-$(theme);) - @$(foreach theme,$(THEMES), zip -r $(BIN_DIR)/$(THEME_PREFIX)-$(theme)/$(THEME_PREFIX)-$(theme)-Windows.zip $(THEME_PREFIX)-$(theme)-Windows;) + @tar -czvf $(BIN_DIR)/$(THEME_PREFIX)BigSur/$(THEME_PREFIX)BigSur.tar.gz $(THEME_PREFIX)BigSur + @zip -r $(BIN_DIR)/$(THEME_PREFIX)BigSur/$(THEME_PREFIX)BigSur-Windows.zip $(THEME_PREFIX)BigSur-Windows + @tar -czvf $(BIN_DIR)/$(THEME_PREFIX)Monterey/$(THEME_PREFIX)Monterey.tar.gz $(THEME_PREFIX)Monterey + @zip -r $(BIN_DIR)/$(THEME_PREFIX)Monterey/$(THEME_PREFIX)Monterey-Windows.zip $(THEME_PREFIX)Monterey-Windows + @$(foreach theme,$(THEMES), tar -czvf $(BIN_DIR)/$(THEME_PREFIX)BigSur-$(theme)/$(THEME_PREFIX)BigSur-$(theme).tar.gz $(THEME_PREFIX)BigSur-$(theme);) + @$(foreach theme,$(THEMES), zip -r $(BIN_DIR)/$(THEME_PREFIX)BigSur-$(theme)/$(THEME_PREFIX)BigSur-$(theme)-Windows.zip $(THEME_PREFIX)BigSur-$(theme)-Windows;) + @$(foreach theme,$(THEMES), tar -czvf $(BIN_DIR)/$(THEME_PREFIX)Monterey-$(theme)/$(THEME_PREFIX)Monterey-$(theme).tar.gz $(THEME_PREFIX)Monterey-$(theme);) + @$(foreach theme,$(THEMES), zip -r $(BIN_DIR)/$(THEME_PREFIX)Monterey-$(theme)/$(THEME_PREFIX)Monterey-$(theme)-Windows.zip $(THEME_PREFIX)Monterey-$(theme)-Windows;) @cd .. diff --git a/bitmapper/Makefile b/bitmapper/Makefile index fa660a5..c51c35f 100644 --- a/bitmapper/Makefile +++ b/bitmapper/Makefile @@ -15,4 +15,7 @@ install: node_modules package.json render_bigsur: @yarn render:bigsur -render: render_bigsur +render_monterey: + @yarn render:monterey + +render: render_bigsur render_monterey diff --git a/bitmapper/package.json b/bitmapper/package.json index ede21cb..6b642f8 100644 --- a/bitmapper/package.json +++ b/bitmapper/package.json @@ -7,7 +7,8 @@ "license": "GPL-3.0", "private": true, "scripts": { - "render:bigsur": "yarn workspace bigsur render" + "render:bigsur": "yarn workspace bigsur render", + "render:monterey": "yarn workspace monterey render" }, "workspaces": [ "packages/*" diff --git a/bitmapper/packages/monterey/package.json b/bitmapper/packages/monterey/package.json new file mode 100644 index 0000000..bfd2287 --- /dev/null +++ b/bitmapper/packages/monterey/package.json @@ -0,0 +1,17 @@ +{ + "name": "monterey", + "version": "1.2.2", + "description": "macOS Monterey cursors", + "main": "dist/index.js", + "scripts": { + "build": "npx tsc --build", + "render": "yarn build && node dist/index.js" + }, + "author": "Kaiz Khatri", + "license": "GPL-3.0", + "private": true, + "devDependencies": { + "ts-node": "^9.1.1", + "typescript": "^4.1.5" + } +} diff --git a/bitmapper/packages/monterey/src/config.ts b/bitmapper/packages/monterey/src/config.ts new file mode 100644 index 0000000..f76e114 --- /dev/null +++ b/bitmapper/packages/monterey/src/config.ts @@ -0,0 +1,28 @@ +import { Colors } from "core/src/types"; + +interface Config { + themeName: string; + color: Colors; +} + +const black = "#000000"; +const white = "#FFFFFF"; + +const config: Config[] = [ + { + themeName: "macOSMonterey", + color: { + base: black, + outline: white, + }, + }, + { + themeName: "macOSMonterey-White", + color: { + base: white, + outline: black, + }, + }, +]; + +export { config }; diff --git a/bitmapper/packages/monterey/src/index.ts b/bitmapper/packages/monterey/src/index.ts new file mode 100644 index 0000000..afcfc79 --- /dev/null +++ b/bitmapper/packages/monterey/src/index.ts @@ -0,0 +1,37 @@ +import path from "path"; + +import { BitmapsGenerator, SVGHandler } from "core"; +import { config } from "./config"; + +const root = path.resolve(__dirname, "../../../../"); +const svgDir = path.resolve(root, "svg", "monterey"); + +const main = async () => { + for (const { themeName, color } of config) { + console.log("=>", themeName); + + const bitmapsDir = path.resolve(root, "bitmaps", themeName); + const svg = new SVGHandler.SvgDirectoryParser(svgDir); + + const png = new BitmapsGenerator(bitmapsDir); + const browser = await png.getBrowser(); + + for (let { key, content } of svg.getStatic()) { + console.log(" -> Saving", key, "..."); + + content = SVGHandler.colorSvg(content, color); + await png.generateStatic(browser, content, key); + } + + for (let { key, content } of svg.getAnimated()) { + console.log(" -> Saving", key, "..."); + + content = SVGHandler.colorSvg(content, color); + await png.generateAnimated(browser, content, key); + } + + await browser.close(); + } +}; + +main(); diff --git a/bitmapper/packages/monterey/tsconfig.json b/bitmapper/packages/monterey/tsconfig.json new file mode 100644 index 0000000..8af1cf2 --- /dev/null +++ b/bitmapper/packages/monterey/tsconfig.json @@ -0,0 +1,10 @@ + +{ + "references": [{ "path": "../core" }], + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist" + }, + "include": ["src"] +} diff --git a/builder/Makefile b/builder/Makefile index a058b83..e237698 100644 --- a/builder/Makefile +++ b/builder/Makefile @@ -15,19 +15,27 @@ THEMES = White setup: @python3 -m pip install clickgen --user -build: build_bigsur +build: build_bigsur build_monterey build_bigsur: build.py @python3 build.py -p "$(bitmaps_dir)/macOSBigSur" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) @$(foreach theme,$(THEMES), python3 build.py -p "$(bitmaps_dir)/macOSBigSur-$(theme)" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE);) +build_monterey: build.py + @python3 build.py -p "$(bitmaps_dir)/macOSMonterey" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @$(foreach theme,$(THEMES), python3 build.py -p "$(bitmaps_dir)/macOSMonterey-$(theme)" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE);) - -build_unix: build_bigsur_unix +build_unix: build_bigsur_unix build_monterey_unix build_bigsur_unix: build.py @python3 build.py unix -p "$(bitmaps_dir)/macOSBigSur" --xsizes $(X_SIZES) @$(foreach theme,$(THEMES), python3 build.py unix -p "$(bitmaps_dir)/macOSBigSur-$(theme)" --xsizes $(X_SIZES);) +build_monterey_unix: build.py + @python3 build.py unix -p "$(bitmaps_dir)/macOSMonterey" --xsizes $(X_SIZES) + @$(foreach theme,$(THEMES), python3 build.py unix -p "$(bitmaps_dir)/macOSMonterey-$(theme)" --xsizes $(X_SIZES);) -build_windows: build_bigsur_windows +build_windows: build_bigsur_windows build_monterey_windows build_bigsur_windows: build.py @python3 build.py windows -p "$(bitmaps_dir)/macOSBigSur" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) @$(foreach theme,$(THEMES), python3 build.py windows -p "$(bitmaps_dir)/macOSBigSur-$(theme)" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE);) +build_monterey_windows: build.py + @python3 build.py windows -p "$(bitmaps_dir)/macOSMonterey" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @$(foreach theme,$(THEMES), python3 build.py windows -p "$(bitmaps_dir)/macOSMonterey-$(theme)" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE);)