Split the bar panel into one QML file per stage

Panel.qml keeps the state, the CLI calls and the stage switch (889 lines,
was 2360); each stage is its own file taking the panel as a required
property. The omarchy installer copies every QML/JS file and clears stale
ones. tests/static.sh filters qmllint on [syntax], not the word error.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
smoido
2026-09-15 02:12:49 +03:00
co-authored by Claude Opus 5
parent 4091746d4e
commit bb01418ce0
17 changed files with 1717 additions and 1510 deletions
+3 -1
View File
@@ -160,10 +160,12 @@ QMLLINT="$(command -v qmllint || true)"
if [ -n "$QMLLINT" ]; then
# The shell's own modules (qs.*, Quickshell) do not resolve outside it, so
# only real syntax errors count; unresolved-type warnings are expected.
# qmllint reports a syntax error as a *warning* tagged [syntax] - matching
# on the word "error" instead caught every file that mentions lastError.
qml_syntax() {
local f out
for f in omarchy/smoido.claude-mode/*.qml; do
out="$("$QMLLINT" "$f" 2>&1 | grep -iE 'error|expected token|syntax|unexpected|duplicate' || true)"
out="$("$QMLLINT" "$f" 2>&1 | grep -F '[syntax]' || true)"
[ -z "$out" ] || { echo "$f"; echo "$out"; return 1; }
done
}