Skip to content

Add apps-icon-name pref: themed icon override for the apps button - #354

Open
svan71 wants to merge 1 commit into
icedman:mainfrom
svan71:apps-icon-name
Open

Add apps-icon-name pref: themed icon override for the apps button#354
svan71 wants to merge 1 commit into
icedman:mainfrom
svan71:apps-icon-name

Conversation

@svan71

@svan71 svan71 commented Jul 24, 2026

Copy link
Copy Markdown

Adds an apps-icon-name string preference (Tweaks page) to override the "Show Apps" button with any themed icon name — same idea as dash-to-dock's show-apps icon swap. Empty string (default) keeps the stock grid icon. The override is applied to the real ShowAppsIcon St.Icon in _inspectIcon with fallback_icon_name set to the stock icon, so a missing/misspelled theme name degrades gracefully instead of showing a broken icon. The animated renderer picks it up automatically via icon_name cloning, and the stock icon is restored on cleanup/disable.

This also completes the half-implemented string pref plumbing in PrefKeys, which the new pref needs but which affects any future string pref:

  • setValue never persisted string-type prefs to GSettings
  • connectBuilder had no string case, so text entries never saved
  • connectSettings called set_value on entry widgets that only have set_text

Tested on GNOME 50 (Arch): pref persists across sessions, icon swaps live, bad names fall back to the stock grid icon.

Like dash-to-dock's show-apps icon swap: a string pref (empty = stock
grid icon) applied to the real ShowAppsIcon St.Icon in _inspectIcon,
with fallback_icon_name so missing theme names degrade to the stock
icon. The animated renderer inherits it via icon_name cloning.
Restored on icon cleanup.

Also completes the half-implemented 'string' pref plumbing in
PrefKeys: setValue never persisted strings to GSettings, connectBuilder
had no string case (entries never saved), and connectSettings called
set_value on widgets that only have set_text.
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.

1 participant