X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=home%2Flib%2Flogin_functions.sh;h=f435d1968f5d0ba7974580fbaec636c2de93e14e;hb=416c63595d5cc8b1b332b212ec8adf08fa78cc1e;hp=6f6f9e0d55fd7faa628432eb20a5c544af11aa79;hpb=3251b58920796663e71e4eda312d208127e090d9;p=khome.git diff --git a/home/lib/login_functions.sh b/home/lib/login_functions.sh index 6f6f9e0..f435d19 100644 --- a/home/lib/login_functions.sh +++ b/home/lib/login_functions.sh @@ -28,8 +28,27 @@ notify_done() { ## p : string -> unit p() { + local -r usage='Usage: p [FILE] NAME' + local name + local file + + case "$#" in + 0) + echo "$usage" >&2 + return 1;; + 1) + file=~/._p/p + name="$1";; + 2) + file="$1" + name="$2";; + *) + echo "$usage" >&2 + return 1;; + esac + awk \ - -v _s="$1" \ + -v _s="$name" \ ' BEGIN {_s = tolower(_s)} @@ -56,11 +75,11 @@ p() { u = tmp printf("%d [C] s:\"%s\", e:\"%s\", u:\"%s\"\n", n, s, e, u) > "/dev/stderr" } - - printf "%s", p # XXX Intentionally avoiding newline in the result. + ps[n] = p } END { + printf "%s", ps[n] # XXX Intentionally avoiding newline in the result. if (n == 1) { exit 0 } else if (n == 0) { @@ -68,12 +87,12 @@ p() { exit 1 } else if (n > 1) { # TODO fzf-select which of the records the user (ahem, me) wants. - printf "[WARNING] Found more than one record.\n" > "/dev/stderr" + printf "[WARNING] Found more than one record. Selecting the last one.\n" > "/dev/stderr" exit 0 } } ' \ - ~/._p/p \ + "$file" \ | xsel -i -b -t 30000 } @@ -439,8 +458,23 @@ cat << EOF $(date '+%F %A') =============================================================================== +------------------------------------------------------------------------------- +TODAY +------------------------------------------------------------------------------- + + +------------------------------------------------------------------------------- +CURRENT +------------------------------------------------------------------------------- + + +------------------------------------------------------------------------------- +BLOCKED +------------------------------------------------------------------------------- -backlog + +------------------------------------------------------------------------------- +BACKLOG ------------------------------------------------------------------------------- EOF } @@ -456,7 +490,7 @@ today() { then daily_todo_file_template > "$file" fi - cd "$DIR_TODO" && "$EDITOR" "$file" + cd "$DIR_TODO" && "$EDITOR" $EDITOR_ARGS "$file" } todo() { @@ -640,11 +674,14 @@ status() { echo 'accounting' - printf '%stmux\n%ssessions %d, clients %d\n' \ + printf '%stmux\n%sservers %d, clients %d\n' \ "$indent_unit" \ "${indent_unit}${indent_unit}" \ - "$(tmux list-sessions 2> /dev/null | wc -l)" \ - "$(tmux list-clients 2> /dev/null | wc -l)" + "$(pgrep -l 'tmux: server' | wc -l)" \ + "$(pgrep -l 'tmux: client' | wc -l)" + # TODO sessions and clients per server + #"$(tmux list-sessions 2> /dev/null | wc -l)" \ + #"$(tmux list-clients 2> /dev/null | wc -l)" echo