Skip to content

Commit e3a6ff7

Browse files
author
Derek
committed
fix: Replace system-monitor with Astra Monitor extension
- Replace system-monitor@gnome-shell-extensions.gcampax.github.com with monitor@astraext.github.io (Astra Monitor) for better GNOME 48+ support - Configure to show CPU and memory only (hide storage, network, GPU, sensors) - Update dconf defaults for both winlike and maclike modes - Update ui-mode utility with new extension ID and dconf keys - Update fedora install script to use gext instead of DNF packages for extension installation (GNOME 48+ compatibility)
1 parent f8627ac commit e3a6ff7

5 files changed

Lines changed: 108 additions & 58 deletions

File tree

ansible/roles/dfe_developer/files/dconf-dfe-defaults-maclike

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,20 @@ disable-user-extensions=false
88

99
# Extensions to enable by default
1010
# Dash to Dock + Logo Menu + Magic Lamp provide macOS-style experience
11-
enabled-extensions=['system-monitor@gnome-shell-extensions.gcampax.github.com', 'dash-to-dock@micxgx.gmail.com', 'logomenu@aryan_k', 'compiz-alike-magic-lamp-effect@hermes83.github.com']
11+
enabled-extensions=['monitor@astraext.github.io', 'dash-to-dock@micxgx.gmail.com', 'logomenu@aryan_k', 'compiz-alike-magic-lamp-effect@hermes83.github.com']
1212

