bspwmrc 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #! /bin/sh
  2. # ==============================================================================
  3. # ЗАПУСК ВСПОМОГАТЕЛЬНЫХ СЕРВИСОВ И ПРОГРАММ (Autostart)
  4. # ==============================================================================
  5. # Запуск демона горячих клавиш (sxhkd)
  6. # Проверяем, запущен ли sxhkd, и если нет, запускаем его в фоне.
  7. # ВНИМАНИЕ: Горячие клавиши настраиваются в файле ~/.config/sxhkd/sxhkdrc
  8. pgrep -x sxhkd > /dev/null || sxhkd &
  9. # Установка фонового изображения (пример: с помощью feh)
  10. # feh --bg-fill ~/path/to/your/wallpaper.jpg &
  11. # Проблемы: Если не установлен feh или другой установщик обоев,
  12. # или указан неверный путь, обои не загрузятся.
  13. # Запуск композитного менеджера (например, picom для теней и прозрачности)
  14. # picom &
  15. # Проблемы: Если picom не установлен, или конфигурация picom неверна,
  16. # могут быть проблемы с отрисовкой окон.
  17. # Запуск панели (например, polybar или lemonbar)
  18. # ~/.config/polybar/launch.sh &
  19. # Проблемы: Необходимо создать скрипт запуска панели (например, launch.sh),
  20. # который корректно настроит и запустит вашу панель.
  21. # ==============================================================================
  22. # НАСТРОЙКА МОНИТОРОВ И РАБОЧИХ СТОЛОВ
  23. # ==============================================================================
  24. # Создание и именование рабочих столов (десктопов) на текущем мониторе
  25. # Мониторы идентифицируются по их именам (например, DVI-0, HDMI-A-0),
  26. # но bspwm по умолчанию использует первый (самый левый) монитор.
  27. bspc monitor HDMI-1 -d 1 2 3 4 5
  28. bspc monitor HDMI-2 -d 6 7 8 9 10
  29. # Если у вас несколько мониторов, их можно настроить так (пример):
  30. # bspc monitor DVI-I-1 -d 1 2 3 4
  31. # bspc monitor DVI-D-0 -d 5 6 7 8 9 10
  32. # Проблемы: Используйте 'xrandr' в терминале для получения точных имен ваших мониторов.
  33. # ==============================================================================
  34. # ОБЩИЕ НАСТРОЙКИ BSPWM (Параметры bspc config)
  35. # ==============================================================================
  36. # Ширина границы окна в пикселях
  37. bspc config border_width 2
  38. # Промежуток между окнами в пикселях (гап)
  39. bspc config window_gap 12
  40. # Соотношение сторон при разделении (новое окно занимает 52% доступного места)
  41. bspc config split_ratio 0.52
  42. # Граница не отображается в режиме "монокль" (одно окно на весь десктоп)
  43. bspc config borderless_monocle true
  44. # Промежуток (гап) между окнами не отображается в режиме "монокль"
  45. bspc config gapless_monocle true
  46. # Цвет активной (фокусированной) границы окна (пример: яркий голубой)
  47. # bspc config focused_border_color "#8be9fd"
  48. # Проблемы: HEX-коды цветов должны быть в формате #RRGGBB.
  49. # Композитор
  50. picom --config $HOME/.config/bspwm/picom_configurations/1.conf &
  51. # Демон для уведомлений
  52. dunst -config $HOME/.config/dunst/dunstrc &
  53. # Polybar
  54. $HOME/.config/polybar/launch.sh
  55. feh --no-fehbg --bg-fill $HOME/Wallpaper/archtv.png
  56. # ==============================================================================
  57. # ПРАВИЛА ДЛЯ ОКОН (bspc rule -a <класс> ...)
  58. # ==============================================================================
  59. # Правило для Gimp:
  60. # -a Gimp: применять к окнам с классом 'Gimp'.
  61. # Класс окна: xprop WM_CLASS
  62. # desktop='^8': открыть на рабочем столе 8.
  63. # state=floating: сделать его плавающим.
  64. # follow=on: автоматически переключиться на этот рабочий стол при запуске.
  65. bspc rule -a feh state=floating
  66. bspc rule -a nekoray state=floating
  67. bspc rule -a Gimp desktop='^8' state=floating follow=on
  68. bspc rule -a TelegramDesktop desktop='^6' state=floating
  69. #bspc rule -a desktop='^6' state=floating
  70. bspc rule -a krusader state=floating
  71. bspc rule -a crx_nngceckbapebfimnlniiiahkandclblb state=floating
  72. bspc rule -a kleopatra state=floating
  73. #bspc rule -a state=floating
  74. #bspc rule -a state=floating
  75. #bspc rule -a state=floating
  76. #bspc rule -a state=floating
  77. #bspc rule -a state=floating
  78. #bspc rule -a state=floating
  79. # Правило для Chromium:
  80. # desktop='^2': открыть на рабочем столе 2.
  81. bspc rule -a Chromium desktop='^2'
  82. # Правило для mplayer2:
  83. # state=floating: сделать его плавающим.
  84. bspc rule -a mplayer2 state=floating
  85. # Правило для Kupfer.py (устаревший лаунчер):
  86. # focus=on: автоматически сфокусироваться на нем при появлении.
  87. bspc rule -a Kupfer.py focus=on
  88. # Правило для Screenkey:
  89. # manage=off: bspwm не должен управлять этим окном (например, для программ-оверлеев).
  90. bspc rule -a Screenkey manage=off
  91. # Дополнительный пример правила для Telegram Desktop:
  92. # bspc rule -a TelegramDesktop desktop='^9' state=floating
  93. # Проблемы: Класс окна (первый аргумент после -a) должен быть точным.
  94. # Используйте утилиту `xprop` (клик по окну), чтобы узнать точное значение
  95. # для `WM_CLASS(STRING)`. Обычно берется вторая строка (класс).
  96. # ==============================================================================
  97. # ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ BSPWM (Пример)
  98. # ==============================================================================
  99. # Применить настройки для фокуса:
  100. # Если фокус теряется/получается, переместить его к ближайшему узлу.
  101. # bspc config focus_by_distance true
  102. #
  103. # Курор
  104. xsetroot -cursor_name left_ptr &
  105. # ==============================================================================
  106. # КОНЕЦ ФАЙЛА
  107. # ==============================================================================