at master 1.6 kB view raw
1#!/usr/bin/env bash 2 3INFOS=() 4 5DATE=`date "+%a %Y-%m-%d %I:%M:%S%p"` 6 7add_info() { 8 local SCRIPT_NAME=$1 9 local INFO="`$(dirname "$0")/../lib/${SCRIPT_NAME}.sh`" 10 if [ "$INFO" != "" ]; then 11 INFOS+=("$INFO") 12 fi 13} 14 15TIMEOUT=10000 16 17if [ "$#" -eq 0 ] || ([ "$#" -eq 2 ] && ([[ "$1" = "-t" ]] || [[ "$1" = "--timeout" ]])) ; then 18 INFOS+=("$DATE") 19 add_info "workspace" 20 add_info "mail" 21 add_info "idle" 22 add_info "disk" 23 add_info "cpu" 24 add_info "temperature" 25 add_info "load_average" 26 add_info "memory" 27 add_info "network" 28 add_info "backlight" 29 add_info "pulse" 30 add_info "player" 31 add_info "battery" 32else 33 while (( "$#" )); do 34 case "$1" in 35 -t|--timeout) 36 TIMEOUT=$2 37 shift 2 38 ;; 39 *) 40 case "$1" in 41 date) INFOS+=("$DATE") ;; 42 workspace) add_info "workspace" ;; 43 mail) add_info "mail" ;; 44 idle) add_info "idle" ;; 45 disk) add_info "disk" ;; 46 cpu) add_info "cpu" ;; 47 temperature) add_info "temperature" ;; 48 load_average) add_info "load_average" ;; 49 memory) add_info "memory" ;; 50 network) add_info "network" ;; 51 backlight) add_info "backlight" ;; 52 pulse) add_info "pulse" ;; 53 player) add_info "player" ;; 54 battery) add_info "battery" ;; 55 *) echo "Warning: Unknown argument '$1'";; 56 esac 57 shift 58 ;; 59 esac 60 done 61fi 62 63IFS=$'\n'; echo "${INFOS[*]}" 64 65ID_FILE="${XDG_CACHE_DIR:-"$HOME/.cache"}/st_id" 66ID="$(cat $ID_FILE)" 67REPLACE_ARG="" 68if [ ! -z $ID ]; then 69 REPLACE="-r" 70fi 71 72dunstify -t $TIMEOUT -u low "Status" -p $REPLACE $ID "`IFS=$'\n'; echo "${INFOS[*]}"`" > $ID_FILE