diff options
Diffstat (limited to 'herbstluftwm/panel.bar.sh')
-rwxr-xr-x | herbstluftwm/panel.bar.sh | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/herbstluftwm/panel.bar.sh b/herbstluftwm/panel.bar.sh deleted file mode 100755 index 88f7ab1..0000000 --- a/herbstluftwm/panel.bar.sh +++ /dev/null @@ -1,157 +0,0 @@ -#!/bin/bash - -# todo: fontello icons - -# disable path name expansion or * will be expanded in the line -# cmd=( $line ) -set -f - -function uniq_linebuffered() { - awk -W interactive '$0 != l { print ; l=$0 ; fflush(); }' "$@" -} -function get_mpd_song() { - # use mpc to get currently playing song, uppercase it - song=$(mpc current -f %title%) - # let's skip ft. parts, etc. to get some more space - echo $song -} - -monitor=${1:-0} - -separator="\f3 | \fr" -song=$(get_mpd_song) -windowtitle="" - -herbstclient pad $monitor 18 -{ - # events: - # mpc events - mpc idleloop player & - mpc_pid=$! - - # date - while true ; do - date +'date_day %A %e. ' - date +'date_min %H:%M ' - sleep 1 || break - done > >(uniq_linebuffered) & - date_pid=$! - - while true - do - $HOME/scripts/battery-parse - sleep 2m || break - done & - battery_pid=$! - - while true - do - $HOME/scripts/nm-connected-device - sleep 3m || break - done & - nm_status_pid=$! - - # hlwm events - herbstclient --idle - - # exiting; kill stray event-emitting processes - kill $date_pid $mpd_pid $battery_pid $nm_status_pid -} 2> /dev/null | { - TAGS=( $(herbstclient tag_status $monitor) ) - #unset TAGS[${#TAGS[@]}-1] - date_day="" - date_min="" - Battery="" - network_status="" - visible=true - - while true ; do - # align left - echo -n "\l" - if [[ $windowtitle ]] - then - if [ ${#windowtitle} -gt 55 ] - then - windowtitle="$(echo -n $windowtitle | cut -c1-55)..." - fi - echo -n "\ur\fr$windowtitle$separator" - fi - - # Align center - echo -n "\c" - for i in "${TAGS[@]}" ; do - case ${i:0:1} in - '#') # current tag - echo -n "\u4\b4\fr" - ;; - '+') # active on other monitor - echo -n "\u7\b7\f8" - ;; - ':') - # Tag with windows - echo -n "\ur\br\f4" - ;; - '!') # urgent tag - echo -n "\u1\br\f1" - ;; - *) - echo -n "\ur\br\fr" - ;; - esac - echo -n " ${i:1} " # | tr '[:lower:]' '[:upper:]' - done - - # align right - echo -n "\r\ur\fr\br" - # display song and separator only if something's playing - if [[ $song ]]; then - if [ ${#song} -gt 30 ] - then - song="$(echo -n $song | cut -c1-30)..." - fi - echo -n "\ur\fr$song$separator" - fi - echo -n "$network_status" - echo -n "$separator" - echo -n "$Battery" - echo -n "$separator" - echo -n "$date_day" | tr '[:lower:]' '[:upper:]' - echo -n " \f2" - echo -n "$date_min " | tr '[:lower:]' '[:upper:]' - echo - # wait for next event - read line || break - cmd=( $line ) - # find out event origin - case "${cmd[0]}" in - tag*) - TAGS=( $(herbstclient tag_status $monitor) ) - #unset TAGS[${#TAGS[@]}-1] - ;; - date_day) - date_day="${cmd[@]:1}" - ;; - date_min) - date_min="${cmd[@]:1}" - ;; - player) - song=$(get_mpd_song) - ;; - focus_changed|window_title_changed) - windowtitle="${cmd[@]:2}" - ;; - Battery) - Battery="${cmd[1]} ${cmd[2]}" - ;; - network) - network_status="${cmd[1]} ${cmd[2]}" - ;; - quit_panel) - exit - ;; - reload) - exit - ;; - esac - done -} 2> /dev/null | bar $1 |