sxhkdrc 5.7 KB

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