From 2fcc9ad27c5f2d8ca58df22eb7f9920c634b279c Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Tue, 14 Sep 2021 02:01:26 -0400 Subject: cutbuffer stack feature partially implemented --- dot/local/bin/cutbuffer_push | 68 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 dot/local/bin/cutbuffer_push (limited to 'dot/local/bin/cutbuffer_push') diff --git a/dot/local/bin/cutbuffer_push b/dot/local/bin/cutbuffer_push new file mode 100755 index 0000000..f7e1e69 --- /dev/null +++ b/dot/local/bin/cutbuffer_push @@ -0,0 +1,68 @@ +#!/bin/sh + +# A screen-grab will be saved in $SCREEN_GRAB_DEST_DIR if set, otherwise +# in $HOME/screen_grab/ if it exsts; otherwise $HOME. + +default_basename=cutbuffer_grab +default_extension=txt +date_format=+%F_%H%M%S +SCREEN_GRAB_DEST_DIR=$HOME/$default_basename + +chdir_to_destination() +{ + [ -d "$SCREEN_GRAB_DEST_DIR" ] || mkdir -p "$SCREEN_GRAB_DEST_DIR" + cd "$SCREEN_GRAB_DEST_DIR" +} + +choose_destination() +{ + local stamp basename extension now + case $# in + 1) ;; + 0) now=$(date "$date_format") + DESTINATION=$default_basename.$now.$default_extension + return + ;; + *) return 1 ;; + esac + + case "$1" in + *.*) + basename=${1%.*} + extension=${1##*.} + ;; + *) + basename=$1 + extension=$default_extension + ;; + esac + DESTINATION=$basename.$extension +} + +get_out_the_way() +{ + local stamp basename extension destination + [ -e "$1" ] || return 0 + + stamp=$(date -r "$1" "$date_format") || return + case "$1" in + *.*) + basename=${1%.*} + extension=${1##*.} + destination=$basename.$stamp.$extension + ;; + *) + destination=$1.$stamp + ;; + esac + [ ! -e "$destination" ] || return + mv "$1" "$destination" +} + +set -e + +chdir_to_destination +choose_destination "$@" +get_out_the_way "$DESTINATION" +xcb -p 0 > "$DESTINATION" + -- cgit v1.2.3