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.

sxhkd 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. #
  2. # wm independent hotkeys
  3. #
  4. # power operations
  5. super + End ; {s,S,alt + s,r,p}
  6. loginctl {suspend,hibernate,hybrid-sleep,reboot,poweroff}
  7. super + End ; b
  8. xset dpms force off
  9. # rofi
  10. super + shift + {End,Insert,Return}
  11. exec {rofi-powermenu,rofi-bspwm-unhide,rofi -modi emoji -show emoji}
  12. super + shift + space
  13. exec rofi -modi calc -show calc
  14. super + space
  15. exec rofi -show drun
  16. alt + Tab
  17. rofi-windowswitcher
  18. # applications
  19. super + Return
  20. exec kitty -1
  21. super + shift + {m,v}
  22. exec {mpv "$(xclip -sel c -o)",pavucontrol-qt}
  23. super + shift + {n,p}
  24. exec kitty -1 --class=kittyfloat -o initial_window_width=900 -o initial_window_height=900 \
  25. {ncmpcpp,htop}
  26. super + Insert
  27. carpalx-helper
  28. {_,ctrl} + Print
  29. screenshot {-s -u,-u}
  30. super + {_,shift + }Print
  31. exec {peek -t, peek}
  32. {shift,shift + alt,ctrl,ctrl + alt,alt} + Home
  33. dunstctl {close,close-all,history-pop,context,action 0}
  34. #
  35. # bspwm hotkeys
  36. #
  37. # close and kill
  38. super + {_,shift + }w
  39. bspc node -{c,k}
  40. # alternate between the tiled and monocle layout
  41. super + m
  42. bspc desktop -l next
  43. # if current node is automatic, send it to the last manual, otherwise pull the last leaf
  44. super + y
  45. bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused
  46. # swap the current node and the biggest local window
  47. super + g
  48. bspc node -s biggest.local.window
  49. # toggle pointer focus
  50. super + alt + p
  51. bspc config focus_follows_pointer {true,false}
  52. #
  53. # state/flags
  54. #
  55. # set the window state
  56. super + {t,shift + t,s,f}
  57. bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
  58. # set the node flags
  59. super + ctrl + {w,x,y,z}
  60. bspc node -g {hidden,locked,sticky,private}
  61. super + ctrl + shift + w
  62. bspc node $(bspc query -N -d focused -n .hidden | tail -1) -g hidden=off
  63. #
  64. # focus/swap
  65. #
  66. super {_,+ shift} + r
  67. bspc node @/ -R {90,270}
  68. # rotate leaves of tree
  69. super + shift + {comma,period}
  70. bspc desktop -R {90,270}
  71. # focus/swap the node in the given direction
  72. super + {_,shift + }{h,j,k,l}
  73. bspc node -{f,s} {west,south,north,east}
  74. # focus the node for the given path jump
  75. super + {p,b,comma,period}
  76. bspc node -f @{parent,brother,first,second}
  77. # focus the next/previous window in the current desktop
  78. super + {_,shift + }c
  79. bspc node -f {next,prev}.local.!local.window
  80. # focus the next/previous desktop
  81. super + bracket{left,right}
  82. bspc desktop -f {prev,next}
  83. # focus the last node/desktop
  84. super + {grave,Tab}
  85. bspc {node,desktop} -f last
  86. # focus the older or newer node in the focus history
  87. super + {o,i}
  88. bspc wm -h off; \
  89. bspc node {older,newer} -f; \
  90. bspc wm -h on
  91. # focus/send to the given desktop
  92. {_,shift + }{super,mode_switch} + {1-9,0}
  93. bspc {desktop -f,node -d} {DisplayPort,HDMI-A}-3:'^{1-9,10}'
  94. # focus/send to another monitor
  95. super + minus
  96. bspc monitor -f last
  97. super + underscore
  98. bspc node -m last --follow
  99. #
  100. # preselect
  101. #
  102. # preselect the direction
  103. super + ctrl + {h,j,k,l}
  104. bspc node -p {west,south,north,east}
  105. # preselect the ratio
  106. super + ctrl + {1-9}
  107. bspc node -o 0.{1-9}
  108. # cancel the preselection for the focused node
  109. super + ctrl + space
  110. bspc node -p cancel
  111. #
  112. # move/resize
  113. #
  114. # expand the tiled space in the given direction
  115. super + alt + {h,j,k,l}
  116. bspc node {@west -r -,@south -r +,@north -r -,@east -r +}10
  117. # contract the tiled space in the given direction
  118. super + alt + shift + {h,j,k,l}
  119. bspc node {@east -r -,@north -r +,@south -r -,@west -r +}10
  120. # move a floating window
  121. super + {Left,Down,Up,Right}
  122. bspc node -v {-20 0, 0 20, 0 -20,20 0}