Skip to content

chore(wallpaper): drop the HTML/JS wallpapers, keep only Metal - #166

Merged
gapul merged 4 commits into
mainfrom
drop-html-wallpapers
Aug 8, 2026
Merged

chore(wallpaper): drop the HTML/JS wallpapers, keep only Metal#166
gapul merged 4 commits into
mainfrom
drop-html-wallpapers

Conversation

@gapul

@gapul gapul commented Aug 8, 2026

Copy link
Copy Markdown
Owner

#165 の上に積んでいる。

消す前に確認したこと

Puddle が本当に Metal を描いているかを先に確かめた。lsof -c Puddleconfigs/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.shjust fmt(shellcheck 含む)Pass
  • 削除対象を参照している箇所をリポジトリ全体で grep して、bootstrap.sh と configs/apps/README.md の2件だけだったのを確認済み

gapul added 3 commits August 8, 2026 18:26
…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.
Base automatically changed from fix-aerospace-leftovers to main August 8, 2026 10:05
#165's rename touched the same comment block that this branch deletes; keeping
the deletion.
@gapul
gapul merged commit 47ca224 into main Aug 8, 2026
3 checks passed
@gapul
gapul deleted the drop-html-wallpapers branch August 8, 2026 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant