aboutsummaryrefslogtreecommitdiffstats
path: root/.config/herbstluftwm
diff options
context:
space:
mode:
authorkatherine <shmibs@shmibbles.me>2017-11-08 01:47:34 -0700
committerkatherine <shmibs@shmibbles.me>2017-11-08 01:47:34 -0700
commit5d57322f71a9f3193133c1be1d5fe938b5cb6e56 (patch)
tree3ea6f992a1e7a25608af06bd2a9bc074d2e17ff4 /.config/herbstluftwm
parent7f19a384e2f683cfec0186845af8837124184785 (diff)
downloaddotfiles-5d57322f71a9f3193133c1be1d5fe938b5cb6e56.tar.gz
add pass and maim support to herbstluftwm
Diffstat (limited to '.config/herbstluftwm')
-rwxr-xr-x.config/herbstluftwm/autostart20
-rwxr-xr-x.config/herbstluftwm/maim.sh52
-rwxr-xr-x.config/herbstluftwm/pass.sh25
-rwxr-xr-x.config/herbstluftwm/switcher.sh4
4 files changed, 92 insertions, 9 deletions
diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart
index d3b2746..4cf40b0 100755
--- a/.config/herbstluftwm/autostart
+++ b/.config/herbstluftwm/autostart
@@ -120,10 +120,18 @@ hc keybind Mod4-i jumpto urgent
# tegaki
hc keybind Mod4-r spawn tegaki-recognize
-# mate
-hc keybind XF86PowerOff spawn mate-session-save --shutdown-dialog
-hc keybind Mod1-XF86PowerOff spawn mate-session-save --shutdown-dialog
-hc keybind Print spawn mate-screenshot
+
+#pass
+hc keybind Mod4-x spawn ~/.config/herbstluftwm/pass.sh
+hc keybind Mod4-Shift-x spawn ~/.config/herbstluftwm/pass.sh -f
+
+#scrot-ing
+hc keybind Print spawn ~/.config/herbstluftwm/maim.sh
+hc keybind Shift-Print spawn ~/.config/herbstluftwm/maim.sh -s
+hc keybind Control-Print spawn ~/.config/herbstluftwm/maim.sh -m clipboard
+hc keybind Shift-Control-Print spawn ~/.config/herbstluftwm/maim.sh -s -m clipboard
+hc keybind Mod4-Print spawn ~/.config/herbstluftwm/maim.sh -m send
+hc keybind Mod4-Shift-Print spawn ~/.config/herbstluftwm/maim.sh -s -m send
# ranger
hc keybind Mod4-Shift-Control-Return spawn urxvt -name "ranger" -e ranger ~
@@ -150,7 +158,6 @@ hc keybind Mod4-w spawn xdotool click 1
# spawn
hc keybind Mod4-Return spawn urxvt
hc keybind Mod4-Shift-b spawn primusrun VBoxSDL --startvm arch
-hc keybind Mod4-Shift-c spawn cvlc v4l2://
hc keybind Mod4-Shift-d spawn ~/games/desura/desura
hc keybind Mod4-Shift-f spawn firejail --netfilter=/etc/firejail/nolocal.net firefox
hc keybind Mod4-Shift-g spawn gwaei
@@ -159,7 +166,6 @@ hc keybind Mod4-Shift-m spawn mathematica
hc keybind Mod4-Shift-n spawn urxvt -name "notes" -e $EDITOR ~/notes
hc keybind Mod4-Shift-o spawn ~/stuffs/tor/start-tor-browser
hc keybind Mod4-Shift-p spawn urxvt -e pms
-hc keybind Mod4-Shift-s spawn scrot
hc keybind Mod4-Shift-t spawn transmission-gtk
hc keybind Mod4-Shift-v spawn urxvt -name "$EDITOR" -e $EDITOR
hc keybind Mod4-Shift-w spawn urxvt -name "weechat" -e weechat
@@ -196,7 +202,7 @@ hc rule focus=on
hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK)' manage=off
# set apppropriate things to pseudotile
hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on focus=on
-hc rule class~'(VBoxSDL|SleepIsDeathApp|freeciv-sdl|FTL)' pseudotile=on focus=on
+hc rule class~'(VBoxSDL|SleepIsDeathApp|freeciv-sdl|FTL|pinentry)' pseudotile=on focus=on
hc rule class~'(Tegaki-recognize|PlayOnLinux|PCSX2|Tilem2|Wine|explorer.exe)' pseudotile=on focus=on
hc rule class~'(mednafen)' pseudotile=on focus=on
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
diff --git a/.config/herbstluftwm/pass.sh b/.config/herbstluftwm/pass.sh
new file mode 100755
index 0000000..32a7b2d
--- /dev/null
+++ b/.config/herbstluftwm/pass.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env zsh
+
+source ~/.config/init/vars
+
+zparseopts -M -E -A args \
+ f -firefox=f
+
+local password_files
+
+password_files=( ~/.password-store/**/*.gpg )
+password_files=( ${password_files:t:r} )
+
+printf "%s\n" $password_files | dmenu -fn "${bfont}:size=${bfont_size}" -i \
+ -h "$bheight" -nb "$bar_bg" -nf "$bar_fg" \
+ -sb "$bg_focus" -sf "$fg_focus" \
+ -p "Pass:" | cut -d ')' -f 1 | read choice
+
+[[ -n $choice ]] || exit
+
+pass show $choice | sed -n -e 's/^login: //p' | xclip -selection clipboard
+
+pass show $choice | sed -n -e 's/^url: //p' | read url
+[[ ${(@k)args[-f]} ]] && firefox --new-tab "$url"
+
+pass show -c $choice
diff --git a/.config/herbstluftwm/switcher.sh b/.config/herbstluftwm/switcher.sh
index e076eb3..2558303 100755
--- a/.config/herbstluftwm/switcher.sh
+++ b/.config/herbstluftwm/switcher.sh
@@ -1,4 +1,4 @@
-#!/bin/zsh
+#!/usr/bin/env zsh
source ~/.config/init/vars
@@ -16,6 +16,6 @@ done < <(wmctrl -l)
echo -e "$lines" | nl -w 2 -s ") " | dmenu -fn "${bfont}:size=${bfont_size}" -i -h "$bheight" \
-nb "$bar_bg" -nf "$bar_fg" -sb "$bg_focus" -sf "$fg_focus" \
- -p "Select:" -l 40 | cut -d ')' -f 1 | {read choice}
+ -p "Select:" -l 40 | cut -d ')' -f 1 | read choice
herbstclient jumpto "${nums[$choice]}"