Skip to content

Feature request: wallpaper (background image) support in the new theme system #5661

Description

@Williawar

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:

  1. 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).
  2. 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):

{
  "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"
  }
}
  • 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions