mabox-i18n-files/common/wrappers/nitrogen

99 lines
2.5 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Wrapper for nitrogen, so LightDM wallpaper is synced.
#
# Copyright (C) 2021 Rafael Cavalcanti - rafaelc.org
# Licensed under GPLv3
set -euo pipefail
/usr/bin/nitrogen "$@"
if [[ "${1:-}" == "--restore" ]]; then
exit $?
fi
readonly bg_path="$(awk -F '=' '/file/{print $2}' "$HOME/.config/nitrogen/bg-saved.cfg")"
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:"$bg_path"
# Generate wallpaper color palette
WALLPALDIR="$HOME/.config/colormenu/palettes/wallp"
mkdir -p "$WALLPALDIR"
read WALLPATH<<< $(grep file "$HOME/.config/nitrogen/bg-saved.cfg" | cut -d'=' -f2)
WALLPAPER=${WALLPATH##*/}
if [ ! -f "$WALLPALDIR/$WALLPAPER.clr" ]; then
convert ${WALLPATH} -resize 25% -colors 16 -unique-colors txt:- |grep -v '^#'| awk '{print substr($3,1,7)}' |pastel sort-by brightness |pastel format hex > "$WALLPALDIR/$WALLPAPER.clr"
fi
# GENERATE THUMBNAIL
THUMBDIR="$HOME/.config/mabox/wallthumbs"
mkdir -p ${THUMBDIR}
THUMB="${THUMBDIR}/${WALLPAPER}.png"
if [[ ! -f "$THUMB" ]]; then
convert ${WALLPATH} -resize 270x150^ -gravity center -extent 270x150 ${THUMB}
fi
# auto generate themes
if command -v w2theme &> /dev/null
then
## Generate Conkys, Menu themes from wallpaper colors
source ~/.config/colorizer/colorizer.conf
# if enabled
if [[ "$wall2themes" == "yes" ]];then
#if not invoked by mb-obthemes
#notify-send.sh "Theme generation" "Enabled"
LOCKED=${wall2themeslock:-false}
if [[ "$LOCKED" != "true" ]];then
#notify-send.sh "Lock" "not set"
# CONKY
case "$wall2themes_conky" in
dark) w2theme conky dark;;
light) w2theme conky light;;
*)
:
;;
esac
# MENUS
case "$wall2themes_menu" in
dark) w2theme menu dark;;
light) w2theme menu light;;
*)
:
;;
esac
# ACCENT_COLOR
mapfile -t w < "$WALLPALDIR/$WALLPAPER.clr"
case "$wall2themes_accent" in
dark)
obtctl theme MBcolors
w2theme accent ${w[1]}
;;
light)
obtctl theme MBcolors
w2theme accent ${w[-1]}
;;
*)
:
;;
esac
# PYRADIO THEME
case "$wall2themes_pyradio" in
dark) w2theme pyradio dark;;
light) w2theme pyradio light;;
*)
:
;;
esac
fi
fi
fi