You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

196 lines
4.3 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. # rules
  2. bpsc rule -a Emulator state=floating
  3. #
  4. # wm independent hotkeys
  5. #
  6. # terminal emulator
  7. super + Return
  8. kitty --single-instance
  9. # show time
  10. super + F11
  11. /home/marc/.config/scripts/notify-time
  12. # show sxhkd hotkeys in rofi
  13. super + slash
  14. show_help_sxhkd.sh
  15. # program launcher
  16. super + @space
  17. rofi -show run drun ssh window
  18. # File managers
  19. super + {e, shift + e}
  20. {kitty -e ranger, thunar}
  21. # make sxhkd reload its configuration files:
  22. super + Escape
  23. pkill -USR1 -x sxhkd
  24. # Calendar
  25. super + d
  26. kitty --class kittycalcurse -e calcurse
  27. #
  28. # bspwm hotkeys
  29. #
  30. # quit bspwm normally
  31. super + alt + Escape
  32. bspc quit
  33. # c: closes window of a program, k: kills all instances
  34. super + {_,shift + }w
  35. bspc node -{c,k}
  36. # alternate between the tiled and monocle layout
  37. super + m
  38. bspc desktop -l next
  39. # send the newest marked node to the newest preselected node
  40. super + y
  41. bspc node newest.marked.local -n newest.!automatic.local
  42. # swap the current node and the biggest node
  43. super + g
  44. bspc node -s biggest.local
  45. #
  46. # state/flags
  47. #
  48. # STATES:
  49. # tiled: its position and size are determined by the window tree
  50. # pseudo_tiled: a tiled window that automatically shrinks but doesn't
  51. # stretch bezond its floating size
  52. # floating: can be moved/resized freely. Still part of the window tree
  53. # fullscreen: fills monitor rectangle and has no borders
  54. # FLAGS:
  55. # hidden: is hidden and doesn't occupy any tiling space
  56. # sticky: stays in the focused desktop of its monitor
  57. # private: tries to keep the same tiling position/size
  58. # locked: ignores the node --close message
  59. # marked: useful for deferred actions. A marked node becomes unmarked
  60. # after being sent on a preselected node
  61. # urgent: has its urgency hint set. This flag is set externally
  62. # set the window state
  63. super + {t,shift + t,s,f}
  64. bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
  65. # toggle fullscreen / floating
  66. super + shift + f
  67. bspc node -t \~fullscreen
  68. # set the node flags
  69. super + ctrl + {m,x,y,z}
  70. bspc node -g {marked,locked,sticky,private}
  71. #
  72. # focus/swap
  73. #
  74. # reset sizes of nodes to bspwms defaults
  75. #super + b
  76. # bspc node @/ -{B,E}
  77. # rotate window layout by 90 degrees
  78. super + r
  79. bspc node @focused:/ -R 90
  80. # rotate programs within the given layout
  81. super + alt + r
  82. bspc node @focused:/ -C forward
  83. super + shift + r
  84. bspc node -R 90
  85. # focus the node in the given direction
  86. super + {_,shift + }{h,j,k,l}
  87. bspc node -{f,s} {west,south,north,east}
  88. # focus the node for the given path jump
  89. super + {p,b,comma,period}
  90. bspc node -f @{parent,brother,first,second}
  91. # focus the next/previous node in the current desktop
  92. super + {_,shift + }c
  93. bspc node -f {next,prev}.local
  94. alt + {_,shift + }Tab
  95. bspc node -f {next,prev}.local
  96. # focus the next/previous desktop in the current monitor
  97. super + bracket{left,right}
  98. bspc desktop -f {prev,next}.local
  99. # focus the last node/desktop
  100. super + {grave,Tab}
  101. bspc {node,desktop} -f last
  102. # focus the older or newer node in the focus history
  103. super + {o,i}
  104. bspc wm -h off; \
  105. bspc node {older,newer} -f; \
  106. bspc wm -h on
  107. # focus or send to the given desktop
  108. super + {_,shift + }{1-9,0}
  109. bspc {desktop -f,node -d} '^{1-9,10}'
  110. # focus additional nodes
  111. # super + button1
  112. # bspc
  113. #
  114. # preselect
  115. #
  116. # preselect the direction
  117. super + ctrl + {h,j,k,l}
  118. bspc node -p {west,south,north,east}
  119. # preselect the ratio
  120. super + ctrl + {1-9}
  121. bspc node -o 0.{1-9}
  122. # cancel the preselection for the focused node
  123. super + ctrl + space
  124. bspc node -p cancel
  125. # cancel the preselection for the focused desktop
  126. super + ctrl + shift + space
  127. bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
  128. #
  129. # move/resize
  130. #
  131. # expand a window by moving one of its side outward
  132. super + alt + {h,j,k,l}
  133. bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
  134. # contract a window by moving one of its side inward
  135. super + alt + shift + {h,j,k,l}
  136. bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
  137. # move a floating window
  138. super + {Left,Down,Up,Right}
  139. bspc node -v {-20 0,0 20,0 -20,20 0}
  140. XF86MonBrightnessUp
  141. $HOME/.config/scripts/backlight_inc.sh
  142. XF86MonBrightnessDown
  143. $HOME/.config/scripts/backlight_dec.sh
  144. XF86AudioRaiseVolume
  145. pactl set-sink-volume @DEFAULT_SINK@ +1000
  146. XF86AudioLowerVolume
  147. pactl set-sink-volume @DEFAULT_SINK@ -1000
  148. XF86AudioMute
  149. pactl set-sink-mute @DEFAULT_SINK@ toggle