#!/usr/bin/bash wallDir=/media/Wall cmd='nitrogen --set-zoom-fill %s' if [ -n "$WAYLAND_DISPLAY" ] ; then cmd='swaymsg output "*" background %s fill' fi for action in $@ do if [ ${action:0:1} = "+" ] then if [ -d ${wallDir}/${action:1} ] then echo ${action:1}/ >> ${wallDir}/listDirWall fi fi if [ ${action} = "list" ] then for d in `ls ${wallDir}` do if [ -d "${wallDir}/${d}" ]; then echo "$d/" fi done echo fi if [ ${action} = "del" -o ${action} = "delete" ] then rm $(cat ~/.actWall) fi if [ ${action} = "save" ] then cp ~/.actWall ~/.savedWall exit fi if [ ${action} = "unsave" ] then rm ~/.savedWall exit fi if [ ${action:0:1} = "-" ] then if [ -d ${wallDir}/${action:1} ] then sed -i "/${action:1}/d" ${wallDir}/listDirWall fi fi if [ ${action:0:1} = "=" ] then if [ -d ${wallDir}/${action:1} ] then sed -i "/^${action:1}\/$/d" ${wallDir}/listDirWall fi fi done if [ -e ~/.savedWall ] ; then wall=$(cat ~/.savedWall) cmd=$(printf "${cmd}" ${wall}) echo ${cmd} eval ${cmd} exit fi cmpWall=0 for ligne in `cat ${wallDir}/listDirWall` do cmpWall=$(( cmpWall + `ls "${wallDir}/$ligne" | wc -l` )) echo "$ligne : " done randWall=$[( $RANDOM % $cmpWall )] for ligne in `cat ${wallDir}/listDirWall` do if [ `ls "${wallDir}/$ligne" | wc -l` -gt $randWall ] then wall=${wallDir}/$ligne`ls ${wallDir}/$ligne | head -n $(($randWall + 1)) | tail -n 1` echo ${wall} > ~/.actWall cmd=$(printf "${cmd}" ${wall}) echo ${cmd} eval ${cmd} echo "Wall set $wall" break else randWall=$(( randWall - `ls "${wallDir}/$ligne" | wc -l` )) fi done echo $cmpWall