minor changes to workflows to prevent preemptive exits/failures
Lint & Format (JS/TS) / lint-format (pull_request) Successful in 12s
Lint & Format (Python) / lint-format (pull_request) Successful in 21s
Lint & Format (Rust) / lint-format (pull_request) Successful in 1m34s

This commit is contained in:
2026-05-20 00:02:14 +02:00
parent 902863e5ba
commit ca3a288eab
9 changed files with 133 additions and 142 deletions
+2 -1
View File
@@ -18,9 +18,10 @@ jobs:
git git
- name: Prettier - name: Prettier
continue-on-error: true
run: | run: |
if [ -n "$(find . \( -iname "*.js" -o -iname "*.jsx" -o -iname "*.ts" -o -iname "*.tsx" -o -iname "*.mjs" -o -iname "*.cjs" \) -print -quit)" ]; then if [ -n "$(find . \( -iname "*.js" -o -iname "*.jsx" -o -iname "*.ts" -o -iname "*.tsx" -o -iname "*.mjs" -o -iname "*.cjs" \) -print -quit)" ]; then
npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .prettierignore
else else
echo "No JS/TS files found" echo "No JS/TS files found"
fi fi
+1
View File
@@ -23,6 +23,7 @@ jobs:
pip install --no-cache-dir ruff pip install --no-cache-dir ruff
- name: Format check - name: Format check
continue-on-error: true
run: | run: |
. .venv/bin/activate . .venv/bin/activate
ruff format --check . ruff format --check .
+2
View File
@@ -18,9 +18,11 @@ jobs:
git \ git \
cargo \ cargo \
rust \ rust \
rustfmt \
rust-clippy rust-clippy
- name: Format check - name: Format check
continue-on-error: true
run: | run: |
if [ -n "$(find . -name "Cargo.toml" -print -quit)" ]; then if [ -n "$(find . -name "Cargo.toml" -print -quit)" ]; then
find . -name "Cargo.toml" -print0 | while IFS= read -r -d '' manifest; do find . -name "Cargo.toml" -print0 | while IFS= read -r -d '' manifest; do
+1
View File
@@ -1,2 +1,3 @@
.venv/
scripts/fzf.js scripts/fzf.js
scripts/fuzzysort.js scripts/fuzzysort.js
@@ -9,14 +9,8 @@ _data = {
"variants": { "variants": {
"type": "multi", "type": "multi",
"defaults": { "defaults": {
"dark": { "dark": {"m3flavor": "mocha", "m3accent": "mauve"},
"m3flavor": "mocha", "light": {"m3flavor": "latte", "m3accent": "mauve"},
"m3accent": "mauve"
},
"light": {
"m3flavor": "latte",
"m3accent": "mauve"
}
}, },
"flavors": [ "flavors": [
{ {
@@ -35,8 +29,8 @@ _data = {
"m3surfaceContainerHighest": "#dce0e8", "m3surfaceContainerHighest": "#dce0e8",
"m3error": "#d20f39", "m3error": "#d20f39",
"m3warning": "#fe640b", "m3warning": "#fe640b",
"m3info": "#1e66f5" "m3info": "#1e66f5",
} },
}, },
{ {
"id": "frappe", "id": "frappe",
@@ -54,8 +48,8 @@ _data = {
"m3surfaceContainerHighest": "#232634", "m3surfaceContainerHighest": "#232634",
"m3error": "#e78284", "m3error": "#e78284",
"m3warning": "#ef9f76", "m3warning": "#ef9f76",
"m3info": "#8caaee" "m3info": "#8caaee",
} },
}, },
{ {
"id": "macchiato", "id": "macchiato",
@@ -73,8 +67,8 @@ _data = {
"m3surfaceContainerHighest": "#181926", "m3surfaceContainerHighest": "#181926",
"m3error": "#ed8796", "m3error": "#ed8796",
"m3warning": "#f5a97f", "m3warning": "#f5a97f",
"m3info": "#8aadf4" "m3info": "#8aadf4",
} },
}, },
{ {
"id": "mocha", "id": "mocha",
@@ -92,9 +86,9 @@ _data = {
"m3surfaceContainerHighest": "#11111b", "m3surfaceContainerHighest": "#11111b",
"m3error": "#f38ba8", "m3error": "#f38ba8",
"m3warning": "#fab387", "m3warning": "#fab387",
"m3info": "#89b4fa" "m3info": "#89b4fa",
} },
} },
], ],
"accents": [ "accents": [
{ {
@@ -105,29 +99,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#e1a99d", "m3primaryContainer": "#e1a99d",
"m3secondary": "#d8c7c4", "m3secondary": "#d8c7c4",
"m3surfaceTint": "#e1a99d" "m3surfaceTint": "#e1a99d",
}, },
"frappe": { "frappe": {
"m3primary": "#f2d5cf", "m3primary": "#f2d5cf",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#b8a5a6", "m3primaryContainer": "#b8a5a6",
"m3secondary": "#a2748b", "m3secondary": "#a2748b",
"m3surfaceTint": "#b8a5a6" "m3surfaceTint": "#b8a5a6",
}, },
"macchiato": { "macchiato": {
"m3primary": "#f4dbd6", "m3primary": "#f4dbd6",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#b6a6a7", "m3primaryContainer": "#b6a6a7",
"m3secondary": "#9f6f8d", "m3secondary": "#9f6f8d",
"m3surfaceTint": "#b6a6a7" "m3surfaceTint": "#b6a6a7",
}, },
"mocha": { "mocha": {
"m3primary": "#f5e0dc", "m3primary": "#f5e0dc",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#b5a6a8", "m3primaryContainer": "#b5a6a8",
"m3secondary": "#9d6d87", "m3secondary": "#9d6d87",
"m3surfaceTint": "#b5a6a8" "m3surfaceTint": "#b5a6a8",
} },
}, },
{ {
"id": "flamingo", "id": "flamingo",
@@ -137,29 +131,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#e29c9d", "m3primaryContainer": "#e29c9d",
"m3secondary": "#d7c3c4", "m3secondary": "#d7c3c4",
"m3surfaceTint": "#e29c9d" "m3surfaceTint": "#e29c9d",
}, },
"frappe": { "frappe": {
"m3primary": "#eebebe", "m3primary": "#eebebe",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#b5949a", "m3primaryContainer": "#b5949a",
"m3secondary": "#9d6b80", "m3secondary": "#9d6b80",
"m3surfaceTint": "#b5949a" "m3surfaceTint": "#b5949a",
}, },
"macchiato": { "macchiato": {
"m3primary": "#f0c6c6", "m3primary": "#f0c6c6",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#b3979c", "m3primaryContainer": "#b3979c",
"m3secondary": "#996780", "m3secondary": "#996780",
"m3surfaceTint": "#b3979c" "m3surfaceTint": "#b3979c",
}, },
"mocha": { "mocha": {
"m3primary": "#f2cdcd", "m3primary": "#f2cdcd",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#b3999e", "m3primaryContainer": "#b3999e",
"m3secondary": "#98667c", "m3secondary": "#98667c",
"m3surfaceTint": "#b3999e" "m3surfaceTint": "#b3999e",
} },
}, },
{ {
"id": "pink", "id": "pink",
@@ -169,29 +163,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#eb9bd7", "m3primaryContainer": "#eb9bd7",
"m3secondary": "#d9c7d5", "m3secondary": "#d9c7d5",
"m3surfaceTint": "#eb9bd7" "m3surfaceTint": "#eb9bd7",
}, },
"frappe": { "frappe": {
"m3primary": "#f4b8e4", "m3primary": "#f4b8e4",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#b990b5", "m3primaryContainer": "#b990b5",
"m3secondary": "#996e9e", "m3secondary": "#996e9e",
"m3surfaceTint": "#b990b5" "m3surfaceTint": "#b990b5",
}, },
"macchiato": { "macchiato": {
"m3primary": "#f5bde6", "m3primary": "#f5bde6",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#b791b2", "m3primaryContainer": "#b791b2",
"m3secondary": "#95689a", "m3secondary": "#95689a",
"m3surfaceTint": "#b791b2" "m3surfaceTint": "#b791b2",
}, },
"mocha": { "mocha": {
"m3primary": "#f5c2e7", "m3primary": "#f5c2e7",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#b591b0", "m3primaryContainer": "#b591b0",
"m3secondary": "#966597", "m3secondary": "#966597",
"m3surfaceTint": "#b591b0" "m3surfaceTint": "#b591b0",
} },
}, },
{ {
"id": "mauve", "id": "mauve",
@@ -201,29 +195,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#a670f1", "m3primaryContainer": "#a670f1",
"m3secondary": "#c2b8d0", "m3secondary": "#c2b8d0",
"m3surfaceTint": "#a670f1" "m3surfaceTint": "#a670f1",
}, },
"frappe": { "frappe": {
"m3primary": "#ca9ee6", "m3primary": "#ca9ee6",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#9c7eb6", "m3primaryContainer": "#9c7eb6",
"m3secondary": "#7d6799", "m3secondary": "#7d6799",
"m3surfaceTint": "#9c7eb6" "m3surfaceTint": "#9c7eb6",
}, },
"macchiato": { "macchiato": {
"m3primary": "#c6a0f6", "m3primary": "#c6a0f6",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#967cbe", "m3primaryContainer": "#967cbe",
"m3secondary": "#766597", "m3secondary": "#766597",
"m3surfaceTint": "#967cbe" "m3surfaceTint": "#967cbe",
}, },
"mocha": { "mocha": {
"m3primary": "#cba6f7", "m3primary": "#cba6f7",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#977ebb", "m3primaryContainer": "#977ebb",
"m3secondary": "#756294", "m3secondary": "#756294",
"m3surfaceTint": "#977ebb" "m3surfaceTint": "#977ebb",
} },
}, },
{ {
"id": "red", "id": "red",
@@ -233,29 +227,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#da5371", "m3primaryContainer": "#da5371",
"m3secondary": "#c0a0a8", "m3secondary": "#c0a0a8",
"m3surfaceTint": "#da5371" "m3surfaceTint": "#da5371",
}, },
"frappe": { "frappe": {
"m3primary": "#e78284", "m3primary": "#e78284",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#b06a72", "m3primaryContainer": "#b06a72",
"m3secondary": "#8b5d66", "m3secondary": "#8b5d66",
"m3surfaceTint": "#b06a72" "m3surfaceTint": "#b06a72",
}, },
"macchiato": { "macchiato": {
"m3primary": "#ed8796", "m3primary": "#ed8796",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#b16b7a", "m3primaryContainer": "#b16b7a",
"m3secondary": "#865a69", "m3secondary": "#865a69",
"m3surfaceTint": "#b16b7a" "m3surfaceTint": "#b16b7a",
}, },
"mocha": { "mocha": {
"m3primary": "#f38ba8", "m3primary": "#f38ba8",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#b46b84", "m3primaryContainer": "#b46b84",
"m3secondary": "#85596b", "m3secondary": "#85596b",
"m3surfaceTint": "#b46b84" "m3surfaceTint": "#b46b84",
} },
}, },
{ {
"id": "maroon", "id": "maroon",
@@ -265,29 +259,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#e87883", "m3primaryContainer": "#e87883",
"m3secondary": "#cfb7ba", "m3secondary": "#cfb7ba",
"m3surfaceTint": "#e87883" "m3surfaceTint": "#e87883",
}, },
"frappe": { "frappe": {
"m3primary": "#ea999c", "m3primary": "#ea999c",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#b27a83", "m3primaryContainer": "#b27a83",
"m3secondary": "#92626f", "m3secondary": "#92626f",
"m3surfaceTint": "#b27a83" "m3surfaceTint": "#b27a83",
}, },
"macchiato": { "macchiato": {
"m3primary": "#ee99a0", "m3primary": "#ee99a0",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#b27781", "m3primaryContainer": "#b27781",
"m3secondary": "#8c5e6c", "m3secondary": "#8c5e6c",
"m3surfaceTint": "#b27781" "m3surfaceTint": "#b27781",
}, },
"mocha": { "mocha": {
"m3primary": "#eba0ac", "m3primary": "#eba0ac",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#ae7987", "m3primaryContainer": "#ae7987",
"m3secondary": "#895b6c", "m3secondary": "#895b6c",
"m3surfaceTint": "#ae7987" "m3surfaceTint": "#ae7987",
} },
}, },
{ {
"id": "peach", "id": "peach",
@@ -297,29 +291,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#f98e51", "m3primaryContainer": "#f98e51",
"m3secondary": "#c9b7ad", "m3secondary": "#c9b7ad",
"m3surfaceTint": "#f98e51" "m3surfaceTint": "#f98e51",
}, },
"frappe": { "frappe": {
"m3primary": "#ef9f76", "m3primary": "#ef9f76",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#b67f68", "m3primaryContainer": "#b67f68",
"m3secondary": "#8f6a5f", "m3secondary": "#8f6a5f",
"m3surfaceTint": "#b67f68" "m3surfaceTint": "#b67f68",
}, },
"macchiato": { "macchiato": {
"m3primary": "#f5a97f", "m3primary": "#f5a97f",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#b7836a", "m3primaryContainer": "#b7836a",
"m3secondary": "#8c695e", "m3secondary": "#8c695e",
"m3surfaceTint": "#b7836a" "m3surfaceTint": "#b7836a",
}, },
"mocha": { "mocha": {
"m3primary": "#fab387", "m3primary": "#fab387",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#b8876d", "m3primaryContainer": "#b8876d",
"m3secondary": "#8b6a5d", "m3secondary": "#8b6a5d",
"m3surfaceTint": "#b8876d" "m3surfaceTint": "#b8876d",
} },
}, },
{ {
"id": "yellow", "id": "yellow",
@@ -329,29 +323,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#e4ac5d", "m3primaryContainer": "#e4ac5d",
"m3secondary": "#c6baaa", "m3secondary": "#c6baaa",
"m3surfaceTint": "#e4ac5d" "m3surfaceTint": "#e4ac5d",
}, },
"frappe": { "frappe": {
"m3primary": "#e5c890", "m3primary": "#e5c890",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#af9b7a", "m3primaryContainer": "#af9b7a",
"m3secondary": "#948062", "m3secondary": "#948062",
"m3surfaceTint": "#af9b7a" "m3surfaceTint": "#af9b7a",
}, },
"macchiato": { "macchiato": {
"m3primary": "#eed49f", "m3primary": "#eed49f",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#b2a181", "m3primaryContainer": "#b2a181",
"m3secondary": "#947e62", "m3secondary": "#947e62",
"m3surfaceTint": "#b2a181" "m3surfaceTint": "#b2a181",
}, },
"mocha": { "mocha": {
"m3primary": "#f9e2af", "m3primary": "#f9e2af",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#b8a889", "m3primaryContainer": "#b8a889",
"m3secondary": "#978265", "m3secondary": "#978265",
"m3surfaceTint": "#b8a889" "m3surfaceTint": "#b8a889",
} },
}, },
{ {
"id": "green", "id": "green",
@@ -361,29 +355,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#74b867", "m3primaryContainer": "#74b867",
"m3secondary": "#9fbd9b", "m3secondary": "#9fbd9b",
"m3surfaceTint": "#74b867" "m3surfaceTint": "#74b867",
}, },
"frappe": { "frappe": {
"m3primary": "#a6d189", "m3primary": "#a6d189",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#83a275", "m3primaryContainer": "#83a275",
"m3secondary": "#648e5e", "m3secondary": "#648e5e",
"m3surfaceTint": "#83a275" "m3surfaceTint": "#83a275",
}, },
"macchiato": { "macchiato": {
"m3primary": "#a6da95", "m3primary": "#a6da95",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#80a57a", "m3primaryContainer": "#80a57a",
"m3secondary": "#5c8a61", "m3secondary": "#5c8a61",
"m3surfaceTint": "#80a57a" "m3surfaceTint": "#80a57a",
}, },
"mocha": { "mocha": {
"m3primary": "#a6e3a1", "m3primary": "#a6e3a1",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#7ea87f", "m3primaryContainer": "#7ea87f",
"m3secondary": "#5b8964", "m3secondary": "#5b8964",
"m3surfaceTint": "#7ea87f" "m3surfaceTint": "#7ea87f",
} },
}, },
{ {
"id": "teal", "id": "teal",
@@ -393,29 +387,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#57aeb4", "m3primaryContainer": "#57aeb4",
"m3secondary": "#93b4b7", "m3secondary": "#93b4b7",
"m3surfaceTint": "#57aeb4" "m3surfaceTint": "#57aeb4",
}, },
"frappe": { "frappe": {
"m3primary": "#81c8be", "m3primary": "#81c8be",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#699b9a", "m3primaryContainer": "#699b9a",
"m3secondary": "#588084", "m3secondary": "#588084",
"m3surfaceTint": "#699b9a" "m3surfaceTint": "#699b9a",
}, },
"macchiato": { "macchiato": {
"m3primary": "#8bd5ca", "m3primary": "#8bd5ca",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#6da29f", "m3primaryContainer": "#6da29f",
"m3secondary": "#577e83", "m3secondary": "#577e83",
"m3surfaceTint": "#6da29f" "m3surfaceTint": "#6da29f",
}, },
"mocha": { "mocha": {
"m3primary": "#94e2d5", "m3primary": "#94e2d5",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#71a8a4", "m3primaryContainer": "#71a8a4",
"m3secondary": "#588284", "m3secondary": "#588284",
"m3surfaceTint": "#71a8a4" "m3surfaceTint": "#71a8a4",
} },
}, },
{ {
"id": "sky", "id": "sky",
@@ -425,29 +419,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#4abcea", "m3primaryContainer": "#4abcea",
"m3secondary": "#a4b9c2", "m3secondary": "#a4b9c2",
"m3surfaceTint": "#4abcea" "m3surfaceTint": "#4abcea",
}, },
"frappe": { "frappe": {
"m3primary": "#99d1db", "m3primary": "#99d1db",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#79a2af", "m3primaryContainer": "#79a2af",
"m3secondary": "#628494", "m3secondary": "#628494",
"m3surfaceTint": "#79a2af" "m3surfaceTint": "#79a2af",
}, },
"macchiato": { "macchiato": {
"m3primary": "#91d7e3", "m3primary": "#91d7e3",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#71a3b0", "m3primaryContainer": "#71a3b0",
"m3secondary": "#5e7e8c", "m3secondary": "#5e7e8c",
"m3surfaceTint": "#71a3b0" "m3surfaceTint": "#71a3b0",
}, },
"mocha": { "mocha": {
"m3primary": "#89dceb", "m3primary": "#89dceb",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#69a3b3", "m3primaryContainer": "#69a3b3",
"m3secondary": "#5a7b88", "m3secondary": "#5a7b88",
"m3surfaceTint": "#69a3b3" "m3surfaceTint": "#69a3b3",
} },
}, },
{ {
"id": "sapphire", "id": "sapphire",
@@ -457,29 +451,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#5db8c8", "m3primaryContainer": "#5db8c8",
"m3secondary": "#9eb9be", "m3secondary": "#9eb9be",
"m3surfaceTint": "#5db8c8" "m3surfaceTint": "#5db8c8",
}, },
"frappe": { "frappe": {
"m3primary": "#85c1dc", "m3primary": "#85c1dc",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#6b96af", "m3primaryContainer": "#6b96af",
"m3secondary": "#5e7b8e", "m3secondary": "#5e7b8e",
"m3surfaceTint": "#6b96af" "m3surfaceTint": "#6b96af",
}, },
"macchiato": { "macchiato": {
"m3primary": "#7dc4e4", "m3primary": "#7dc4e4",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#6396b1", "m3primaryContainer": "#6396b1",
"m3secondary": "#5a7486", "m3secondary": "#5a7486",
"m3surfaceTint": "#6396b1" "m3surfaceTint": "#6396b1",
}, },
"mocha": { "mocha": {
"m3primary": "#74c7ec", "m3primary": "#74c7ec",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#5a95b4", "m3primaryContainer": "#5a95b4",
"m3secondary": "#567080", "m3secondary": "#567080",
"m3surfaceTint": "#5a95b4" "m3surfaceTint": "#5a95b4",
} },
}, },
{ {
"id": "blue", "id": "blue",
@@ -489,29 +483,29 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#5c90f5", "m3primaryContainer": "#5c90f5",
"m3secondary": "#b1bacb", "m3secondary": "#b1bacb",
"m3surfaceTint": "#5c90f5" "m3surfaceTint": "#5c90f5",
}, },
"frappe": { "frappe": {
"m3primary": "#8caaee", "m3primary": "#8caaee",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#7086bc", "m3primaryContainer": "#7086bc",
"m3secondary": "#637195", "m3secondary": "#637195",
"m3surfaceTint": "#7086bc" "m3surfaceTint": "#7086bc",
}, },
"macchiato": { "macchiato": {
"m3primary": "#8aadf4", "m3primary": "#8aadf4",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#6c85bc", "m3primaryContainer": "#6c85bc",
"m3secondary": "#5f6d8f", "m3secondary": "#5f6d8f",
"m3surfaceTint": "#6c85bc" "m3surfaceTint": "#6c85bc",
}, },
"mocha": { "mocha": {
"m3primary": "#89b4fa", "m3primary": "#89b4fa",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#6987bd", "m3primaryContainer": "#6987bd",
"m3secondary": "#5d6c8b", "m3secondary": "#5d6c8b",
"m3surfaceTint": "#6987bd" "m3surfaceTint": "#6987bd",
} },
}, },
{ {
"id": "lavender", "id": "lavender",
@@ -521,30 +515,30 @@ _data = {
"m3primaryText": "#eff1f5", "m3primaryText": "#eff1f5",
"m3primaryContainer": "#97a7fb", "m3primaryContainer": "#97a7fb",
"m3secondary": "#cdcfdd", "m3secondary": "#cdcfdd",
"m3surfaceTint": "#97a7fb" "m3surfaceTint": "#97a7fb",
}, },
"frappe": { "frappe": {
"m3primary": "#babbf1", "m3primary": "#babbf1",
"m3primaryText": "#303446", "m3primaryText": "#303446",
"m3primaryContainer": "#9192be", "m3primaryContainer": "#9192be",
"m3secondary": "#7175a1", "m3secondary": "#7175a1",
"m3surfaceTint": "#9192be" "m3surfaceTint": "#9192be",
}, },
"macchiato": { "macchiato": {
"m3primary": "#b7bdf8", "m3primary": "#b7bdf8",
"m3primaryText": "#24273a", "m3primaryText": "#24273a",
"m3primaryContainer": "#8b91bf", "m3primaryContainer": "#8b91bf",
"m3secondary": "#6b709d", "m3secondary": "#6b709d",
"m3surfaceTint": "#8b91bf" "m3surfaceTint": "#8b91bf",
}, },
"mocha": { "mocha": {
"m3primary": "#b4befe", "m3primary": "#b4befe",
"m3primaryText": "#1e1e2e", "m3primaryText": "#1e1e2e",
"m3primaryContainer": "#878ec0", "m3primaryContainer": "#878ec0",
"m3secondary": "#676d99", "m3secondary": "#676d99",
"m3surfaceTint": "#878ec0" "m3surfaceTint": "#878ec0",
} },
} },
] ],
} },
} }
+27 -31
View File
@@ -23,64 +23,71 @@ app = typer.Typer()
@app.command() @app.command()
def generate( def generate(
# image inputs (optional - used for image mode) # image inputs (optional - used for image mode)
image_path: Optional[Path] = typer.Option( image_path: Optional[Path] = typer.Option(None, help="Path to source image. Required for image mode."),
None, help="Path to source image. Required for image mode."),
scheme: Optional[str] = typer.Option( scheme: Optional[str] = typer.Option(
None, help="Color scheme algorithm to use for image mode. Ignored in preset mode."), None, help="Color scheme algorithm to use for image mode. Ignored in preset mode."
),
# preset inputs (optional - used for preset mode) # preset inputs (optional - used for preset mode)
preset: Optional[str] = typer.Option( preset: Optional[str] = typer.Option(
None, help="Name of a premade scheme in this format: <preset_name>:<preset_flavor>"), None, help="Name of a premade scheme in this format: <preset_name>:<preset_flavor>"
mode: Optional[str] = typer.Option( ),
None, help="Mode of the preset scheme (dark or light)."), mode: Optional[str] = typer.Option(None, help="Mode of the preset scheme (dark or light)."),
): ):
HOME = str(os.getenv("HOME")) HOME = str(os.getenv("HOME"))
OUTPUT = Path(HOME + "/.local/state/zshell/scheme.json") OUTPUT = Path(HOME + "/.local/state/zshell/scheme.json")
SEQ_STATE = Path(HOME + "/.local/state/zshell/sequences.txt") SEQ_STATE = Path(HOME + "/.local/state/zshell/sequences.txt")
THUMB_PATH = Path(HOME + THUMB_PATH = Path(HOME + "/.cache/zshell/imagecache/thumbnail.jpg")
"/.cache/zshell/imagecache/thumbnail.jpg") WALL_DIR_PATH = Path(HOME + "/.local/state/zshell/wallpaper_path.json")
WALL_DIR_PATH = Path(HOME +
"/.local/state/zshell/wallpaper_path.json")
TEMPLATE_DIR = Path(HOME + "/.config/zshell/templates") TEMPLATE_DIR = Path(HOME + "/.config/zshell/templates")
WALL_PATH = Path() WALL_PATH = Path()
CONFIG = Path(HOME + "/.config/zshell/config.json") CONFIG = Path(HOME + "/.config/zshell/config.json")
if preset is not None and image_path is not None: if preset is not None and image_path is not None:
raise typer.BadParameter( raise typer.BadParameter("Use either --image-path or --preset, not both.")
"Use either --image-path or --preset, not both.")
def get_scheme_class(scheme_name: str): def get_scheme_class(scheme_name: str):
match scheme_name: match scheme_name:
case "fruit-salad": case "fruit-salad":
from materialyoucolor.scheme.scheme_fruit_salad import SchemeFruitSalad from materialyoucolor.scheme.scheme_fruit_salad import SchemeFruitSalad
return SchemeFruitSalad return SchemeFruitSalad
case "expressive": case "expressive":
from materialyoucolor.scheme.scheme_expressive import SchemeExpressive from materialyoucolor.scheme.scheme_expressive import SchemeExpressive
return SchemeExpressive return SchemeExpressive
case "monochrome": case "monochrome":
from materialyoucolor.scheme.scheme_monochrome import SchemeMonochrome from materialyoucolor.scheme.scheme_monochrome import SchemeMonochrome
return SchemeMonochrome return SchemeMonochrome
case "rainbow": case "rainbow":
from materialyoucolor.scheme.scheme_rainbow import SchemeRainbow from materialyoucolor.scheme.scheme_rainbow import SchemeRainbow
return SchemeRainbow return SchemeRainbow
case "tonal-spot": case "tonal-spot":
from materialyoucolor.scheme.scheme_tonal_spot import SchemeTonalSpot from materialyoucolor.scheme.scheme_tonal_spot import SchemeTonalSpot
return SchemeTonalSpot return SchemeTonalSpot
case "neutral": case "neutral":
from materialyoucolor.scheme.scheme_neutral import SchemeNeutral from materialyoucolor.scheme.scheme_neutral import SchemeNeutral
return SchemeNeutral return SchemeNeutral
case "fidelity": case "fidelity":
from materialyoucolor.scheme.scheme_fidelity import SchemeFidelity from materialyoucolor.scheme.scheme_fidelity import SchemeFidelity
return SchemeFidelity return SchemeFidelity
case "content": case "content":
from materialyoucolor.scheme.scheme_content import SchemeContent from materialyoucolor.scheme.scheme_content import SchemeContent
return SchemeContent return SchemeContent
case "vibrant": case "vibrant":
from materialyoucolor.scheme.scheme_vibrant import SchemeVibrant from materialyoucolor.scheme.scheme_vibrant import SchemeVibrant
return SchemeVibrant return SchemeVibrant
case _: case _:
from materialyoucolor.scheme.scheme_fruit_salad import SchemeFruitSalad from materialyoucolor.scheme.scheme_fruit_salad import SchemeFruitSalad
return SchemeFruitSalad return SchemeFruitSalad
def hex_to_hct(hex_color: str) -> Hct: def hex_to_hct(hex_color: str) -> Hct:
@@ -163,16 +170,11 @@ def generate(
def harmonize(from_hct: Hct, to_hct: Hct, tone_boost: float) -> Hct: def harmonize(from_hct: Hct, to_hct: Hct, tone_boost: float) -> Hct:
diff = difference_degrees(from_hct.hue, to_hct.hue) diff = difference_degrees(from_hct.hue, to_hct.hue)
rotation = min(diff * 0.8, 100) rotation = min(diff * 0.8, 100)
output_hue = sanitize_degrees_double( output_hue = sanitize_degrees_double(from_hct.hue + rotation * rotation_direction(from_hct.hue, to_hct.hue))
from_hct.hue
+ rotation * rotation_direction(from_hct.hue, to_hct.hue)
)
tone = max(0.0, min(100.0, from_hct.tone * (1 + tone_boost))) tone = max(0.0, min(100.0, from_hct.tone * (1 + tone_boost)))
return Hct.from_hct(output_hue, from_hct.chroma, tone) return Hct.from_hct(output_hue, from_hct.chroma, tone)
def terminal_palette( def terminal_palette(colors: dict[str, str], mode: str, variant: str) -> dict[str, str]:
colors: dict[str, str], mode: str, variant: str
) -> dict[str, str]:
light = mode.lower() == "light" light = mode.lower() == "light"
key_hex = ( key_hex = (
@@ -307,7 +309,7 @@ def generate(
"seed": seed.to_int(), "seed": seed.to_int(),
"flavor": flavor, "flavor": flavor,
"variant": variant, "variant": variant,
"colors": colors "colors": colors,
} }
for k, v in colors.items(): for k, v in colors.items():
@@ -406,8 +408,7 @@ def generate(
template = env.from_string(body) template = env.from_string(body)
text = template.render(**context) text = template.render(**context)
except Exception as e: except Exception as e:
raise RuntimeError( raise RuntimeError(f"Template render failed for '{rel}': {e}") from e
f"Template render failed for '{rel}': {e}") from e
out_path.write_text(text, encoding="utf-8") out_path.write_text(text, encoding="utf-8")
@@ -435,18 +436,13 @@ def generate(
try: try:
return PRESETS[name].primary return PRESETS[name].primary
except KeyError: except KeyError:
raise typer.BadParameter( raise typer.BadParameter(f"Preset '{name}' not found. Available presets: {', '.join(PRESETS.keys())}")
f"Preset '{name}' not found. Available presets: {', '.join(PRESETS.keys())}")
def generate_color_scheme(seed: Hct, mode: str, scheme_class) -> dict[str, str]: def generate_color_scheme(seed: Hct, mode: str, scheme_class) -> dict[str, str]:
is_dark = mode.lower() == "dark" is_dark = mode.lower() == "dark"
scheme = scheme_class( scheme = scheme_class(seed, is_dark, 0.0)
seed,
is_dark,
0.0
)
color_dict = {} color_dict = {}
for color in vars(MaterialDynamicColors).keys(): for color in vars(MaterialDynamicColors).keys():
@@ -499,7 +495,7 @@ def generate(
"mode": effective_mode, "mode": effective_mode,
"variant": scheme, "variant": scheme,
"colors": colors, "colors": colors,
"seed": seed.to_int() "seed": seed.to_int(),
} }
if TEMPLATE_DIR is not None: if TEMPLATE_DIR is not None:
@@ -511,7 +507,7 @@ def generate(
wallpaper_path=wp, wallpaper_path=wp,
name=name, name=name,
flavor=flavor, flavor=flavor,
variant=scheme variant=scheme,
) )
rendered = render_all_templates( rendered = render_all_templates(
+2 -4
View File
@@ -8,11 +8,9 @@ app = typer.Typer()
@app.command() @app.command()
def start(): def start():
subprocess.run(args + ["ipc"] + ["call"] + subprocess.run(args + ["ipc"] + ["call"] + ["picker"] + ["open"], check=True)
["picker"] + ["open"], check=True)
@app.command() @app.command()
def start_freeze(): def start_freeze():
subprocess.run(args + ["ipc"] + ["call"] + subprocess.run(args + ["ipc"] + ["call"] + ["picker"] + ["openFreeze"], check=True)
["picker"] + ["openFreeze"], check=True)
+1 -2
View File
@@ -33,5 +33,4 @@ def lock():
@app.command() @app.command()
def call(target: str, method: str, method_args: list[str] = typer.Argument(None)): def call(target: str, method: str, method_args: list[str] = typer.Argument(None)):
subprocess.run(args + ["ipc"] + ["call"] + [target] + subprocess.run(args + ["ipc"] + ["call"] + [target] + [method] + method_args, check=True)
[method] + method_args, check=True)
+4 -5
View File
@@ -12,8 +12,7 @@ app = typer.Typer()
@app.command() @app.command()
def set(wallpaper: Path): def set(wallpaper: Path):
subprocess.run(args + ["ipc"] + ["call"] + subprocess.run(args + ["ipc"] + ["call"] + ["wallpaper"] + ["set"] + [wallpaper], check=True)
["wallpaper"] + ["set"] + [wallpaper], check=True)
@app.command() @app.command()
@@ -26,15 +25,15 @@ def lockscreen(
Path, Path,
typer.Option(), typer.Option(),
], ],
blur_amount: int = 20 blur_amount: int = 20,
): ):
img = Image.open(input_image) img = Image.open(input_image)
size = img.size size = img.size
if (blur_amount == 0): if blur_amount == 0:
img.save(output_path, "PNG") img.save(output_path, "PNG")
return return
if (size[0] < 3840 or size[1] < 2160): if size[0] < 3840 or size[1] < 2160:
img = img.resize((size[0] // 2, size[1] // 2), Image.NEAREST) img = img.resize((size[0] // 2, size[1] // 2), Image.NEAREST)
else: else:
img = img.resize((size[0] // 4, size[1] // 4), Image.NEAREST) img = img.resize((size[0] // 4, size[1] // 4), Image.NEAREST)