--- title: Wallpaper Playlist for pywal date: 2019-02-16T11:42:33-05:00 draft: true --- Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. {{< highlight sh >}} #!/bin/bash shuffle_cache="shuffle.txt" regen_flag=0 dir="" function usage_msg() { # echo "usage: shuffler [-r] [dir_name]" cat <<-EOF Usage: shuffler [-r] [dir_name] -r: regenerate the shuffle cache EOF } # parse for regen_flag{{{ while getopts ":r" opt; do case $opt in r) echo "-r was triggered!" >&2 regen_flag=1 ;; \?) echo "Invalid flag: -$OPTARG" >&2 usage_msg exit 1 ;; esac done #}}} # set dir {{{ # shift $((OPTIND-1)) # if no dir, use pwd if [[ "$#" -eq 0 ]]; then dir=$(pwd) elif [[ "$#" -gt 1 ]] || [[ ! -d "$1" ]]; then usage_msg exit 1 else dir="$1" fi # }}} set dir # # rebuild shuffle cache if regen_flag, doesn't exist or file empty if [[ "$regen_flag" -eq 1 ]] || [[ ! -f "$dir"/"$shuffle_cache" ]] || \ [[ "$(head -n 1 "$dir"/"$shuffle_cache")" = "" ]]; then find "$dir"/* ! -name "$shuffle_cache" -type f | shuf > "$dir"/"$shuffle_cache" fi head -n 1 "$dir"/"$shuffle_cache" printf '%s\n\n' "$(sed '1d' "$dir"/"$shuffle_cache")" > "$dir"/"$shuffle_cache" # vim: set tabstop=2 shiftwidth=2 expandtab: {{< /highlight >}}