From d268b63f21a4255c85b1b84ed4820af5fc8feeaf Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Sat, 12 Dec 2015 06:39:45 -0800 Subject: [PATCH] "now" script for screenshot filenames --- sh/now | 39 +++++++++++++++++++++++++++++++++++++++ sh/scropt | 12 +++++++++--- 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 sh/now diff --git a/sh/now b/sh/now new file mode 100644 index 0000000..28c8df3 --- /dev/null +++ b/sh/now @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +now() { + local dt= + local fmt='+%F_%T_%N' + if [ -z "$1" ]; then + dt="$(date "$fmt")" + elif [ -e "$1" ]; then + dt="$(date -r "$1" "$fmt")" + else + dt="$(date -d "$1" "$fmt")" + fi + + local F= T= N= + F=${dt%%_*} + T=${dt#*_} + T=${T%_*} + N=${dt##*_} + local H= M= S= + H=${T%%:*} + M=${T#*:} + M=${M%:*} + S=${T##*:} + + # don't interpret numbers as octal + F=${F#0*} + T=${T#0*} + N=${N#0*} + H=${H#0*} + M=${M#0*} + S=${S#0*} + + local ms= + let 'ms=(H*60*60+M*60+S)*1000+N/1000000' + ms=$(printf '%08i' $ms) + echo "${F}_${ms}" +} + +now "$@" diff --git a/sh/scropt b/sh/scropt index 1d19047..c1b40fb 100755 --- a/sh/scropt +++ b/sh/scropt @@ -1,4 +1,10 @@ #!/usr/bin/env bash -local now=$(date +%F_%H-%M-%S) -scrot ~/$now.png -e "optipng -quiet \$f" "$@" \ -&& mv ~/$now.png ~/Dropbox/Public/screenshots/ + +scropt() { + local now= + which ~/sh/now 2>/dev/null >/dev/null && now=$(~/sh/now) || now=$(date +%F_%T) + echo $now + scrot ~/$now.png -e "optipng -quiet \$f" "$@" \ + && mv ~/$now.png ~/Dropbox/Public/screenshots/ +} +scropt "$@"