Skip to content

fix(gnome): use system-wide dconf override for blur-my-shell - #4830

Merged
castrojo merged 2 commits into
mainfrom
castrojo/fix-blur-my-shell-gsettings
Jul 8, 2026
Merged

fix(gnome): use system-wide dconf override for blur-my-shell#4830
castrojo merged 2 commits into
mainfrom
castrojo/fix-blur-my-shell-gsettings

Conversation

@castrojo

@castrojo castrojo commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

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 because blur-my-shell is 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.

  1. Removed the failed override at system_files/shared/usr/share/glib-2.0/schemas/zz1-bluefin-extensions.gschema.override.
  2. Created a new dconf configuration file under system_files/shared/etc/dconf/db/distro.d/05-blur-my-shell-extension with blur=false.

Assisted-by: Gemini 3.5 Flash via GitHub Copilot
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

castrojo and others added 2 commits July 6, 2026 13:41
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>
@castrojo
castrojo requested a review from p5 as a code owner July 8, 2026 10:14
Copilot AI review requested due to automatic review settings July 8, 2026 10:14
@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. area/gnome Anything GNOME related labels Jul 8, 2026
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 write for Blur My Shell popup blur from the theming user-setup hook.
  • Added a system-wide dconf DB snippet setting blur=false for 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
@castrojo
castrojo merged commit 120f020 into main Jul 8, 2026
13 checks passed
@castrojo
castrojo deleted the castrojo/fix-blur-my-shell-gsettings branch July 8, 2026 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/gnome Anything GNOME related size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants