Browse Source

Update 'README.md'

master
pvincent 2 months ago
parent
commit
f9c0897624
  1. 58
      extensions.bash

58
extensions.bash

@ -0,0 +1,58 @@
#!/bin/bash
# CONSTANTS
array=(
netspeedsimplified@prateekmedia.extension
runcat@kolesnikov.se
dash-to-dock@micxgx.gmail.com
appindicatorsupport@rgcjonas.gmail.com
weeks-start-on-monday@extensions.gnome-shell.fifi.org
)
# FUNCTIONS
function find_extension_by_uuid {
local uuid=$1
local page=${2:-1}
JSON=$(curl -Lfs "https://extensions.gnome.org/extension-query/?search='${i}'&page=$page")
local numpages=$(echo $JSON | jq ".numpages")
local extension=$(echo $JSON | jq ".extensions[] | select(.uuid==\"$i\") ")
if [[ -z $extension ]]; then
page=$((page + 1))
[[ $page -gt $numpages ]] && echo "not found, exiting!" && exit 2
echo >&2 "not found, trying page #$page..."
find_extension_by_uuid "$uuid" "$page"
else
echo "$extension"
fi
}
# MAIN
set -Eue
gnome_version=$(gnome-extensions version | cut -d. -f1)
echo "GNOME=$gnome_version"
for i in "${array[@]}"; do
page=1
if ! gnome-extensions list | grep --quiet "$i"; then
EXTENSION=$(find_extension_by_uuid "$i")
name=$(echo "$i" | sed 's/@//')
version_tag=$(echo "$EXTENSION" | jq ".shell_version_map.\"$gnome_version\".version")
echo "$i => $name => $version_tag"
zip_file="$i.zip"
URL="https://extensions.gnome.org/extension-data/$name.v$version_tag.shell-extension.zip"
wget -O "$zip_file" "$URL"
gnome-extensions install --force "$zip_file"
rm "$zip_file"
# interactive ONLY!
busctl call --timeout 20 --expect-reply=yes --user org.gnome.Shell.Extensions /org/gnome/Shell/Extensions org.gnome.Shell.Extensions InstallRemoteExtension s "$i"
fi
gnome-extensions enable "$i"
echo "successfully enabled extension: $i"
# break
done
Loading…
Cancel
Save