dotfiles

My dotfiles.
git clone git://git.ryanmj.xyz/dotfiles.git
Log | Files | Refs | LICENSE

sxhkdrc (3108B)


      1 #
      2 # wm independent hotkeys
      3 #
      4 
      5 XF86Audio{Prev,Next}
      6 	mpc -q {prev,next}
      7 
      8 XF86AudioLowerVolume
      9     pactl set-sink-volume 0 -5%
     10 
     11 XF86AudioRaiseVolume
     12     pactl set-sink-volume 0 +5%
     13 
     14 XF86AudioMute
     15     pactl set-sink-mute 0 toggle
     16 
     17 XF86AudioMicMute
     18     pactl set-source-mute 1 toggle
     19 
     20 # terminal emulator
     21 super + Return
     22 	kitty
     23 
     24 # program launcher
     25 super + d
     26 	dmenu_run
     27 
     28 # make sxhkd reload its configuration files:
     29 super + Escape
     30 	pkill -USR1 -x sxhkd
     31 
     32 #
     33 # bspwm hotkeys
     34 #
     35 
     36 # quit/restart bspwm
     37 super + shift + {e,r}
     38 	bspc {quit,wm -r}
     39 
     40 # close and kill
     41 super + {shift + , alt + shift + }q
     42 	bspc node -{c,k}
     43 
     44 # alternate between the tiled and monocle layout
     45 super + s
     46 	bspc desktop -l next
     47 
     48 # music
     49 super + y
     50     bspc desktop -f '^2' && (pgrep >/dev/null ncmpcpp || kitty -e zsh -ic ncmpcpp)
     51 
     52 super + p
     53     mpc toggle
     54 
     55 super + n
     56     mpc next
     57     
     58 super + l
     59     mpc prev
     60 
     61 # emacs
     62 super + m
     63       emacsclient -c -e '(mu4e)'
     64 
     65 super + t
     66       emacsclient -c
     67 
     68 # send the newest marked node to the newest preselected node
     69 #super + y
     70 #    bspc node newest.marked.local -n newest.!automatic.local
     71 
     72 # swap the current node and the biggest window
     73 super + g
     74 	bspc node -s biggest.window
     75 
     76 #
     77 # state/flags
     78 #
     79 
     80 # set the window state
     81 super + {a,shift + t,shift + @space,f}
     82     xdo above -t $(xdo id -n root) $(xdo id -n polybar) && bspc node -t {tiled,pseudo_tiled,'~floating','~fullscreen'}
     83 
     84 # set the node flags
     85 super + ctrl + {m,x,y,z}
     86 	bspc node -g {marked,locked,sticky,private}
     87 
     88 #
     89 # focus/swap
     90 #
     91 
     92 # focus the node in the given direction
     93 super + {_,shift + }{Left,Down,Up,Right}
     94 	bspc node -{f,s} {west,south,north,east}
     95 
     96 # focus the node for the given path jump
     97 #super + {p,b,comma,period}
     98 #	bspc node -f @{parent,brother,first,second}
     99 
    100 # focus the next/previous window in the current desktop
    101 #super + {_,shift + }c
    102 #	bspc node -f {next,prev}.local.!hidden.window
    103 
    104 # focus the next/previous desktop in the current monitor
    105 super + bracket{left,right}
    106 	bspc desktop -f {prev,next}.local
    107 
    108 # focus the last node/desktop
    109 super + {grave,Tab}
    110 	bspc {node,desktop} -f last
    111 
    112 # focus the older or newer node in the focus history
    113 super + {o,i}
    114 	bspc wm -h off; \
    115 	bspc node {older,newer} -f; \
    116 	bspc wm -h on
    117 
    118 # focus or send to the given desktop
    119 super + {_,shift + }{1-9,0}
    120 	bspc {desktop -f,node -d} '^{1-9,10}'
    121 
    122 #
    123 # preselect
    124 #
    125 
    126 # preselect the direction
    127 super + ctrl + {h,j,k,l}
    128 	bspc node -p {west,south,north,east}
    129 
    130 # preselect the ratio
    131 super + ctrl + {1-9}
    132 	bspc node -o 0.{1-9}
    133 
    134 # cancel the preselection for the focused node
    135 super + ctrl + space
    136 	bspc node -p cancel
    137 
    138 # cancel the preselection for the focused desktop
    139 super + ctrl + shift + space
    140 	bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
    141 
    142 #
    143 # move/resize
    144 #
    145 
    146 # expand a window by moving one of its side outward
    147 super + alt + {h,j,k,l}
    148 	bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
    149 
    150 # contract a window by moving one of its side inward
    151 super + alt + shift + {h,j,k,l}
    152 	bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
    153 
    154 # move a floating window
    155 super + {Left,Down,Up,Right}
    156 	bspc node -v {-20 0,0 20,0 -20,20 0}
    157 
    158 super + e
    159     nemo