add pass and maim support to herbstluftwm

master
katherine 5 years ago
parent 7f19a384e2
commit 5d57322f71
  1. 20
      .config/herbstluftwm/autostart
  2. 52
      .config/herbstluftwm/maim.sh
  3. 25
      .config/herbstluftwm/pass.sh
  4. 4
      .config/herbstluftwm/switcher.sh

@ -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

@ -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

@ -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

@ -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]}"

Loading…
Cancel
Save