101 lines
2.6 KiB
Plaintext
101 lines
2.6 KiB
Plaintext
|
#!/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/mabox/mabox.conf
|
||
|
|
||
|
# if enabled
|
||
|
if [[ "$wall2themes" == "true" ]];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)
|
||
|
#TODO: SWITCH TO MBCOLORS theme
|
||
|
obtctl theme MBcolors
|
||
|
obtctl clractivebg ${w[1]}
|
||
|
;;
|
||
|
light)
|
||
|
#TODO: SWITCH TO MBCOLORS theme
|
||
|
obtctl theme MBcolors
|
||
|
obtctl clractivebg ${w[-1]}
|
||
|
;;
|
||
|
*)
|
||
|
:
|
||
|
;;
|
||
|
esac
|
||
|
# PYRADIO THEME
|
||
|
case "$wall2themes_pyradio" in
|
||
|
dark) w2theme pyradio dark;;
|
||
|
light) w2theme pyradio light;;
|
||
|
*)
|
||
|
:
|
||
|
;;
|
||
|
esac
|
||
|
fi
|
||
|
fi
|
||
|
fi
|