Skip to content

feat(background): choose attribution quadrant - #30

Open
perlowja wants to merge 1 commit into
singularityos-lab:mainfrom
perlowja:feat/wallpaper-attribution-quadrant
Open

perlowja wants to merge 1 commit into
singularityos-lab:mainfrom
perlowja:feat/wallpaper-attribution-quadrant

Conversation

@perlowja

@perlowja perlowja commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Extends the wallpaper title/author overlay from a fixed bottom-left position to a user-selected quadrant (top-left, top-right, bottom-left, bottom-right), via a Settings row below the existing visibility toggle. Depends on singularityos-lab/singularity-desktop#262 for the wallpaper-attribution-position schema key.

An invalid/unset value falls back to bottom-left, matching current behavior -- this PR changes no default.

Real bug fixed along the way: the contrast-sampling rect (corner_luminance_frac call) always sampled the bottom-left corner of the wallpaper regardless of where the label actually renders. Extending to 4 quadrants without fixing this would have picked light/dark caption text against the wrong part of the image for top or right placements. The sample rect now mirrors to match the active quadrant.

This ports and extends a working left/right-only version to the full 4-quadrant case.

Verified: full ninja -C builddir build succeeds (0 errors, only pre-existing unrelated warnings) against a fresh subproject checkout of libsingularity + singularity-loginui.

Assisted-by: Claude Code:claude-sonnet-5
AI scope: extended halign/valign switch to 4 quadrants, fixed the contrast-sample rect to track the active quadrant, added the Settings picker row.

AI assistance: disclosed

@perlowja
perlowja force-pushed the feat/wallpaper-attribution-quadrant branch from caf6614 to 5807ef3 Compare September 18, 2026 20:13
Extends the wallpaper title/author overlay from a fixed bottom-left
position to a user-selected quadrant (top-left, top-right, bottom-left,
bottom-right), exposed as a Settings row below the existing visibility
toggle. An invalid or unset value safely falls back to bottom-left,
matching the previous fixed behavior.

The contrast-sampling rect (corner_luminance_frac call in
update_attribution()) now tracks the active quadrant too -- it previously
always sampled the bottom-left corner of the wallpaper regardless of
where the label actually sat, which would have picked light/dark text
against the wrong part of the image for any non-bottom-left placement.

Needs the wallpaper-attribution-position schema key
(singularityos-lab/singularity-desktop#262).

This ports and extends a working left/right-only version the operator
had running locally (never previously upstreamed) to the full 4-quadrant
case the current design calls for.

contrast-sample rect to track the active quadrant, added the Settings
picker row.

Assisted-by: Claude Code:claude-sonnet-5
AI-Scope: Ported and extended prior left/right attribution-position vala logic to full 4-quadrant support, plus fixed the contrast-sample rect to track the active quadrant.
@perlowja
perlowja force-pushed the feat/wallpaper-attribution-quadrant branch from 5807ef3 to 4548ba4 Compare September 18, 2026 20:14
@perlowja

Copy link
Copy Markdown
Contributor Author

@mirkobrombin gentle bump on this one when you have a moment - would love your thoughts on the attribution quadrant picker.

@mirkobrombin

Copy link
Copy Markdown
Member

Top positions end up under the panel: the background covers the whole screen (exclusive zone -1) and the label never gets margin_top. Also the position row should be insensitive while attribution is off. Will merge together with singularity-desktop#262 once fixed.

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.

2 participants