You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ublinux-init/ublinux/rc.post.d/12-dm-background

60 lines
2.8 KiB

#!/usr/bin/env bash
ENABLED=yes
[[ ${ENABLED} != "yes" ]] && exit 0
DEBUGMODE=no
SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/theme; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ ${DISPLAYMANAGER} == @(none|no|disable) ]] && exit
[[ ${BACKGROUND_DM} == @(none|no|disable) ]] && exit
BACKGROUND_DM_DEFAULT=/usr/share/backgrounds/dm.jpg
lightdm_gtk_greeter_background(){
[[ -f /etc/lightdm/lightdm-gtk-greeter.conf ]] || return 0
FILE_LIGHTDM_GTK_GREATER_CONF="/etc/lightdm/lightdm-gtk-greeter.conf.d/101-background-ubconfig.conf"
rm -f ${FILE_LIGHTDM_GTK_GREATER_CONF}
#Глобально заменить фон: install -Dm0644 ${BACKGROUND_DM} ${BACKGROUND_DM_DEFAULT}
#[[ ${BACKGROUND_DM} != ${BACKGROUND_DM_DEFAULT} ]] && install -Dm0644 ${BACKGROUND_DM} ${BACKGROUND_DM_DEFAULT}
case ${BACKGROUND_DM_MODE} in
0) BACKGROUND_DM_MODE_LD="#stretched:" ;;
1) BACKGROUND_DM_MODE_LD="#zoomed:" ;;
2) BACKGROUND_DM_MODE_LD="#source:" ;;
*) BACKGROUND_DM_MODE_LD="#stretched:" ;;
esac
#[[ -z ${BACKGROUND_DM_MODE_LD} && ${BACKGROUND_DM_MODE} == 0 ]] && BACKGROUND_DM_MODE_LD="#stretched:"
#[[ -z ${BACKGROUND_DM_MODE_LD} && ${BACKGROUND_DM_MODE} == 1 ]] && BACKGROUND_DM_MODE_LD="#zoomed:"
#[[ -z ${BACKGROUND_DM_MODE_LD} && ${BACKGROUND_DM_MODE} == 2 ]] && BACKGROUND_DM_MODE_LD="#source:"
#[[ -z ${BACKGROUND_DM_MODE_LD} ]] && BACKGROUND_DE_MODE_LD="#stretched:"
if [[ -d ${ROOTFS}/etc/lightdm ]]; then
[[ -d ${FILE_LIGHTDM_GTK_GREATER_CONF%/*} ]] || mkdir -p "${FILE_LIGHTDM_GTK_GREATER_CONF%/*}"
cat <<EOF > "${FILE_LIGHTDM_GTK_GREATER_CONF}"
[greeter]
# #source:, #zoomed:, #stretched:, NULL.
background = ${BACKGROUND_DM_MODE_LD}${BACKGROUND_DM}
EOF
fi
}
sddm_background(){
[[ -f /etc/sddm/sddm.conf ]] || return 0
}
[[ -z ${BACKGROUND_DM} ]] && BACKGROUND_DM=${BACKGROUND_DM_DEFAULT}
if [[ -d ${BACKGROUND_DM} ]]; then
BACKGROUND_DM=$(ls -p ${BACKGROUND_DM} | grep -v / | shuf -n 1)
elif [[ ${BACKGROUND_DM} =~ ^'#'......$ ]]; then
BACKGROUND_HEX=${BACKGROUND_DM}
BACKGROUND_DM="/tmp/background-${USER}/${BACKGROUND_DM//#/}.png"
install -dm755 ${BACKGROUND_DM%/*} 2>/dev/null
convert -size 128x128 xc:"${BACKGROUND_HEX}" "${BACKGROUND_DM}" 2>/dev/null
fi
[[ -f ${BACKGROUND_DM} ]] && file "${BACKGROUND_DM}" 2>/dev/null | grep -qE 'image|bitmap' || BACKGROUND_DM=${BACKGROUND_DM_DEFAULT}
lightdm_gtk_greeter_background
sddm_background