fix(gnome): use system-wide dconf override for blur-my-shell - #4830
Merged
Conversation
Use a system-wide GSettings override for blur-my-shell instead of the per-user setup hook. Assisted-by: MAI-Code-1-Flash via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Disabling the Blur my Shell popup blur setting via GSettings schemas does not work because the schema is only compiled inside the extension directory and is not registered globally. Using a system-wide dconf override under /etc/dconf/db/distro.d/ is a much cleaner, completely non-invasive way to define defaults for extensions and relocatable schemas. Assisted-by: Gemini 3.5 Flash via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Up to standards ✅🟢 Issues
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR moves the default blur-my-shell popup blur setting from a per-user setup hook to a system-wide dconf override, aiming to ensure the default applies even when the extension’s GSettings schema isn’t globally registered during image build.
Changes:
- Removed the per-user
dconf writefor Blur My Shell popup blur from the theming user-setup hook. - Added a system-wide dconf DB snippet setting
blur=falsefor the extension’s popup blur key.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
system_files/shared/usr/share/ublue-os/user-setup.hooks.d/10-theming.sh |
Removes per-user Blur My Shell configuration from the first-boot theming hook. |
system_files/shared/etc/dconf/db/distro.d/05-blur-my-shell-extension |
Adds a system-wide dconf override intended to set the Blur My Shell popup blur default. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
7
to
11
| set -xeuo pipefail | ||
|
|
||
| echo 'Disabling Blur my Shell popup blur by default' | ||
| dconf write /org/gnome/shell/extensions/blur-my-shell/popup/blur false | ||
|
|
||
| VEN_ID="$(cat /sys/devices/virtual/dmi/id/chassis_vendor)" | ||
|
|
||
| if [[ ":Framework:" =~ :$VEN_ID: ]]; then |
Comment on lines
+1
to
+3
| # Disable Blur my Shell popup blur by default system-wide | ||
| [org/gnome/shell/extensions/blur-my-shell/popup] | ||
| blur=false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move the default setting for Blur My Shell popup blur from a GSettings schema override to a system-wide dconf override database.
Problem
In PR #4819, we introduced a GSettings schema override at
/usr/share/glib-2.0/schemas/zz1-bluefin-extensions.gschema.override. However, this does not work becauseblur-my-shellis built from source during image creation as a git submodule and its schema is only compiled in-situ inside its individual extension folder. Since the schema is not registered globally under/usr/share/glib-2.0/schemas/, the GSettings compiler silently ignores the override.Solution
Rather than copying extension schemas globally (which is invasive and prone to conflicts), we use a system-wide dconf override under
/etc/dconf/db/distro.d/.Dconf is a simple key-value store database compiled at boot time via
dconf-update.service(dconf update) and does not validate keys against GSettings schemas during compilation. This is the exact non-invasive pattern already utilized in Bluefin for other extensions like Search Light.system_files/shared/usr/share/glib-2.0/schemas/zz1-bluefin-extensions.gschema.override.system_files/shared/etc/dconf/db/distro.d/05-blur-my-shell-extensionwithblur=false.Assisted-by: Gemini 3.5 Flash via GitHub Copilot
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com