aboutsummaryrefslogtreecommitdiff
path: root/bin/gnome-set-config
diff options
context:
space:
mode:
authorRaul Benencia <id@rbenencia.name>2026-04-13 08:11:52 -0700
committerRaul Benencia <id@rbenencia.name>2026-04-13 08:34:32 -0700
commit90c1704f870aaafac7fb181e954b29740b39f7d1 (patch)
treea2576d55271c33743a1d6ab7f6fb36b2ed733b3a /bin/gnome-set-config
parent45332a3aa41d4f7155d7816cea56bed5d04624af (diff)
org-agenda-shellHEADmaster
Initial version of org-agenda-shell. Alpha.
Diffstat (limited to 'bin/gnome-set-config')
-rwxr-xr-xbin/gnome-set-config38
1 files changed, 31 insertions, 7 deletions
diff --git a/bin/gnome-set-config b/bin/gnome-set-config
index 608c111..a3cc753 100755
--- a/bin/gnome-set-config
+++ b/bin/gnome-set-config
@@ -5,14 +5,31 @@
NUM_WORKSPACES=9
WORKSPACE_ROUTER_UUID=workspace-router@rbenencia.name
+ORG_AGENDA_INDICATOR_UUID=org-agenda-indicator@rbenencia.name
+
+ensure_extension_enabled() {
+ uuid="$1"
+ extension_dir=""
+
+ for candidate in \
+ "$HOME/.local/share/gnome-shell/extensions/$uuid" \
+ "$HOME/.local/gnome-shell/extensions/$uuid"; do
+ if [ -d "$candidate" ]; then
+ extension_dir="$candidate"
+ break
+ fi
+ done
+
+ if [ -z "$extension_dir" ]; then
+ return 0
+ fi
-gsettings set org.gnome.mutter dynamic-workspaces false
-gsettings set org.gnome.desktop.wm.preferences num-workspaces $NUM_WORKSPACES
+ if [ -d "$extension_dir/schemas" ] && command -v glib-compile-schemas >/dev/null 2>&1; then
+ glib-compile-schemas "$extension_dir/schemas" >/dev/null 2>&1 || true
+ fi
-if [ -d "$HOME/.local/share/gnome-shell/extensions/$WORKSPACE_ROUTER_UUID" ] ||
- [ -d "$HOME/.local/gnome-shell/extensions/$WORKSPACE_ROUTER_UUID" ]; then
enabled_extensions=$(
- python3 - "$WORKSPACE_ROUTER_UUID" "$(gsettings get org.gnome.shell enabled-extensions)" <<'PY'
+ python3 - "$uuid" "$(gsettings get org.gnome.shell enabled-extensions)" <<'PY'
import ast
import sys
@@ -28,9 +45,16 @@ PY
gsettings set org.gnome.shell enabled-extensions "$enabled_extensions"
if command -v gnome-extensions >/dev/null 2>&1; then
- gnome-extensions enable "$WORKSPACE_ROUTER_UUID" >/dev/null 2>&1 || true
+ gnome-extensions enable "$uuid" >/dev/null 2>&1 || true
fi
-fi
+}
+
+gsettings set org.gnome.mutter dynamic-workspaces false
+gsettings set org.gnome.desktop.wm.preferences num-workspaces $NUM_WORKSPACES
+
+ensure_extension_enabled "$WORKSPACE_ROUTER_UUID"
+ensure_extension_enabled "$ORG_AGENDA_INDICATOR_UUID"
+
# Disable the default <Super>p. I don't use it, and it's disruptive when I accidentally trigger it.
gsettings set org.gnome.mutter.keybindings switch-monitor '[]'
nihil fit ex nihilo