Skip to content

fix: restore Bluefin dinosaur avatars in GNOME user-account picker - #1241

Merged
github-actions[bot] merged 1 commit into
mainfrom
fix/dakota-353-dinosaur-avatars
Jul 31, 2026
Merged

fix: restore Bluefin dinosaur avatars in GNOME user-account picker#1241
github-actions[bot] merged 1 commit into
mainfrom
fix/dakota-353-dinosaur-avatars

Conversation

@castrojo

Copy link
Copy Markdown
Contributor

Summary

Fixes #353 — Bluefin's custom dinosaur-themed avatars (drawn by Jacob Schnurr,
see docs/dinosaurs.md in projectbluefin/documentation) never showed up in the
GNOME Users account-picture picker on Dakota, even though the image files are
correctly ingested from projectbluefin/common.

Root cause

bluefin-common ships these avatars under a bluefin/ category subdirectory:
/usr/share/pixmaps/faces/bluefin/*.jpg (named after GNOME's old stock face
filenames — bicycle.jpg, cat.jpg, etc. — but the artwork itself is Bluefin's
own).

GNOME's avatar pickers only look directly inside <datadir>/pixmaps/faces/:

  • cc-avatar-chooser.c (get_system_facesdirs/add_faces_from_dirs) in gnome-control-center
  • gnome-initial-setup's account page (um-photo-dialog.c)

Neither recurses into subdirectories, so the bluefin/ folder is silently
skipped and both UIs fall back to Fedora/GNOME's near-empty stock
pixmaps/faces dir. This isn't a file-ingestion bug — bluefin/common.bst
already copies the files correctly — it's that nothing tells GNOME to look in
the bluefin/ subdirectory.

Fix

org.gnome.desktop.interface has an avatar-directories GSetting (as)
specifically for this: both pickers check it first and, if set, scan every
listed directory in full. This adds a new bluefin/user-avatars.bst element
that installs a distro dconf override
(/etc/dconf/db/distro.d/07-dakota-avatar-directories) setting
avatar-directories=['/usr/share/pixmaps/faces/bluefin'], following the same
pattern already used by files/dconf/05-dakota-custom-command-menu and
06-dakota-keybindings.

Testing

  • Validated new/edited .bst YAML parses correctly and that
    bluefin/user-avatars.bst is wired into elements/bluefin/deps.bst.
  • Could not run just build/just boot-test in this environment (no
    podman/BuildStream available); requesting a maintainer/CI build to confirm
    the avatars appear in Settings → Users → account picture.

Closes #353

Assisted-by: Claude Sonnet 5 via GitHub Copilot
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

@castrojo
castrojo requested a review from a team as a code owner July 30, 2026 04:20
@github-actions

Copy link
Copy Markdown
Contributor

This PR targets main — please retarget it to testing. All content PRs (features, fixes, BST changes) land on testing. The main branch is a release bookmark only.

gnome-control-center's avatar chooser (cc-avatar-chooser.c) and
gnome-initial-setup's account page only enumerate files directly inside
<datadir>/pixmaps/faces/ - they never recurse into subdirectories.
bluefin-common ships its dinosaur-themed avatars in a bluefin/ category
subdirectory (/usr/share/pixmaps/faces/bluefin/*.jpg), so both UIs
silently fall back to Fedora/GNOME's near-empty stock faces dir and
Bluefin's avatars never appear on Dakota.

Set org.gnome.desktop.interface avatar-directories via a distro dconf
override to point both UIs at the bluefin/ subdirectory, matching the
existing dconf-override pattern used elsewhere in this repo.

Closes #353

Assisted-by: Claude Sonnet 5 via GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo
castrojo force-pushed the fix/dakota-353-dinosaur-avatars branch from f964f4d to 96da78b Compare July 30, 2026 04:23
@github-actions

Copy link
Copy Markdown
Contributor

This PR targets main — please retarget it to testing. All content PRs (features, fixes, BST changes) land on testing. The main branch is a release bookmark only.

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving. Correct diagnosis — cc-avatar-chooser.c and gnome-initial-setup only enumerate files directly in <datadir>/pixmaps/faces/ and never recurse, so avatars under a bluefin/ subdirectory were invisible. Pointing avatar-directories at the subdirectory explicitly is the supported fix, and shipping it as a dconf distro.d keyfile keeps it overridable.

The comment block in the keyfile explaining why is exactly right for something that would otherwise look like an arbitrary path.


Generated by Claude Code

@github-actions
github-actions Bot merged commit 3ebbe02 into main Jul 31, 2026
9 of 10 checks passed
ahmedadan pushed a commit to rapenne-s/dakota that referenced this pull request Aug 28, 2026
…rojectbluefin#1241) (projectbluefin#1302)

gnome-control-center's avatar chooser (cc-avatar-chooser.c) and
gnome-initial-setup's account page only enumerate files directly inside
<datadir>/pixmaps/faces/ - they never recurse into subdirectories.
bluefin-common ships its dinosaur-themed avatars in a bluefin/ category
subdirectory (/usr/share/pixmaps/faces/bluefin/*.jpg), so both UIs
silently fall back to Fedora/GNOME's near-empty stock faces dir and
Bluefin's avatars never appear on Dakota.

Set org.gnome.desktop.interface avatar-directories via a distro dconf
override to point both UIs at the bluefin/ subdirectory, matching the
existing dconf-override pattern used elsewhere in this repo.

This is a re-application of the already-reviewed fix from projectbluefin#1241 onto
testing. That PR was merged directly into main, which is a release
bookmark only (fast-forwarded from testing by execute-release.yml) and
is never used as a PR base per docs/workflow.md. The fix therefore
never reached the testing branch or any built image, which is why
projectbluefin#353 remained open.

Closes projectbluefin#353

Assisted-by: Claude Sonnet 5 via GitHub Copilot

Co-authored-by: Jorge O. Castro <jorge.castro@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
ahmedadan pushed a commit to rapenne-s/dakota that referenced this pull request Aug 28, 2026
…tar regressions (projectbluefin#1308)

* fix: restore Bluefin dinosaur avatars in GNOME user-account picker (projectbluefin#1241)

gnome-control-center's avatar chooser (cc-avatar-chooser.c) and
gnome-initial-setup's account page only enumerate files directly inside
<datadir>/pixmaps/faces/ - they never recurse into subdirectories.
bluefin-common ships its dinosaur-themed avatars in a bluefin/ category
subdirectory (/usr/share/pixmaps/faces/bluefin/*.jpg), so both UIs
silently fall back to Fedora/GNOME's near-empty stock faces dir and
Bluefin's avatars never appear on Dakota.

Set org.gnome.desktop.interface avatar-directories via a distro dconf
override to point both UIs at the bluefin/ subdirectory, matching the
existing dconf-override pattern used elsewhere in this repo.

Closes projectbluefin#353

Assisted-by: Claude Sonnet 5 via GitHub Copilot

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: add avatar-audit to catch projectbluefin#353-class dinosaur-avatar regressions

Cherry-picks the already-reviewed avatar fix from projectbluefin#1241 (which merged into
main, the release bookmark, instead of testing, so it never shipped) onto
testing where content PRs actually belong.

Adds `just avatar-audit`, wired into publish.yml next to swap-audit, to
verify the fix actually holds in the built image: the Bluefin avatar art is
present, the avatar-directories dconf override reaches the compiled distro
db, and every directory it lists exists and has faces. avatar-directories
replaces GNOME's default faces dirs rather than falling back to them, so a
stale or dropped override silently empties the picker instead of degrading
to stock icons — this catches that class of regression before it ships.

Closes projectbluefin#353

---------

Co-authored-by: Jorge O. Castro <jorge.castro@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Danathar <Danathar@users.noreply.github.com>
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