26 lines
935 B
Bash
Executable File
26 lines
935 B
Bash
Executable File
#!/bin/bash
|
|
|
|
is_installed() {
|
|
command -v gnome-shell &>/dev/null
|
|
}
|
|
|
|
run_update() {
|
|
echo "Updating GNOME extensions..."
|
|
|
|
# Reinstall gext if missing or broken (e.g. its pipx venv went stale after a Python upgrade)
|
|
if ! ~/.local/bin/gext --version &> /dev/null; then
|
|
echo "gext missing or broken, reinstalling..."
|
|
pipx uninstall gnome-extensions-cli 2>/dev/null || true
|
|
pipx install --python "$(which python3)" gnome-extensions-cli --system-site-packages
|
|
fi
|
|
|
|
# Update every enabled user extension to the latest version for this GNOME Shell.
|
|
# The filesystem backend writes directly to ~/.local/share/gnome-shell/extensions;
|
|
# GNOME Shell picks up the new code at next login.
|
|
if ~/.local/bin/gext --filesystem update --user --yes; then
|
|
echo "GNOME extensions up to date. Log out and back in to load any updated extensions."
|
|
else
|
|
echo "gext update failed; GNOME extensions were not updated."
|
|
fi
|
|
}
|