Skip to content

feat(background): choose attribution quadrant - #30

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

perlowja wants to merge 2 commits 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 2 times, most recently 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.

@perlowja

Copy link
Copy Markdown
Contributor Author

@mirkobrombin this one's been open a week with CI green and no conflicts against main -- could you take a look when you have a chance?

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:gpt-5.6-sol
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.
Move top-positioned wallpaper attribution below the panel using the
panel height tracked by AppSystem, while retaining the existing edge
gutter. Make the position row insensitive whenever wallpaper attribution
is disabled.

Assisted-by: Claude Code:gpt-5.6-sol
AI-Scope: Fixed top attribution placement to clear the panel and bound the position row sensitivity to the attribution setting.
@perlowja
perlowja force-pushed the feat/wallpaper-attribution-quadrant branch from 4548ba4 to 46fcb42 Compare September 27, 2026 14:24
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