chore(wallpaper): drop the HTML/JS wallpapers, keep only Metal - #166
Merged
Conversation
…ice label aerospace was removed in #125 but the sketchybar helpers still called /opt/homebrew/bin/aerospace. wm.sh fell back to that binary whenever OmniWM was not running, so instead of failing it quietly returned nothing and the bar went blank; refresh-displays.sh depended on it outright and could not work at all. Also two labels that #161 invalidated: `just restart sketchybar` and app_guard's restart command still pointed at homebrew.mxcl.sketchybar, which no longer exists now that the agent is org.nix-community.home.sketchybar. Puddle is added to the app_guard list — it had silently not been running, which is exactly what that list is for. Kept as-is: the aerospace_workspace_change event name, the AEROSPACE_* env vars and /tmp/sketchybar-aero-display.map. They are consistent between the firing side and the reading side, so renaming changes no behaviour and only widens the diff.
Event aerospace_workspace_change -> omniwm_workspace_change, AEROSPACE_* -> OMNIWM_*, /tmp/sketchybar-aero-display.map -> sketchybar-omniwm-display.map. Both the firing side (omniwm-event.sh) and every reading side are renamed in the same commit; a half rename would leave the event reaching nobody.
Puddle renders the .metal shaders natively — lsof shows it holding globe.metal open with the Metal shader caches, and it sits at ~1% CPU, which an HTML canvas polling state.js every 300ms would not. The six .html files and system-theme.js were left over from the WebView era and nothing reads them. With them go the state.js writer in omniwm-event.sh (a gitignored file inside the repo that the WM rewrote on every workspace switch) and its .gitignore entry. Workspace linkage now runs solely through the inputs files that the Metal contract reads. Puddle's own websites list still holds four file:// entries pointing at the deleted HTML. They are app-side state, not rendered, and harmless; clear them from Puddle's settings when convenient.
#165's rename touched the same comment block that this branch deletes; keeping the deletion.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#165 の上に積んでいる。
消す前に確認したこと
Puddle が本当に Metal を描いているかを先に確かめた。
lsof -c Puddleがconfigs/wallpaper/globe.metalを開いていて、Metal のシェーダキャッシュ (net.gapul.Puddle/com.apple.metal/) も掴んでいる。CPU は 1.1%、RSS 74MB。state.js を 300ms ごとにポーリングする HTML canvas ならこの数字にはならない。なので HTML 6本と system-theme.js は WebView 時代の残骸で、誰も読んでいない。削除した。4.5MB → 4.4MB(大半は worldmap の SDF テーブルなので容量はあまり減らない)。
一緒に落としたもの
omniwm-event.sh の state.js 書き込み。gitignore された可変ファイルがリポジトリの中に居座って、ワークスペースを切り替えるたびに書き換わっていたやつで、先日「壁紙を別リポジトリにするなら先に片付けるべき」と言っていた当のもの。HTML が無くなった時点で読み手がいないので、書き手ごと消した。.gitignore の該当行も削除。
ワークスペース連動は inputs ファイル(Puddle の wallpaper-source contract)だけに一本化された。これで configs/wallpaper に残る実行時ファイルは inputs 系のみになる。
ドキュメント
scripts/bootstrap.sh の「Plash website 再追加」は aurora.html を Browse させる手順のままだったので、.metal を選ぶ手順に書き換えた。configs/apps/README.md の Puddle の項も同様。
残っているもの
Puddle 自身の websites 設定に、消した HTML を指す file:// エントリが4件ぶら下がったまま。アプリ側の状態で、レンダリングには使われていないので実害は無い。気が向いたら Puddle の Settings から消せばいい(security-scoped bookmark を巻き込まないよう、こちらからは触っていない)。
検証
bash -n omniwm-event.sh、just fmt(shellcheck 含む)Pass