sxhkdrc 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #!/bin/sh
  2. # ======================================================================
  3. # SXHKDRC — Конфигурационный файл горячих клавиш
  4. # ----------------------------------------------------------------------
  5. # Менеджер горячих клавиш : sxhkd
  6. # Оконный менеджер : bspwm
  7. # ======================================================================
  8. # ======================================================================
  9. # 1. НЕЗАВИСИМЫЕ ГОРЯЧИЕ КЛАВИШИ
  10. # ======================================================================
  11. # Запуск терминала Alacritty
  12. super + Return
  13. alacritty
  14. # Запуск меню приложений (Rofi)
  15. super + @space
  16. rofi -show drun -theme $HOME/.config/rofi/themes/nord/nord.rasi
  17. # Перезагрузка конфигурации sxhkd
  18. super + Escape
  19. pkill -USR1 -x sxhkd
  20. # Перезагрузка Polybar
  21. super + shift + p
  22. sh $HOME/.config/polybar/launch.sh
  23. # Смена языка
  24. Alt_L + shift
  25. sh $HOME/bin/change_language.sh
  26. # Смена языка
  27. Shift_L + alt
  28. sh $HOME/bin/change_language.sh
  29. # ======================================================================
  30. # 2. УПРАВЛЕНИЕ BSPWM
  31. # ======================================================================
  32. # Выход / Перезапуск bspwm
  33. super + alt + {q,r}
  34. bspc {quit,wm -r}
  35. # Закрыть / Уничтожить текущее окно
  36. super + {_,shift + }c
  37. bspc node -{c,k}
  38. # Переключение layout (tiled/monocle)
  39. super + m
  40. bspc desktop -l next
  41. # Отправить помеченный узел к предустановленному
  42. super + y
  43. bspc node newest.marked.local -n newest.!automatic.local
  44. # Поменять местами текущий узел и самое большое окно
  45. super + g
  46. bspc node -s biggest.window
  47. # ======================================================================
  48. # 3. СОСТОЯНИЯ И ФЛАГИ ОКНА
  49. # ======================================================================
  50. # Установить состояние окна (Tiled, Pseudo-tiled, Floating, Fullscreen)
  51. super + {t,shift + t,s,f}
  52. bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
  53. # Установить флаги узла (Marked, Locked, Sticky, Private)
  54. super + ctrl + {m,x,y,z}
  55. bspc node -g {marked,locked,sticky,private}
  56. # ======================================================================
  57. # 4. ФОКУС / ПЕРЕКЛЮЧЕНИЕ / SWAP
  58. # ======================================================================
  59. # Фокусировка / Перемещение узла
  60. super + {_,shift + }{h,j,k,l}
  61. bspc node -{f,s} {west,south,north,east}
  62. # Фокусировка по иерархии
  63. super + {p,b,comma,period}
  64. bspc node -f @{parent,brother,first,second}
  65. # Следующее / Предыдущее окно
  66. super + {_,shift + }c
  67. bspc node -f {next,prev}.local.!hidden.window
  68. # Следующий / Предыдущий рабочий стол
  69. super + bracket{left,right}
  70. bspc desktop -f {prev,next}.local
  71. # Последний активный узел / рабочий стол
  72. super + {grave,Tab}
  73. bspc {node,desktop} -f last
  74. # Старый / Новый узел в истории
  75. super + {o,i}
  76. bspc wm -h off; bspc node {older,newer} -f; bspc wm -h on
  77. # Фокус / Отправка окна на рабочий стол (1–9, 0)
  78. super + {_,shift + }{1-9,0}
  79. bspc {desktop -f,node -d} '^{1-9,10}'
  80. # ======================================================================
  81. # 5. ПРЕДВЫБОР (Preselect)
  82. # ======================================================================
  83. # Предвыбор направления
  84. super + ctrl + {h,j,k,l}
  85. bspc node -p {west,south,north,east}
  86. # Предвыбор соотношения деления
  87. super + ctrl + {1-9}
  88. bspc node -o 0.{1-9}
  89. # Отмена предвыбора текущего узла
  90. super + ctrl + space
  91. bspc node -p cancel
  92. # Отмена предвыбора всех узлов
  93. super + ctrl + shift + space
  94. bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
  95. # ======================================================================
  96. # 6. РАЗМЕР И ПЕРЕМЕЩЕНИЕ (Resize / Move)
  97. # ======================================================================
  98. # Увеличение размера окна
  99. super + alt + {h,j,k,l}
  100. bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
  101. # Уменьшение размера окна
  102. super + alt + shift + {h,j,k,l}
  103. bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
  104. # Перемещение плавающего окна
  105. super + {Left,Down,Up,Right}
  106. bspc node -v {-20 0,0 20,0 -20,20 0}