Replies: 5 comments
|
I'd like to put up a PR for this. The minimal slice I have in mind:
One question before I build it: as a data URI the image would live inside the |
|
Draft PR up at #5911 — the minimal slice described above ( |
|
Following up on @Williawar's voluntarily closed #5911: I've implemented a focused replacement locally against main ( The slice stays on web/desktop: imported/exported theme JSON supports embedded PNG/JPEG/WebP/AVIF/GIF, a 192 KB complete data-URI cap, and opacity 0–1 (default 0.15), with fixed cover/center rendering. It preserves the existing grain layer and theme colors, drops malformed stored wallpapers, preserves wallpaper through color edits/duplicates/merges, and clears it when switching to a normal theme or cancelling its preview. The editor now includes a small image picker to choose, replace, or remove a wallpaper, with live preview and cancellation. Explicit picker edits take precedence when merging. No shared/mobile/server changes. Validation: all 4,170 web unit tests pass; web typecheck and lint pass (lint retains existing warnings). Browser checks covered import/export, color edits, preview cancellation, duplication, and merge precedence. Five files changed, including a short user-guide addition. No replacement PR opened yet; keeping the follow-up here in the existing discussion. Same palette, route, 1440 × 1000 viewport, and glass settings. The after image uses an embedded PNG at 0.15 opacity.
|
|
This gist is a demonstration of how this feature could be built or customized with the Qt/QML branch. It is an example to try and adapt, not a complete implementation of the discussion request or a feature shipped in upstream T3 Code. I put together a Qt-shell wallpaper example with a local SVG included, adjustable image strength, and a tinted timeline card. The opt-in It also accepts local image URLs and data URIs. This doesn't change the web theme-file format, so web theme export alone won't carry the wallpaper. Share the gist files together. Corrected wallpaper example on workspace 5. The image now shows through the conversation timeline; text and message backgrounds retain their normal opacity. The conversation uses demo data. Code and checks assisted by Codex. |
|
Sorry for the lack of context this is showing how using this technique in the linked discussion would help with your issue #10708 |



Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
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.
All reactions