feat: msmtp additions
This commit is contained in:
80
in_progress/scripts/weather.sh
Executable file
80
in_progress/scripts/weather.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ---
|
||||
# @source: https://gitlab.com/julianfairfax/scripts/-/blob/main/add-location-to-gnome-weather.sh
|
||||
# ---
|
||||
|
||||
if [[ ! -z "$(which gnome-weather)" ]]; then
|
||||
system=1
|
||||
fi
|
||||
|
||||
if [[ ! -z "$(flatpak list | grep org.gnome.Weather)" ]]; then
|
||||
flatpak=1
|
||||
fi
|
||||
|
||||
if [[ ! $system == 1 && ! $flatpak == 1 ]]; then
|
||||
echo "GNOME Weather isn't installed"
|
||||
exit
|
||||
fi
|
||||
|
||||
language=$(locale | sed -n 's/^LANG=\([^_]*\).*/\1/p')
|
||||
|
||||
if [[ ! -z "$*" ]]; then
|
||||
query="$*"
|
||||
else
|
||||
read -p "Type the name of the location you want to add to GNOME Weather: " query
|
||||
fi
|
||||
|
||||
query="$(echo $query | sed 's/ /+/g')"
|
||||
|
||||
request=$(curl "https://nominatim.openstreetmap.org/search?q=$query&format=json&limit=1" -H "Accept-Language: $language" -s)
|
||||
|
||||
if [[ $request == "[]" ]]; then
|
||||
echo "No locations found, consider removing some search terms"
|
||||
exit
|
||||
fi
|
||||
|
||||
read -p "If this is not the location you wanted, consider adding search terms
|
||||
Are you sure you want to add $(echo $request | sed 's/.*"display_name":"//' | sed 's/".*//')? [y/n] : " answer
|
||||
|
||||
if [[ ! $answer == "y" ]]; then
|
||||
echo "Not adding location"
|
||||
exit
|
||||
else
|
||||
echo "Adding location"
|
||||
fi
|
||||
|
||||
name=$(echo $request | sed 's/.*"name":"//' | sed 's/".*//' | sed 's/ /-/g')
|
||||
|
||||
|
||||
lat=$(echo $request | sed 's/.*"lat":"//' | sed 's/".*//')
|
||||
lat=$(echo "$lat / (180 / 3.141592654)" | bc -l)
|
||||
|
||||
lon=$(echo $request | sed 's/.*"lon":"//' | sed 's/".*//')
|
||||
lon=$(echo "$lon / (180 / 3.141592654)" | bc -l)
|
||||
|
||||
if [[ $system == 1 ]]; then
|
||||
locations=$(gsettings get org.gnome.Weather locations)
|
||||
fi
|
||||
|
||||
if [[ $flatpak == 1 ]]; then
|
||||
locations=$(flatpak run --command=gsettings org.gnome.Weather get org.gnome.Weather locations)
|
||||
fi
|
||||
|
||||
location="<(uint32 2, <('$name', '', false, [($lat, $lon)], @a(dd) [])>)>"
|
||||
|
||||
if [[ $system == 1 ]]; then
|
||||
if [[ ! $(gsettings get org.gnome.Weather locations) == "@av []" ]]; then
|
||||
gsettings set org.gnome.Weather locations "$(echo $locations | sed "s|>]|>, $location]|")"
|
||||
else
|
||||
gsettings set org.gnome.Weather locations "[$location]"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $flatpak == 1 ]]; then
|
||||
if [[ ! $(flatpak run --command=gsettings org.gnome.Weather get org.gnome.Weather locations) == "@av []" ]]; then
|
||||
flatpak run --command=gsettings org.gnome.Weather set org.gnome.Weather locations "$(echo $locations | sed "s|>]|>, $location]|")"
|
||||
else
|
||||
flatpak run --command=gsettings org.gnome.Weather set org.gnome.Weather locations "[$location]"
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user