voidrice/.config/sxhkd/sxhkdrc
2020-04-08 17:21:40 -04:00

270 lines
6.6 KiB
Text

# The Simple X Hotkey Daemon is the program used by LARBS to map most of the
# dwm-independent commands. This file is pretty readable, so I'll let you read
# it.
# The keys NOT bound here by sxhkd, but by dwm or i3 are:
# The t thru p keys on the top row
# The f thru ; keys on the home row
# The b key on the bottom row (hides the bar in either case)
# Basic binds
super + Return
$TERMINAL
super + d
dmenu_run
super + r
$TERMINAL -e $FILE
super + e
$TERMINAL -e neomutt; pkill -RTMIN+12 $STATUSBAR
super + m
$TERMINAL -e ncmpcpp
super + n
$TERMINAL -e newsboat
super + c
$TERMINAL -e calcurse
super + v
$TERMINAL -e nvim -c VimwikiIndex
super + shift + a
$TERMINAL -e alsamixer; pkill -RTMIN+10 $STATUSBAR
super + shift + c
mpv --no-osc --no-input-default-bindings --input-conf=/dev/null --title='mpvfloat' /dev/video0
super + shift + e
tutorialvids
super + w
$TERMINAL -e sudo nmtui
super + shift + w
$BROWSER
# Et cetera...
super + grave
dmenuunicode
super + Scroll_Lock
killall screenkey || screenkey
super + Insert
showclip
super + shift + x
prompt "Shutdown computer?" "sudo -A shutdown -h now"
super + shift + BackSpace
prompt "Reboot computer?" "sudo -A reboot"
super + shift + Escape
prompt 'Leave Xorg?' 'killall Xorg'
super + x
ifinstalled slock && ( slock & xset dpms force off ; mpc pause ; pauseallmpv )
XF86Launch1
xset dpms force off
XF86TouchpadToggle
(synclient | grep "TouchpadOff.*1" && synclient TouchpadOff=0) || synclient TouchpadOff=1
XF86Touchpad{Off,On}
synclient TouchpadOff={1,0}
XF86MonBrightnessDown
xbacklight -dec 15
XF86MonBrightnessUp
xbacklight -inc 15
# Recording
# Take screenshot
Print
maim pic-full-$(date '+%y%m%d-%H%M-%S').png
# Pick screenshot type
shift + Print
maimpick
# Print: Record audio or video; Del: kill recording
super + Print
dmenurecord
super + Delete
dmenurecord kill
# Pause audio
super + p
mpc toggle
super + shift + p
mpc pause; pauseallmpv
# Changes to next/previous tracks
super + {comma,period}
mpc {prev,next}
# Restart track
super + shift + less
mpc seek 0%
# Seek foward in song
super + {_,shift +} bracketright
mpc seek +{10,120}
# Seek backward in song
super + {_,shift +} bracketleft
mpc seek -{10,120}
# Increase volume
super + {equal,plus}
amixer sset Master {5,15}%+; pkill -RTMIN+10 $STATUSBAR
# Decrease volume
super {_,shift +} + minus
amixer sset Master {5,15}%-; pkill -RTMIN+10 $STATUSBAR
super + shift + m
amixer sset Master toggle; pkill -RTMIN+10 $STATUSBAR
# Audiokeys
XF86AudioMute
amixer sset Master toggle; pkill -RTMIN+10 $STATUSBAR
XF86Audio{Raise,Lower}Volume
amixer sset Master 5%{+,-}; pkill -RTMIN+10 $STATUSBAR
XF86Audio{Next,Prev}
mpc {next,prev}
XF86Audio{Pause,Play,Stop}
mpc {pause,play,stop}
XF86Audio{Rewind,Forward}
mpc seek {-,+}10
XF86AudioRecord
dmenurecord
XF86AudioMedia
$TERMINAL -e ncmpcpp
XF86PowerOff
prompt "Shutdown computer?" "sudo -A shutdown -h now"
XF86Calculator
$TERMINAL -e bc
XF86Sleep
prompt 'Hibernate computer?' 'sudo -A zzz'
XF86WWW
$BROWSER
XF86DOS
$TERMINAL
XF86ScreenSaver
mpc pause; pauseallmpv; i3lock -e -f -c 1d2021; xset dpms force off
XF86TaskPane
$TERMINAL -e htop
XF86Mail
$TERMINAL -e neomutt
XF86MyComputer
$TERMINAL -e $FILE /
# Function keys
super + shift + F1
grep LARBSWELCOME ~/.xprofile && ( sed -i "/LARBSWELCOME/d" ~/.xprofile && notify-send "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) || ( echo "notify-send -i "${XDG_DATA_HOME:$HOME/.local/share}/larbs/larbs.png" \"Welcome to LARBS\" \"Press super+F1 for the help menu.\" # LARBSWELCOME" >> ~/.xprofile && notify-send "LARBS welcome message" "Welcome message re-enabled." )
# Show readme
super + F1
groff -mom ${XDG_DATA_HOME:$HOME/.local/share}/larbs/readme.mom -Tpdf | zathura -
# F2 restarts either dwm or i3 and is bound in each.
# Change display
super + F3
displayselect
# Hibernate
super + F4
prompt 'Hibernate computer?' 'sudo -A zzz -Z'
super + F5 is unbound.
# Start torrent daemon/open interface
super + F6
torwrap
# toggle torrent daemon
super + F7
td-toggle
# sync email
super + F8
mailsync
# Mount a USB drive or Android device
super + {F9,F10}
{dmenumount,dmenuumount}
# close and kill
super + {_,shift + }q
bspc node -{c,k}
# alternate between the tiled and monocle layout
super + {_,shift + }f
bspc {desktop -l next,node -t ~fullscreen}
# rotate current node 90 degrees
super + y
bspc node @focused:/ -R 90
# swap the current node and the biggest local node
super + space
bspc node -s biggest.local || bspc node -s next.local
#
# state/flags
#
# set the window state
#super + {t,shift + t,s}
#bspc node -t {tiled,pseudo_tiled,floating}
super + shift + space
bspc node focused -t \~floating
# focus/swap
# focus the node in the given direction
super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
super + {g,semicolon}
bspc desktop {prev,next}.occupied --focus
super + {Prior,Next}
bspc desktop {prev,next}.occupied --focus
super + {Tab,backslash}
bspc desktop last --focus
# focus or swap the next node
super + {_,shift + }c
bspc node -{f,s} next.local
# focus the older or newer node in the focus history
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} ^{1-9,10}
# preselect the direction
#super + {u,o}
#bspc node -p {south,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
#super + space
#bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
# expand a window by moving one of its side outward
super + shift + {y,u,i,o}
bspc node -z {right -20 0,bottom 0 20,bottom 0 -20,right 20 0}
# contract a window by moving one of its side inward
# move a floating window
super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
# Toggle gaps
super + shift + d
bspc config window_gap {0,15}
# Increase/descrease gap size
super { ,+ shift }+ z
bspc config window_gap $(($(bspc config window_gap) {+,-} 3))
super + u
cat /tmp/dropdown | xargs -I win bspc node win --flag hidden;bspc node -f win
# Make a windoww sticky/non-sticky
super + o
bspc node -g sticky={on,off}
# remove and restore polybar
#super + b
#\{ pgrep polybar && \{ killall polybar ; bspc config top_padding 0 \} \} || \{ launch_polybar ; bspc config top_padding 24 \}
super + {i,o}
bspc node -f {prev,next}.local
super + shift + n
bspc node focused -t \~floating ; hover right
super + shift + b
bspc node focused -t \~floating ; hover left