The new theming system in the nightlies (.1025+) is excellent — I moved my
whole custom palette into it the day it appeared. This is a request for the
one visual layer it can't express yet: a background image behind the canvas.
What I built (works today, via CSS patching)
A desktop wallpaper that sits under the whole app, with the existing glass
surfaces doing all the work of keeping content readable. The composer is the
star: its translucent glass lets the image ghost through the prompt box, and
the native glass-opacity slider already gives users the control they need.
Mechanically it's small — which is why I think it would make a clean native
feature:
- One image layer on the root (I use
html::before, position: fixed,
cover, with a theme-colored gradient over it to set the ghosting level —
the equivalent of a wallpaper opacity setting).
- Four stacked
bg-background/80 layers currently bury it (the inner flex
container, the scroll container, main, and body). They need to be
transparent when a wallpaper is active — everything above them (cards,
bubbles, composer, popovers, sidebar) keeps its own paint and stays
readable with zero further changes.
That's the entire mechanism. No component changes needed — the app's existing
glass design language already composes beautifully with an image behind it.
Proposed shape
An optional field on the theme file (or a standalone appearance setting):
opacity as "image strength" (canvas color over image) matches how people
reason about wallpapers, and keeps every theme readable by default.
- The glass-opacity setting already covers the surface-translucency half.
- Import/export keeps working — a theme with its wallpaper travels as one
file (data URI), which is a lovely property for sharing themes.
Happy to share the working CSS, screenshots, or test nightlies. Thanks for
the theme system — funny how being able to theme it the way I want made me use
t3code a lot more.
The new theming system in the nightlies (
.1025+) is excellent — I moved mywhole custom palette into it the day it appeared. This is a request for the
one visual layer it can't express yet: a background image behind the canvas.
What I built (works today, via CSS patching)
A desktop wallpaper that sits under the whole app, with the existing glass
surfaces doing all the work of keeping content readable. The composer is the
star: its translucent glass lets the image ghost through the prompt box, and
the native glass-opacity slider already gives users the control they need.
Mechanically it's small — which is why I think it would make a clean native
feature:
html::before,position: fixed,cover, with a theme-colored gradient over it to set the ghosting level —the equivalent of a wallpaper opacity setting).
bg-background/80layers currently bury it (the inner flexcontainer, the scroll container,
main, andbody). They need to betransparent when a wallpaper is active — everything above them (cards,
bubbles, composer, popovers, sidebar) keeps its own paint and stays
readable with zero further changes.
That's the entire mechanism. No component changes needed — the app's existing
glass design language already composes beautifully with an image behind it.
Proposed shape
An optional field on the theme file (or a standalone appearance setting):
{ "version": 1, "name": "Deep Veil", "appearance": "light", "colors": { /* ... */ }, "wallpaper": { "image": "<data URI or file path>", "opacity": 0.15, // how much image shows through the canvas color "fit": "cover", "position": "center" } }opacityas "image strength" (canvas color over image) matches how peoplereason about wallpapers, and keeps every theme readable by default.
file (data URI), which is a lovely property for sharing themes.
Happy to share the working CSS, screenshots, or test nightlies. Thanks for
the theme system — funny how being able to theme it the way I want made me use
t3code a lot more.