sxhkdrc 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. # TODO export SXHKD_SHELL=/usr/bin/bash into .profile
  2. # to execute embedded shell scripts!!!
  3. # Personal keybindings
  4. # My dmenu scripts <CTRL + ALT> + KEY
  5. ctrl + alt + {c, r, s, x}
  6. {$HOME/.myScripts/dmscripts/dm-edit-configs.sh, \
  7. $HOME/.myScripts/dmscripts/dm-run-programs.sh, \
  8. $HOME/.myScripts/dmscripts/dm-run-scripts.sh, \
  9. $HOME/.myScripts/dmscripts/dm-system-exit.sh}
  10. # My applications <SUPER + ALT> + KEY
  11. # Launchers
  12. super + alt + {r, d}
  13. {rofi run -show drun -show-icons, \
  14. dmenu_run -i -l 10 -nb '#263238' -nf '#24d2af' -sb '#009185' -p 'Run: ' -fn 'Iosevka-17:normal'}
  15. # Terminals
  16. super + {_, alt +, ctrl +} Return
  17. {$TERMINAL, terminator, xfce4-terminal}
  18. # Applications
  19. super + alt + {c, g, m, s, b, w, Print, u, e}
  20. {code,goldendict,gvim,subl,brave,firefox,flameshot gui,qutebrowser,dolphin}
  21. super + alt + {v, a, n, t, p}
  22. {$TERMINAL -e $HOME/.config/vifm/scripts/vifmrun, \
  23. $TERMINAL -e $SHELL -c ranger, \
  24. thunar, \
  25. $HOME/Programs/Telegram/Telegram -workdir $HOME/.local/share/TelegramDesktop/ -- %u, \
  26. $HOME/Programs/PyCharm-Community/bin/pycharm.sh}
  27. # My applications as Root <SUPER + SHIFT + ALT> + KEY
  28. super + shift + alt + {v, a, n}
  29. {$HOME/.myScripts/runVifmAsRoot.sh, \
  30. $HOME/.myScripts/runRangerAsRoot.sh, \
  31. $HOME/.myScripts/runThunarAsRoot.sh}
  32. ctrl + shift + Escape
  33. $TERMINAL -e $SHELL -c htop
  34. # <SUPER> + <F1-F12>
  35. # Brightness
  36. {XF86MonBrightnessUp, XF86MonBrightnessDown}
  37. {xbacklight -inc 10, xbacklight -dec 10}
  38. # ALSA volume control
  39. super + {F9, F8, F7}
  40. {$HOME/.myScripts/volume_up.sh, \
  41. $HOME/.myScripts/volume_down.sh, \
  42. pactl set-sink-mute @DEFAULT_SINK@ toggle}
  43. # <ALT> + <F1-F12>
  44. alt + F4
  45. $HOME/Programs/ByeBye/ByeBye
  46. # Hotkeys BSPWM
  47. # Quit/Restart bspwm
  48. super + shift + {q, r}
  49. bspc {quit, wm -r}
  50. # Reload sxhkd config
  51. super + shift + e
  52. pkill -USR1 -x sxhkd
  53. # Close and Kill
  54. super + shift + {_, ctrl +} c
  55. bspc node -{c, k}
  56. # Alternate between the tiled and monocle layout
  57. super + Tab
  58. bspc desktop -l next
  59. # # send the newest marked node to the newest preselected node
  60. # super + y
  61. # bspc node newest.marked.local -n newest.!automatic.local
  62. #
  63. # # swap the current node and the biggest node
  64. # super + g
  65. # bspc node -s biggest
  66. # STATE/FLAGS
  67. # Set the window state
  68. # A TILDE (~) in front of the desired state which means when pressed again go to the previous state!!!
  69. super + {t, shift + t, shift + f, f}
  70. bspc node -t ~{tiled,pseudo_tiled,floating,fullscreen}
  71. # Set the node flags
  72. super + ctrl + {m, o, s, p}
  73. bspc node -g {marked,locked,sticky,private}
  74. # HIDE/SHOW
  75. # Set the focused node hidden
  76. alt + n
  77. bspc node --flag hidden=on
  78. # Hide all local nodes
  79. alt + shift + n
  80. for i in $(bspc query -N -n .local); \
  81. do \
  82. bspc node $i -g hidden=on; \
  83. done
  84. # Show all hidden local nodes
  85. super + ctrl + n
  86. for i in $(bspc query -N -n .local.hidden); \
  87. do \
  88. bspc node $i -g hidden=off; \
  89. done
  90. # FOCUS/SWAP
  91. # Focus the node in the given direction
  92. super + {_, shift + }{h, j, k, l}
  93. bspc node -{f,s} {west,south,north,east}
  94. # # focus the node for the given path jump
  95. # super + {p,b,comma,period}
  96. # bspc node -f @{parent,brother,first,second}
  97. # Focus the next/previous node in the current desktop
  98. alt + {j, k}
  99. bspc node -f {next,prev}.local
  100. # Focus the last node/desktop
  101. super + Escape
  102. bspc desktop -f last
  103. alt + Tab
  104. bspc node -f last
  105. # Focus the next/previous desktop in the current monitor
  106. super + {Left, Right}
  107. bspc desktop -f {prev,next}.local
  108. # Focus or send to the given desktop
  109. super + {_,shift + }{1-9,0}
  110. bspc {desktop -f,node -d} focused:'^{1-9,10}' --follow
  111. # PRESELECT
  112. # Preselect the direction
  113. alt + shift + {h, j, k, l}
  114. bspc node -p {west,south,north,east}
  115. # Cancel the preselection for the focused node
  116. alt + shift + Escape
  117. bspc node -p cancel
  118. # MOVE/RESIZE
  119. # Resize a window by moving one of its side outward
  120. super + ctrl + {h, j, k, l}
  121. {bspc node -z left -20 0; bspc node -z right -20 0, \
  122. bspc node -z bottom 0 20; bspc node -z top 0 20, \
  123. bspc node -z bottom 0 -20; bspc node -z top 0 -20, \
  124. bspc node -z left 20 0; bspc node -z right 20 0}
  125. # Resize a floating window
  126. super + shift + {Left, Down, Up, Right}
  127. {bspc node -z right -20 20, \
  128. bspc node -z bottom 20 20, \
  129. bspc node -z bottom 20 -20, \
  130. bspc node -z right 20 20}
  131. # Move a floating window
  132. super + ctrl + {Left, Down, Up, Right}
  133. bspc node -v {-20 0,0 20,0 -20,20 0}
  134. # Toggle split: vertical/horizontal
  135. super + {_, shift + } s
  136. bspc node '@parent' -R {_, -}90