#! /bin/sh # ============================================================================== # ЗАПУСК ВСПОМОГАТЕЛЬНЫХ СЕРВИСОВ И ПРОГРАММ (Autostart) # ============================================================================== # Запуск демона горячих клавиш (sxhkd) # Проверяем, запущен ли sxhkd, и если нет, запускаем его в фоне. # ВНИМАНИЕ: Горячие клавиши настраиваются в файле ~/.config/sxhkd/sxhkdrc pgrep -x sxhkd > /dev/null || sxhkd & # Установка фонового изображения (пример: с помощью feh) # feh --bg-fill ~/path/to/your/wallpaper.jpg & # Проблемы: Если не установлен feh или другой установщик обоев, # или указан неверный путь, обои не загрузятся. # Запуск композитного менеджера (например, picom для теней и прозрачности) # picom & # Проблемы: Если picom не установлен, или конфигурация picom неверна, # могут быть проблемы с отрисовкой окон. # Запуск панели (например, polybar или lemonbar) # ~/.config/polybar/launch.sh & # Проблемы: Необходимо создать скрипт запуска панели (например, launch.sh), # который корректно настроит и запустит вашу панель. # ============================================================================== # НАСТРОЙКА МОНИТОРОВ И РАБОЧИХ СТОЛОВ # ============================================================================== # Создание и именование рабочих столов (десктопов) на текущем мониторе # Мониторы идентифицируются по их именам (например, DVI-0, HDMI-A-0), # но bspwm по умолчанию использует первый (самый левый) монитор. bspc monitor -d 1 2 3 4 5 6 7 # Если у вас несколько мониторов, их можно настроить так (пример): # bspc monitor DVI-I-1 -d 1 2 3 4 # bspc monitor DVI-D-0 -d 5 6 7 8 9 10 # Проблемы: Используйте 'xrandr' в терминале для получения точных имен ваших мониторов. # ============================================================================== # ОБЩИЕ НАСТРОЙКИ BSPWM (Параметры bspc config) # ============================================================================== # Ширина границы окна в пикселях bspc config border_width 2 # Промежуток между окнами в пикселях (гап) bspc config window_gap 12 # Соотношение сторон при разделении (новое окно занимает 52% доступного места) bspc config split_ratio 0.52 # Граница не отображается в режиме "монокль" (одно окно на весь десктоп) bspc config borderless_monocle true # Промежуток (гап) между окнами не отображается в режиме "монокль" bspc config gapless_monocle true # Цвет активной (фокусированной) границы окна (пример: яркий голубой) # bspc config focused_border_color "#8be9fd" # Проблемы: HEX-коды цветов должны быть в формате #RRGGBB. # Композитор picom --config $HOME/.config/bspwm/picom_configurations/1.conf & # Демон для уведомлений dunst -config $HOME/.config/dunst/dunstrc & # Polybar $HOME/.config/polybar/launch.sh feh --no-fehbg --bg-fill $HOME/Wallpaper/archtv.png # ============================================================================== # ПРАВИЛА ДЛЯ ОКОН (bspc rule -a <класс> ...) # ============================================================================== # Правило для Gimp: # -a Gimp: применять к окнам с классом 'Gimp'. # desktop='^8': открыть на рабочем столе 8. # state=floating: сделать его плавающим. # follow=on: автоматически переключиться на этот рабочий стол при запуске. bspc rule -a feh state=floating bspc rule -a nekoray state=floating bspc rule -a Gimp desktop='^8' state=floating follow=on # Правило для Chromium: # desktop='^2': открыть на рабочем столе 2. bspc rule -a Chromium desktop='^2' # Правило для mplayer2: # state=floating: сделать его плавающим. bspc rule -a mplayer2 state=floating # Правило для Kupfer.py (устаревший лаунчер): # focus=on: автоматически сфокусироваться на нем при появлении. bspc rule -a Kupfer.py focus=on # Правило для Screenkey: # manage=off: bspwm не должен управлять этим окном (например, для программ-оверлеев). bspc rule -a Screenkey manage=off # Дополнительный пример правила для Telegram Desktop: # bspc rule -a TelegramDesktop desktop='^9' state=floating # Проблемы: Класс окна (первый аргумент после -a) должен быть точным. # Используйте утилиту `xprop` (клик по окну), чтобы узнать точное значение # для `WM_CLASS(STRING)`. Обычно берется вторая строка (класс). # ============================================================================== # ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ BSPWM (Пример) # ============================================================================== # Применить настройки для фокуса: # Если фокус теряется/получается, переместить его к ближайшему узлу. # bspc config focus_by_distance true # # Курор xsetroot -cursor_name left_ptr & # ============================================================================== # КОНЕЦ ФАЙЛА # ==============================================================================