270 lines
6.5 KiB
Text
270 lines
6.5 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 blocks
|
|
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 blocks
|
|
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 blocks
|
|
# Decrease volume
|
|
super {_,shift +} + minus
|
|
amixer sset Master {5,15}%-; pkill -RTMIN+10 blocks
|
|
super + shift + m
|
|
amixer sset Master toggle; pkill -RTMIN+10 blocks
|
|
|
|
# Audiokeys
|
|
XF86AudioMute
|
|
amixer sset Master toggle; pkill -RTMIN+10 blocks
|
|
XF86Audio{Raise,Lower}Volume
|
|
amixer sset Master 5%{+,-}; pkill -RTMIN+10 blocks
|
|
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
|