From de469a185ae5c0c28ce9bf220464134f47ffb9d3 Mon Sep 17 00:00:00 2001 From: Enrico Fasoli Date: Fri, 28 Aug 2015 13:41:44 +0000 Subject: [PATCH] added beets config and improved lemonbar --- beets_config.yaml | 4 ++ bin/spark | 103 ++++++++++++++++++++++++++++++++++++++++++++++ install | 7 +++- lemonbar.sh | 53 ++++++++++++++++++++---- ncmpcpp_config | 2 + 5 files changed, 159 insertions(+), 10 deletions(-) create mode 100644 beets_config.yaml create mode 100755 bin/spark diff --git a/beets_config.yaml b/beets_config.yaml new file mode 100644 index 0000000..685fa2b --- /dev/null +++ b/beets_config.yaml @@ -0,0 +1,4 @@ +directory: ~/Music +library: ~/.config/beets/library.blb +paths: + singleton: Singles/$artist/$title diff --git a/bin/spark b/bin/spark new file mode 100755 index 0000000..53a38be --- /dev/null +++ b/bin/spark @@ -0,0 +1,103 @@ +#!/usr/bin/env bash +# +# spark +# https://github.com/holman/spark +# +# Generates sparklines for a set of data. +# +# Here's a good web-based sparkline generator that was a bit of inspiration +# for spark: +# +# https://datacollective.org/sparkblocks +# +# spark takes a comma-separated or space-separated list of data and then prints +# a sparkline out of it. +# +# Examples: +# +# spark 1 5 22 13 53 +# # => ▁▁▃▂▇ +# +# spark 0 30 55 80 33 150 +# # => ▁▂▃▅▂▇ +# +# spark -h +# # => Prints the spark help text. + +# Generates sparklines. +# +# $1 - The data we'd like to graph. +_echo() +{ + if [ "X$1" = "X-n" ]; then + shift + printf "%s" "$*" + else + printf "%s\n" "$*" + fi +} + +spark() +{ + local n numbers= + + # find min/max values + local min=0xffffffff max=0 + + for n in ${@//,/ } + do + # on Linux (or with bash4) we could use `printf %.0f $n` here to + # round the number but that doesn't work on OS X (bash3) nor does + # `awk '{printf "%.0f",$1}' <<< $n` work, so just cut it off + n=${n%.*} + (( n < min )) && min=$n + (( n > max )) && max=$n + numbers=$numbers${numbers:+ }$n + done + + # print ticks + local ticks=(▁ ▂ ▃ ▄ ▅ ▆ ▇ █) + + # use a high tick if data is constant + (( min == max )) && ticks=(▅ ▆) + + local f=$(( (($max-$min)<<8)/(${#ticks[@]}-1) )) + (( f < 1 )) && f=1 + + for n in $numbers + do + _echo -n ${ticks[$(( ((($n-$min)<<8)/$f) ))]} + done + _echo +} + +# If we're being sourced, don't worry about such things +if [ "$BASH_SOURCE" == "$0" ]; then + # Prints the help text for spark. + help() + { + local spark=$(basename $0) + cat < /tmp/myip + fi + IP="$(cat /tmp/myip)" + if [ -n "$IP" ]; then + echo -n "%{F$GREEN}$IP" + else + echo -n "%{F$RED}Offline" + fi } getDISK(){ - echo -n "$(du -hs ~ | cut -d$'\t' -f1)" + echo -n "%{F$BLUE}$(echo "$(du -ms ~ | cut -d$'\t' -f1)/1000" | bc) GB" +} + +separator(){ + echo -n "%{F$GREY}◆" } buildBar () { while true do - echo "$(getVolume) $(getMPD) %{c}$(buildClock)%{r}$(getDISK) | $(getNET)" - sleep 0.5 + echo " $(getVolume) $(getMPD) %{c}$(buildClock) %{r} $(getDISK) $(separator) $(getNET) " + sleep 1 done } -buildBar | lemonbar -p -g "1872x20+24+8" -B "#181b20" -F "#9b9081" -f -gohu-gohufont-medium-r-normal--14-100-100-100-c-80-iso10646-1 +buildBar | lemonbar -p -g "1872x20+24+8" -B "$BLACK" -F "$GREY" -f -gohu-gohufont-medium-r-normal--14-100-100-100-c-80-iso10646-1 diff --git a/ncmpcpp_config b/ncmpcpp_config index fa43d7c..532a5e3 100644 --- a/ncmpcpp_config +++ b/ncmpcpp_config @@ -1,4 +1,6 @@ ncmpcpp_directory = ~/.config/ncmpcpp +mpd_music_dir = ~/Music +lyrics_directory = ~/.config/ncmpcpp/lyrics visualizer_type = "spectrum" progressbar_look = "─╼─"