diff options
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/gnome-set-config | 38 |
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 '[]' |
