sxhkdrc 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. #!/bin/sh
  2. # ======================================================================
  3. # SXHKDRC — Конфигурационный файл горячих клавиш
  4. # ----------------------------------------------------------------------
  5. # Менеджер горячих клавиш : sxhkd
  6. # Оконный менеджер : bspwm
  7. # ======================================================================
  8. # ======================================================================
  9. # 1. НЕЗАВИСИМЫЕ ГОРЯЧИЕ КЛАВИШИ
  10. # ======================================================================
  11. # Запуск терминала Alacritty
  12. super + Return
  13. alacritty
  14. #Запуск nautilus, ranger
  15. super + {_,shift +}e
  16. {nautilus, alacritty -e ranger}
  17. # Запуск меню приложений (Rofi)
  18. super + @space
  19. rofi -show drun
  20. # Перезагрузка конфигурации sxhkd и очистка предвыбора
  21. super + Escape
  22. bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel; \
  23. pkill -USR1 -x sxhkd; notify-send "sxhkd" "Конфигурация перезагружена и предвыбор очищен!" -t 700
  24. # Перезагрузка Polybar
  25. super + shift + p
  26. sh $HOME/.config/polybar/launch.sh
  27. # Смена языка
  28. Alt_L + shift
  29. sh $HOME/bin/change_language.sh
  30. # Смена языка
  31. Shift_L + alt
  32. sh $HOME/bin/change_language.sh
  33. super + l
  34. sh $HOME/bin/_lock.sh
  35. alt + v
  36. clipton
  37. # ======================================================================
  38. # 2. УПРАВЛЕНИЕ BSPWM
  39. # ======================================================================
  40. # Выход / Перезапуск bspwm
  41. super + alt + {q,r}
  42. bspc {quit,wm -r}
  43. # Закрыть / Уничтожить текущее окно
  44. super + {_,shift + }c
  45. bspc node -{c,k}
  46. # Переключение layout (tiled/monocle)
  47. super + m
  48. bspc desktop -l next
  49. # Повернуть стек окон (Rotate) — превращает вертикальное в горизонтальное и наоборот
  50. super + r
  51. bspc node @parent -R 90
  52. # Поменять местами окна в сетке (Swap)
  53. super + shift + {h,j,k,l}
  54. bspc node -s {west,south,north,east}
  55. # Перемещение плавающих окон
  56. super + shift + {Left,Down,Up,Right}
  57. bspc node -v {-20 0,0 20,0 -20,20 0}
  58. super + y
  59. bspc node newest.marked.local -n newest.!automatic.local
  60. # Поменять местами текущий узел и самое большое окно
  61. super + g
  62. bspc node -s biggest.window
  63. # ======================================================================
  64. # 3. СОСТОЯНИЯ И ФЛАГИ ОКНА
  65. # ======================================================================
  66. # Установить состояние окна (Tiled, Pseudo-tiled, Floating, Fullscreen)
  67. super + {t,shift + t,s,f}
  68. bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
  69. # Установить флаги узла (Marked, Locked, Sticky, Private)
  70. super + ctrl + {m,x,y,z}
  71. bspc node -g {marked,locked,sticky,private}
  72. # ======================================================================
  73. # 4. ФОКУС / ПЕРЕКЛЮЧЕНИЕ / SWAP
  74. # ======================================================================
  75. # Фокусировка / Перемещение узла (заменить на стрелки)
  76. #super + {_,shift + }{h,j,k,l}
  77. # bspc node -{f,s} {west,south,north,east}
  78. # Фокусировка по иерархии
  79. super + {p,b,comma,period}
  80. bspc node -f @{parent,brother,first,second}
  81. # Следующее / Предыдущее окно
  82. super + {_,shift + }c
  83. bspc node -f {next,prev}.local.!hidden.window
  84. # Следующий / Предыдущий рабочий стол
  85. super + bracket{left,right}
  86. bspc desktop -f {prev,next}.local
  87. # Последний активный узел / рабочий стол
  88. alt + Tab
  89. bspc node -f last
  90. # Старый / Новый узел в истории
  91. super + {o,i}
  92. bspc wm -h off; bspc node {older,newer} -f; bspc wm -h on
  93. # Фокус / Отправка окна на рабочий стол (1–9, 0)
  94. super + {_,shift + }{1-9,0}
  95. bspc {desktop -f,node -d} '^{1-9,10}'
  96. # ======================================================================
  97. # 5. ПРЕДВЫБОР (Preselect)
  98. # ======================================================================
  99. # Предвыбор направления (куда откроется следующее окно)
  100. super + {Left,Down,Up,Right}
  101. bspc node -p {west,south,north,east}
  102. # Предвыбор соотношения деления
  103. super + ctrl + {1-9}
  104. bspc node -o 0.{1-9}
  105. # Отмена предвыбора текущего узла
  106. super + ctrl + space
  107. bspc node -p cancel
  108. # Отмена предвыбора всех узлов
  109. super + ctrl + shift + space
  110. bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
  111. # ======================================================================
  112. # 6. РАЗМЕР И ПЕРЕМЕЩЕНИЕ (Resize / Move)
  113. # ======================================================================
  114. # Увеличение размера окна
  115. super + alt + {h,j,k,l}
  116. bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
  117. # Уменьшение размера окна
  118. super + alt + shift + {h,j,k,l}
  119. bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
  120. # --- DEV ---
  121. # --- 4. Управление системой ---
  122. #Скриншиот
  123. super + shift + s
  124. flameshot gui
  125. # --- 5. Аппаратные клавиши (Громкость) ---
  126. # (Требует 'pulseaudio-ctl', который у тебя уже должен быть)
  127. # Увеличить громкость
  128. #XF86AudioRaiseVolume
  129. # pulseaudio-ctl up 5
  130. # Уменьшить громкость
  131. #XF86AudioLowerVolume
  132. # pulseaudio-ctl down 5
  133. # Вкл/Выкл звук
  134. #XF86AudioMute
  135. # pulseaudio-ctl mute
  136. # --- 6. Аппаратные клавиши (Яркость) ---
  137. # (Требует 'brightnessctl': sudo pacman -S brightnessctl)
  138. # Увеличить яркость
  139. #XF86MonBrightnessUp
  140. # brightnessctl set 5%+
  141. # Уменьшить яркость
  142. #XF86MonBrightnessDown
  143. # brightnessctl set 5%-