Devlog #4
WebOS 1 shipped, so now I’m on WebOS 2: four new features on top of the 0.2.0 baseline. First one up is a proper Settings app. Until now, the only way to reskin the desktop was typing theme aurora into the terminal like it’s 1995. Charming, but not exactly something you can show people.
What I built
The Settings window has five sections: theme, wallpaper, accent color, performance, and window layout. Everything routes through os.ts, the little kernel module that owns the document.documentElement attributes and localStorage — so whatever you pick survives a refresh, and restores before the first paint.
The wallpaper system was the fun part. The desktop background is just a stack of CSS gradients, so switching wallpapers means flipping one data-wallpaper attribute and letting App.css restyle the whole thing. I added three new ones (mesh, grid, solid) on top of the default liquid. The accent picker is even lazier: it overrides a single --accent variable on top of whatever theme is active, so any accent mixes with any theme for free.
I also gave lite mode (blur off, animations off) a manual override. It used to be purely automatic, based on hardware detection. Now if you flip it yourself, your choice wins over the heuristic.
The facepalm
Also settled something small but important: all UI strings ship in English by default, since this is a public portfolio. A language toggle can come later — English stays the default either way.
Where PrismaOS stands
- Settings app: themes, wallpapers, accent colors, lite mode, layout reset
- Every choice persists via localStorage and restores before first paint
- New wallpapers: mesh, grid, solid (liquid stays the default)
Next up
Spotlight. ctrl + K, fuzzy search over apps, themes, and wallpapers — because clicking is effort.
Comments 1
the layout looks excellent. I hope to be able to create like you in the future when I learn more
Sign in to join the conversation.