1313
# Extensions to disable by default
1414
# Ubuntu Dock conflicts with Dash to Dock
1515
disabled-extensions=['ubuntu-dock@ubuntu.com', 'workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'apps-menu@gnome-shell-extensions.gcampax.github.com']
1616

17-
[org/gnome/shell/extensions/system-monitor]
18-
# System monitor configuration
19-
show-cpu=true
20-
show-memory=true
21-
show-download=false
22-
show-upload=false
23-
show-swap=false
17+
[org/gnome/shell/extensions/astra-monitor]
18+
# Astra Monitor configuration
19+
processor-header-show=true
20+
memory-header-show=true
21+
storage-header-show=false
22+
network-header-show=false
23+
gpu-header-show=false
24+
sensors-header-show=false
2425

2526
[org/gnome/shell/extensions/dash-to-dock]
2627
# Dash to Dock - macOS-style dock configuration

ansible/roles/dfe_developer/files/dconf-dfe-defaults-winlike

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,20 @@ disable-user-extensions=false
88

99
# Extensions to enable by default
1010
# Dash to Panel provides Windows-style taskbar
11-
enabled-extensions=['system-monitor@gnome-shell-extensions.gcampax.github.com', 'dash-to-panel@jderose9.github.com']
11+
enabled-extensions=['monitor@astraext.github.io', 'dash-to-panel@jderose9.github.com']
1212

1313
# Extensions to disable by default
1414
# Ubuntu Dock conflicts with Dash to Panel
1515
disabled-extensions=['ubuntu-dock@ubuntu.com', 'workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'apps-menu@gnome-shell-extensions.gcampax.github.com']
1616

17-
[org/gnome/shell/extensions/system-monitor]
18-
# System monitor configuration
19-
show-cpu=true
20-
show-memory=true
21-
show-download=false
22-
show-upload=false
23-
show-swap=false
17+
[org/gnome/shell/extensions/astra-monitor]
18+
# Astra Monitor configuration
19+
processor-header-show=true
20+
memory-header-show=true
21+
storage-header-show=false
22+
network-header-show=false
23+
gpu-header-show=false
24+
sensors-header-show=false
2425

2526
[org/gnome/shell/extensions/dash-to-panel]
2627
# Dash to Panel - Windows-style taskbar configuration

ansible/roles/dfe_developer/files/ui-mode

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ readonly SUPPORTED_DISTROS=(
3232
FORCE_MODE=false
3333

3434
# Extension IDs
35-
readonly EXT_SYSTEM_MONITOR="system-monitor@gnome-shell-extensions.gcampax.github.com"
35+
readonly EXT_ASTRA_MONITOR="monitor@astraext.github.io"
3636
readonly EXT_DASH_TO_PANEL="dash-to-panel@jderose9.github.com"
3737
readonly EXT_DASH_TO_DOCK="dash-to-dock@micxgx.gmail.com"
3838
readonly EXT_LOGO_MENU="logomenu@aryan_k"
@@ -42,7 +42,7 @@ readonly EXT_UBUNTU_DOCK="ubuntu-dock@ubuntu.com"
4242

4343
# All extensions we manage
4444
readonly ALL_EXTENSIONS=(
45-
"$EXT_SYSTEM_MONITOR"
45+
"$EXT_ASTRA_MONITOR"
4646
"$EXT_DASH_TO_PANEL"
4747
"$EXT_DASH_TO_DOCK"
4848
"$EXT_LOGO_MENU"
@@ -52,13 +52,13 @@ readonly ALL_EXTENSIONS=(
5252

5353
# Extensions for each mode
5454
readonly WINLIKE_EXTENSIONS=(
55-
"$EXT_SYSTEM_MONITOR"
55+
"$EXT_ASTRA_MONITOR"
5656
"$EXT_DASH_TO_PANEL"
5757
"$EXT_WINDOW_STATE"
5858
)
5959

6060
readonly MACLIKE_EXTENSIONS=(
61-
"$EXT_SYSTEM_MONITOR"
61+
"$EXT_ASTRA_MONITOR"
6262
"$EXT_DASH_TO_DOCK"
6363
"$EXT_LOGO_MENU"
6464
"$EXT_MAGIC_LAMP"
@@ -564,12 +564,13 @@ configure_common_settings() {
564564
# Enable extensions globally
565565
dconf_set "/org/gnome/shell/disable-user-extensions" "false"
566566

567-
# Configure System Monitor
568-
dconf_set "/org/gnome/shell/extensions/system-monitor/show-cpu" "true"
569-
dconf_set "/org/gnome/shell/extensions/system-monitor/show-memory" "true"
570-
dconf_set "/org/gnome/shell/extensions/system-monitor/show-download" "false"
571-
dconf_set "/org/gnome/shell/extensions/system-monitor/show-upload" "false"
572-
dconf_set "/org/gnome/shell/extensions/system-monitor/show-swap" "false"
567+
# Configure Astra Monitor
568+
dconf_set "/org/gnome/shell/extensions/astra-monitor/processor-header-show" "true"
569+
dconf_set "/org/gnome/shell/extensions/astra-monitor/memory-header-show" "true"
570+
dconf_set "/org/gnome/shell/extensions/astra-monitor/storage-header-show" "false"
571+
dconf_set "/org/gnome/shell/extensions/astra-monitor/network-header-show" "false"
572+
dconf_set "/org/gnome/shell/extensions/astra-monitor/gpu-header-show" "false"
573+
dconf_set "/org/gnome/shell/extensions/astra-monitor/sensors-header-show" "false"
573574

574575
# Dark theme preference
575576
dconf_set "/org/gnome/desktop/interface/color-scheme" "'prefer-dark'"

ansible/roles/dfe_developer/tasks/gnome_common.yml

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -78,21 +78,21 @@
7878
# Extensions are installed here; mode-specific tasks enable/configure them
7979
# ============================================================================
8080

81-
# Common extension: System Monitor
82-
- name: Install System Monitor extension via gext
81+
# Common extension: Astra Monitor (replaces system-monitor)
82+
- name: Install Astra Monitor extension via gext
8383
ansible.builtin.command:
84-
cmd: "{{ dfe_user_home }}/.local/bin/gext -F install system-monitor@gnome-shell-extensions.gcampax.github.com"
84+
cmd: "{{ dfe_user_home }}/.local/bin/gext -F install monitor@astraext.github.io"
8585
become: true
8686
become_user: "{{ dfe_actual_user }}"
87-
register: system_monitor_install
88-
changed_when: "'already installed' not in system_monitor_install.stdout"
87+
register: astra_monitor_install
88+
changed_when: "'already installed' not in astra_monitor_install.stdout"
8989
failed_when:
90-
- system_monitor_install.rc != 0
91-
- "'already installed' not in system_monitor_install.stdout"
90+
- astra_monitor_install.rc != 0
91+
- "'already installed' not in astra_monitor_install.stdout"
9292

93-
- name: Compile System Monitor schemas
93+
- name: Compile Astra Monitor schemas
9494
ansible.builtin.command:
95-
cmd: glib-compile-schemas {{ dfe_user_home }}/.local/share/gnome-shell/extensions/system-monitor@gnome-shell-extensions.gcampax.github.com/schemas/
95+
cmd: glib-compile-schemas {{ dfe_user_home }}/.local/share/gnome-shell/extensions/monitor@astraext.github.io/schemas/
9696
become: true
9797
become_user: "{{ dfe_actual_user }}"
9898
changed_when: false
@@ -185,37 +185,44 @@
185185
state: present
186186
become: false
187187

188-
- name: Configure System Monitor - show CPU
188+
- name: Configure Astra Monitor - show CPU
189189
community.general.dconf:
190-
key: "/org/gnome/shell/extensions/system-monitor/show-cpu"
190+
key: "/org/gnome/shell/extensions/astra-monitor/processor-header-show"
191191
value: "true"
192192
state: present
193193
become: false
194194

195-
- name: Configure System Monitor - show memory
195+
- name: Configure Astra Monitor - show memory
196196
community.general.dconf:
197-
key: "/org/gnome/shell/extensions/system-monitor/show-memory"
197+
key: "/org/gnome/shell/extensions/astra-monitor/memory-header-show"
198198
value: "true"
199199
state: present
200200
become: false
201201

202-
- name: Configure System Monitor - hide network
202+
- name: Configure Astra Monitor - hide storage
203203
community.general.dconf:
204-
key: "/org/gnome/shell/extensions/system-monitor/show-download"
204+
key: "/org/gnome/shell/extensions/astra-monitor/storage-header-show"
205205
value: "false"
206206
state: present
207207
become: false
208208

209-
- name: Configure System Monitor - hide upload
209+
- name: Configure Astra Monitor - hide network
210210
community.general.dconf:
211-
key: "/org/gnome/shell/extensions/system-monitor/show-upload"
211+
key: "/org/gnome/shell/extensions/astra-monitor/network-header-show"
212212
value: "false"
213213
state: present
214214
become: false
215215

216-
- name: Configure System Monitor - hide swap
216+
- name: Configure Astra Monitor - hide GPU
217217
community.general.dconf:
218-
key: "/org/gnome/shell/extensions/system-monitor/show-swap"
218+
key: "/org/gnome/shell/extensions/astra-monitor/gpu-header-show"
219+
value: "false"
220+
state: present
221+
become: false
222+
223+
- name: Configure Astra Monitor - hide sensors
224+
community.general.dconf:
225+
key: "/org/gnome/shell/extensions/astra-monitor/sensors-header-show"
219226
value: "false"
220227
state: present
221228
become: false

fedora/install-dfe-developer.sh

Lines changed: 53 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ print_info "Installing core system packages..."
138138
# Split packages into GUI and non-GUI
139139
GUI_PACKAGES=""
140140
if [ "$HAS_GNOME" = "true" ]; then
141-
GUI_PACKAGES="firefox gnome-extensions-app gnome-shell-extension-system-monitor gnome-shell-extension-appindicator gnome-shell-extension-dash-to-panel"
141+
# Note: GNOME extensions are now installed via gext, not DNF packages (for GNOME 48+ compatibility)
142+
GUI_PACKAGES="firefox gnome-extensions-app gnome-shell-extension-appindicator"
142143
fi
143144

144145
sudo dnf install -y --skip-unavailable \
@@ -254,6 +255,12 @@ python3 -m pipx ensurepath || true
254255
print_info "Installing UV..."
255256
pipx install uv || python3 -m pip install --user uv
256257

258+
# Install gext (gnome-extensions-cli) for extension management
259+
if [ "$HAS_GNOME" = "true" ]; then
260+
print_info "Installing gnome-extensions-cli (gext)..."
261+
pipx install gnome-extensions-cli || true
262+
fi
263+
257264
# Install Docker Desktop (GUI application)
258265
if [ "$HAS_GNOME" = "true" ]; then
259266
print_info "Installing Docker Desktop..."
@@ -488,26 +495,59 @@ sudo systemctl start dnf-automatic.timer
488495

489496
# Enable GNOME extensions (only if GNOME is running)
490497
if [ "$HAS_GNOME" = "true" ]; then
491-
print_info "Configuring GNOME extensions..."
492-
gsettings set org.gnome.shell enabled-extensions "['system-monitor@gnome-shell-extensions.gcampax.github.com', 'appindicatorsupport@rgcjonas.gmail.com', 'dash-to-panel@jderose9.github.com']" || true
498+
print_info "Installing GNOME extensions via gext..."
499+
GEXT_CMD="$HOME/.local/bin/gext"
500+
if [ -x "$GEXT_CMD" ]; then
501+
# Install extensions via gext (GNOME 48+ compatible)
502+
"$GEXT_CMD" -F install monitor@astraext.github.io || true
503+
"$GEXT_CMD" -F install dash-to-panel@jderose9.github.com || true
504+
505+
# Compile schemas for Astra Monitor
506+
ASTRA_SCHEMA_DIR="$HOME/.local/share/gnome-shell/extensions/monitor@astraext.github.io/schemas"
507+
if [ -d "$ASTRA_SCHEMA_DIR" ]; then
508+
glib-compile-schemas "$ASTRA_SCHEMA_DIR" || true
509+
fi
510+
511+
# Compile schemas for Dash to Panel
512+
DTP_SCHEMA_DIR="$HOME/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/schemas"
513+
if [ -d "$DTP_SCHEMA_DIR" ]; then
514+
glib-compile-schemas "$DTP_SCHEMA_DIR" || true
515+
fi
516+
else
517+
print_warn "gext not found, skipping extension installation"
518+
fi
493519

494-
# Configure system-monitor extension
495-
print_info "Configuring system-monitor extension..."
496-
gsettings set org.gnome.shell.extensions.system-monitor show-cpu true || true
497-
gsettings set org.gnome.shell.extensions.system-monitor show-memory true || true
498-
gsettings set org.gnome.shell.extensions.system-monitor show-download false || true
499-
gsettings set org.gnome.shell.extensions.system-monitor show-upload false || true
500-
gsettings set org.gnome.shell.extensions.system-monitor show-swap false || true
520+
print_info "Configuring GNOME extensions..."
521+
gsettings set org.gnome.shell enabled-extensions "['monitor@astraext.github.io', 'appindicatorsupport@rgcjonas.gmail.com', 'dash-to-panel@jderose9.github.com']" || true
522+
523+
# Configure Astra Monitor extension
524+
print_info "Configuring Astra Monitor extension..."
525+
ASTRA_SCHEMA_DIR="$HOME/.local/share/gnome-shell/extensions/monitor@astraext.github.io/schemas"
526+
if [ -d "$ASTRA_SCHEMA_DIR" ]; then
527+
export GSETTINGS_SCHEMA_DIR="$ASTRA_SCHEMA_DIR"
528+
gsettings set org.gnome.shell.extensions.astra-monitor processor-header-show true || true
529+
gsettings set org.gnome.shell.extensions.astra-monitor memory-header-show true || true
530+
gsettings set org.gnome.shell.extensions.astra-monitor storage-header-show false || true
531+
gsettings set org.gnome.shell.extensions.astra-monitor network-header-show false || true
532+
gsettings set org.gnome.shell.extensions.astra-monitor gpu-header-show false || true
533+
gsettings set org.gnome.shell.extensions.astra-monitor sensors-header-show false || true
534+
unset GSETTINGS_SCHEMA_DIR
535+
fi
501536

502537
# Enable minimize and maximize buttons on windows
503538
print_info "Configuring window title bar buttons..."
504539
gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close' || true
505540

506541
# Configure dash-to-panel monitor settings
507542
print_info "Configuring dash-to-panel monitor settings..."
508-
gsettings set org.gnome.shell.extensions.dash-to-panel primary-monitor 'MetaVendor-0x000001' || true
509-
gsettings set org.gnome.shell.extensions.dash-to-panel trans-use-custom-opacity true || true
510-
gsettings set org.gnome.shell.extensions.dash-to-panel trans-panel-opacity 0.4 || true
543+
DTP_SCHEMA_DIR="$HOME/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/schemas"
544+
if [ -d "$DTP_SCHEMA_DIR" ]; then
545+
export GSETTINGS_SCHEMA_DIR="$DTP_SCHEMA_DIR"
546+
gsettings set org.gnome.shell.extensions.dash-to-panel primary-monitor 'MetaVendor-0x000001' || true
547+
gsettings set org.gnome.shell.extensions.dash-to-panel trans-use-custom-opacity true || true
548+
gsettings set org.gnome.shell.extensions.dash-to-panel trans-panel-opacity 0.4 || true
549+
unset GSETTINGS_SCHEMA_DIR
550+
fi
511551
fi
512552

513553
# Set wallpaper if it exists (only if GNOME is running)

0 commit comments

Comments
 (0)