aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.local/bin/nitrogen81
1 files changed, 41 insertions, 40 deletions
diff --git a/.local/bin/nitrogen b/.local/bin/nitrogen
index 935e3d5..b8afe27 100755
--- a/.local/bin/nitrogen
+++ b/.local/bin/nitrogen
@@ -3,60 +3,61 @@
# Wrapper for nitrogen setting the freedesktop.org AccountsService/BackgroundFile so LightDM wallpaper is synced.
# Inspired by <https://rafaelc.org/posts/sync-wm-wallpaper-with-lightdm-on-linux-mint/>
-key_value_retriever(){
- KEY="${1}"
- if [[ -z "${KEY}" ]]; then
- printf "ERROR: KEY should not be empty\n"
- return
- fi
- FILE="${2}"
- if [[ ! -f "${FILE}" ]]; then
- printf "ERROR: Cannot find FILE: %s\n" "${FILE}"
- return
- fi
- VALUE_VARNAME="${3}"
- if [[ -z "${VALUE_VARNAME}" ]]; then
- printf "ERROR: VALUE_VARNAME should not be empty\n"
- return
- fi
- MATCH=$(grep -m1 "^[[:space:]]*${KEY}=" "${FILE}")
- INDEX_OF_FIRST_EQUAL=$(expr index "${MATCH}" =)
- VALUE="${MATCH:${INDEX_OF_FIRST_EQUAL}}"
- export "${VALUE_VARNAME}"="${VALUE}"
+key_value_retriever() {
+ KEY="${1}"
+ if [[ -z "$KEY" ]]; then
+ printf "ERROR: KEY should not be empty\n"
+ return
+ fi
+ FILE="${2}"
+ if [[ ! -f "$FILE" ]]; then
+ printf "ERROR: Cannot find FILE: %s\n" "$FILE"
+ return
+ fi
+ VALUE_VARNAME="${3}"
+ if [[ -z "$VALUE_VARNAME" ]]; then
+ printf "ERROR: VALUE_VARNAME should not be empty\n"
+ return
+ fi
+ MATCH=$(grep -m1 "^[[:space:]]*${KEY}=" "$FILE")
+ INDEX_OF_FIRST_EQUAL=$(expr index "$MATCH" =)
+ VALUE="${MATCH:${INDEX_OF_FIRST_EQUAL}}"
+ export "$VALUE_VARNAME"="$VALUE"
}
/usr/bin/nitrogen "$@"
if [[ "${1:-}" == "--restore" ]]; then
- exit $?
+ exit $?
fi
NITROGEN_BG_SAVED_CFG_FILE="${HOME}/.config/nitrogen/bg-saved.cfg"
-if [[ ! -f "${NITROGEN_BG_SAVED_CFG_FILE}" ]]; then
- printf "!ERROR! Cannot find NITROGEN_BG_SAVED_CFG_FILE[%s]\n" "${NITROGEN_BG_SAVED_CFG_FILE}" 1>&2
- exit 1
+if [[ ! -f "$NITROGEN_BG_SAVED_CFG_FILE" ]]; then
+ printf "!ERROR! Cannot find NITROGEN_BG_SAVED_CFG_FILE[%s]\n" "$NITROGEN_BG_SAVED_CFG_FILE" 1>&2
+ exit 1
fi
-key_value_retriever "file" "${NITROGEN_BG_SAVED_CFG_FILE}" "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE"
+key_value_retriever "file" "$NITROGEN_BG_SAVED_CFG_FILE" "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE"
-if [[ -z "${NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE}" ]]; then
- printf "!ERROR! Cannot retrieve NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE from NITROGEN_BG_SAVED_CFG_FILE[%s]\n" "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" 1>&2
- exit 1
+if [[ -z "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" ]]; then
+ printf "!ERROR! Cannot retrieve NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE from NITROGEN_BG_SAVED_CFG_FILE[%s]\n" "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" 1>&2
+ exit 1
fi
-if [[ ! -f "${NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE}" ]]; then
- printf "!ERROR! Cannot find NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE[%s]\n" "${NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE}" 1>&2
- exit 1
+if [[ ! -f "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" ]]; then
+ printf "!ERROR! Cannot find NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE[%s]\n" "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" 1>&2
+ exit 1
fi
printf "Setting nitrogen background into freedesktop.org AccountsService...\n"
-printf "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE[%s]\n" "${NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE}"
+printf "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE[%s]\n" "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE"
+"$HOME"/.scripts/lockscreen-wallpaper &
dbus-send \
- --print-reply \
- --system \
- --dest=org.freedesktop.Accounts \
- /org/freedesktop/Accounts/User$(id -u) \
- org.freedesktop.DBus.Properties.Set \
- string:org.freedesktop.DisplayManager.AccountsService \
- string:BackgroundFile \
- variant:string:"${NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE}"
+ --print-reply \
+ --system \
+ --dest=org.freedesktop.Accounts \
+ /org/freedesktop/Accounts/User"$(id -u)" \
+ org.freedesktop.DBus.Properties.Set \
+ string:org.freedesktop.DisplayManager.AccountsService \
+ string:BackgroundFile \
+ variant:string:"$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE"