diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1c34cee6..f5ee4be3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,8 +19,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: ["ubuntu-latest"] - # os: ["ubuntu-latest", "windows-latest", "macos-latest"] + os: ["ubuntu-latest", "windows-latest", "macos-latest"] steps: - uses: actions/checkout@v3 @@ -31,9 +30,7 @@ jobs: node-version: 16 - name: Installing Node Dependencies - run: | - rm -rf node_modules yarn.lock - yarn install --frozen-lockfile + run: yarn install --frozen-lockfile continue-on-error: false - name: Print cbmp version diff --git a/build.sh b/build.sh index f788bac3..cf8c0962 100755 --- a/build.sh +++ b/build.sh @@ -1,6 +1,16 @@ #!/bin/bash # A script for preparing binaries of Bibata Cursors, by Abdulkaiz Khatri +error() ( + set -o pipefail + "$@" 2> >(sed $'s,.*,\e[31m&\e[m,' >&2) +) + +if ! type -p ctgen >/dev/null; then + error ctgen + exit 127 # exit program with "command not found" error code +fi + declare -A names names["Bibata-Modern-Amber"]="Yellowish and rounded edge Bibata cursors." names["Bibata-Modern-Classic"]="Black and rounded edge Bibata cursors." diff --git a/build.toml b/build.toml index 6b13c128..f6af2c63 100644 --- a/build.toml +++ b/build.toml @@ -19,7 +19,7 @@ win_delay = 1 [cursors.bd_double_arrow] png = 'bd_double_arrow.png' -win_name = 'Dng1' +win_name = 'Dgn1' x11_name = 'bd_double_arrow' x11_symlinks = ["c7088f0f3e6c8088236ef8e1e3e70000", "nwse-resize", "size_fdiag"] @@ -60,7 +60,7 @@ x11_name = 'center_ptr' png = 'circle.png' x_hotspot = 42 y_hotspot = 15 -win_name = 'Unavailiable' +win_name = 'Unavailable' x11_name = 'circle' x11_symlinks = ['forbidden'] @@ -85,7 +85,6 @@ x11_symlinks = [ png = 'cross.png' x_hotspot = 98 y_hotspot = 96 -win_name = 'Cross' x11_name = 'cross' x11_symlinks = ["cross_reverse", "diamond_cross"] @@ -96,6 +95,7 @@ x11_symlinks = ["03b6e0fcb3499374a867c041f52298f0", "not-allowed"] [cursors.crosshair] png = 'crosshair.png' +win_name = 'Cross' x11_name = 'crosshair' [cursors.dnd_no_drop] @@ -133,7 +133,7 @@ x11_symlinks = ["dot_box_mask", "draped_box", "icon", "target"] [cursors.fd_double_arrow] png = 'fd_double_arrow.png' -win_name = 'Dng2' +win_name = 'Dgn2' x11_name = 'fd_double_arrow' x11_symlinks = ["fcf1c3c7cd4491d801f1e1c78f100000", "nesw-resize", "size_bdiag"] @@ -141,6 +141,7 @@ x11_symlinks = ["fcf1c3c7cd4491d801f1e1c78f100000", "nesw-resize", "size_bdiag"] png = 'grabbing.png' x_hotspot = 106 y_hotspot = 59 +win_name = 'Grabbing' x11_name = 'grabbing' x11_symlinks = [ "closedhand", @@ -153,7 +154,7 @@ x11_symlinks = [ png = 'hand1.png' x_hotspot = 117 y_hotspot = 39 -win_name = 'Move' +win_name = 'Pan' x11_name = 'hand1' x11_symlinks = ["grab", "openhand"] @@ -231,6 +232,7 @@ x11_name = 'lr_angle' png = 'move.png' x_hotspot = 99 y_hotspot = 99 +win_name = 'Move' x11_name = 'move' x11_symlinks = [ "4498f0e0c1937ffe01fd06f973665830", @@ -432,10 +434,24 @@ x11_symlinks = ["ibeam", "text"] png = 'zoom-in.png' x_hotspot = 91 y_hotspot = 90 +win_name = 'Zoom-in' x11_name = 'zoom-in' [cursors.zoom_out] png = 'zoom-out.png' x_hotspot = 89 y_hotspot = 90 +win_name = 'Zoom-out' x11_name = 'zoom-out' + +[cursors.person] +png = 'person.png' +x_hotspot = 42 +y_hotspot = 15 +win_name = 'Person' + +[cursors.pin] +png = 'pin.png' +x_hotspot = 42 +y_hotspot = 15 +win_name = 'Pin' diff --git a/package.json b/package.json index 0732a689..a975a76b 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "scripts": { "clean": "rm -rf bin bitmaps themes", "render": "npx cbmp render.json", - "build": "yarn render && bash build.sh" + "build": "bash build.sh", + "generate": "npx cbmp render.json && bash build.sh" } } diff --git a/svg/modern/person.svg b/svg/modern/person.svg new file mode 100644 index 00000000..635f71d2 --- /dev/null +++ b/svg/modern/person.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/modern/pin.svg b/svg/modern/pin.svg new file mode 100644 index 00000000..71f1b6d9 --- /dev/null +++ b/svg/modern/pin.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/original/person.svg b/svg/original/person.svg new file mode 100644 index 00000000..386ddf72 --- /dev/null +++ b/svg/original/person.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/svg/original/pin.svg b/svg/original/pin.svg new file mode 100644 index 00000000..fd68fe42 --- /dev/null +++ b/svg/original/pin.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yarn.lock b/yarn.lock index 97c4fceb..ee0f868f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -41,15 +41,15 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@puppeteer/browsers@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-1.7.0.tgz#714a25ad6963f5478e36004ea7eda254870a4659" - integrity sha512-sl7zI0IkbQGak/+IE3VEEZab5SSOlI5F6558WvzWGC1n3+C722rfewC1ZIkcF9dsoGSsxhsONoseVlNQG4wWvQ== +"@puppeteer/browsers@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-1.7.1.tgz#04f1e3aec4b87f50a7acc8f64be2149bda014f0a" + integrity sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw== dependencies: debug "4.3.4" extract-zip "2.0.1" progress "2.0.3" - proxy-agent "6.3.0" + proxy-agent "6.3.1" tar-fs "3.0.4" unbzip2-stream "1.4.3" yargs "17.7.1" @@ -208,10 +208,10 @@ chalk@^5.0.0, chalk@^5.3.0: resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== -chromium-bidi@0.4.22: - version "0.4.22" - resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.4.22.tgz#625dab72946e177f538da2d2b8a681652ef916da" - integrity sha512-wR7Y9Ioez+cNXT4ZP7VNM1HRTljpNnMSLw4/RnwhhZUP4yCU7kIQND00YiktuHekch68jklGPK1q9Jkb29+fQg== +chromium-bidi@0.4.26: + version "0.4.26" + resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.4.26.tgz#4271d2c2507ad86ad08cbccf4c7e3b8a1b1e8112" + integrity sha512-lukBGfogAI4T0y3acc86RaacqgKQve47/8pV2c+Hr1PjcICj2K4OkL3qfX3qrqxxnd4ddurFC0WBA3VCQqYeUQ== dependencies: mitt "3.0.1" @@ -223,9 +223,9 @@ cli-cursor@^4.0.0: restore-cursor "^4.0.0" cli-spinners@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" - integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== + version "2.9.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" + integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== cliui@^8.0.1: version "8.0.1" @@ -265,14 +265,14 @@ commander@^11.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== -cosmiconfig@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" - integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== +cosmiconfig@8.3.5: + version "8.3.5" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.5.tgz#3b3897ddd042d022d5a207d4c8832e54f5301977" + integrity sha512-A5Xry3xfS96wy2qbiLkQLAg4JUrR2wvfybxj6yqLmrUfMAvhS3MZxIP2oQn0grgYIvJqzpeTEWu4vK0t+12NNw== dependencies: - import-fresh "^3.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" + parse-json "^5.2.0" path-type "^4.0.0" cross-fetch@4.0.0: @@ -478,7 +478,7 @@ http-proxy-agent@^7.0.0: agent-base "^7.1.0" debug "^4.3.4" -https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.2: +https-proxy-agent@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== @@ -491,7 +491,7 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -import-fresh@^3.2.1: +import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -668,7 +668,7 @@ ora@^7.0.1: string-width "^6.1.0" strip-ansi "^7.1.0" -pac-proxy-agent@^7.0.0: +pac-proxy-agent@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz#6b9ddc002ec3ff0ba5fdf4a8a21d363bcc612d75" integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A== @@ -698,7 +698,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0: +parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -753,19 +753,19 @@ progress@2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -proxy-agent@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.3.0.tgz#72f7bb20eb06049db79f7f86c49342c34f9ba08d" - integrity sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og== +proxy-agent@6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.3.1.tgz#40e7b230552cf44fd23ffaf7c59024b692612687" + integrity sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ== dependencies: agent-base "^7.0.2" debug "^4.3.4" http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" lru-cache "^7.14.1" - pac-proxy-agent "^7.0.0" + pac-proxy-agent "^7.0.1" proxy-from-env "^1.1.0" - socks-proxy-agent "^8.0.1" + socks-proxy-agent "^8.0.2" proxy-from-env@^1.1.0: version "1.1.0" @@ -780,26 +780,26 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -puppeteer-core@21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-21.1.1.tgz#59be20b6f69acc2139ba2d9e02a33793b59254ff" - integrity sha512-Tlcajcf44zwfa9Sbwv3T8BtaNMJ69wtpHIxwl2NOBTyTK3D1wppQovXTjfw0TDOm3a16eCfQ+5BMi3vRQ4kuAQ== +puppeteer-core@21.2.1: + version "21.2.1" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-21.2.1.tgz#2b8a3d4bafa15707c74d67e24a5a10a5577e78b4" + integrity sha512-+I8EjpWFeeFKScpQiTEnC4jGve2Wr4eA9qUMoa8S317DJPm9h7wzrT4YednZK2TQZMyPtPQ2Disb/Tg02+4Naw== dependencies: - "@puppeteer/browsers" "1.7.0" - chromium-bidi "0.4.22" + "@puppeteer/browsers" "1.7.1" + chromium-bidi "0.4.26" cross-fetch "4.0.0" debug "4.3.4" devtools-protocol "0.0.1159816" - ws "8.13.0" + ws "8.14.1" puppeteer@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-21.1.1.tgz#48f895dc89f1a8874a0cefcfb05a22f979e6f9a8" - integrity sha512-2TLntjGA4qLrI9/8N0UK/5OoZJ2Ue7QgphN2SD+RsaHiha12AEiVyMGsB+i6LY1IoPAtEgYIjblQ7lw3kWDNRw== + version "21.2.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-21.2.1.tgz#9b856ba77ce6c0a0293536e3b84e3ace72752bb8" + integrity sha512-bgY/lYBH3rR+m5EP1FxzY2MRMrau7Pyq+N5YlspA63sF+cBkUiTn5WZXwXm7mEHwkkOSVi5LiS74T5QIgrSklg== dependencies: - "@puppeteer/browsers" "1.7.0" - cosmiconfig "8.2.0" - puppeteer-core "21.1.1" + "@puppeteer/browsers" "1.7.1" + cosmiconfig "8.3.5" + puppeteer-core "21.2.1" queue-tick@^1.0.1: version "1.0.1" @@ -865,7 +865,7 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socks-proxy-agent@^8.0.1, socks-proxy-agent@^8.0.2: +socks-proxy-agent@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz#5acbd7be7baf18c46a3f293a840109a430a640ad" integrity sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g== @@ -1051,10 +1051,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@8.13.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== +ws@8.14.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.1.tgz#4b9586b4f70f9e6534c7bb1d3dc0baa8b8cf01e0" + integrity sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A== y18n@^5.0.5: version "5.0.8"