diff options
author | shmibs <shmibs@gmail.com> | 2017-11-27 01:08:51 -0700 |
---|---|---|
committer | shmibs <shmibs@gmail.com> | 2017-11-27 01:08:51 -0700 |
commit | c688f7bce20158661f377e9679c3b2ce8b963fc6 (patch) | |
tree | cd0b66a81272918b7bb622c2b905d699ad058ab5 /.config/herbstluftwm/maim.sh | |
parent | 66b00763352ccbc4af59259472a39249dc4345d6 (diff) | |
parent | a0f41b26800251aa05cbd042c8852ec8e212a95b (diff) | |
download | dotfiles-c688f7bce20158661f377e9679c3b2ce8b963fc6.tar.gz |
Merge branch 'master' of github.com:shmibs/dotfiles
Diffstat (limited to '.config/herbstluftwm/maim.sh')
-rwxr-xr-x | .config/herbstluftwm/maim.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/.config/herbstluftwm/maim.sh b/.config/herbstluftwm/maim.sh new file mode 100755 index 0000000..a569460 --- /dev/null +++ b/.config/herbstluftwm/maim.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env zsh + +local mpat='^(send|clipboard|normal)$' + +local mode='normal' +local selection + +local args +zparseopts -D -E -M -A args \ + m: -mode=m \ + s -selection=s + +local optarg +for opt in ${(@k)args}; do + unset optarg + [[ -z $args[$opt] ]] || optarg=$args[$opt] + case $opt in + -m) + [[ ! $(echo $optarg | grep -oE "$mpat") ]] \ + && echo "err: bad mode" && exit + mode=$optarg + ;; + + -s) selection=s ;; + esac +done + +[[ ${#@} -gt 0 ]] && echo "err: unrecognised arguments" && exit + +local year +local stamp +date +%Y | read year +date +%s | read stamp + +local fname="$HOME/images/scrot/$year/${year}-${stamp}.png" + +mkdir -p $HOME/images/scrot/$year + +if [[ $mode == clipboard ]]; then + maim -u${selection} | xclip -selection clipboard -t image/png + exit +fi + +maim -u${selection} $fname + +if [[ $mode == send ]]; then + [[ -f $fname ]] \ + && optipng $fname \ + && send $fname \ + && notify-send "maim: sent ${fname:t} to /tmp/" \ + || notify-send "maim: send to /tmp/ failed" +fi |