| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- #! /bin/sh
- # ==============================================================================
- # ЗАПУСК ВСПОМОГАТЕЛЬНЫХ СЕРВИСОВ И ПРОГРАММ (Autostart)
- # ==============================================================================
- # Запуск демона горячих клавиш (sxhkd)
- # Проверяем, запущен ли sxhkd, и если нет, запускаем его в фоне.
- # ВНИМАНИЕ: Горячие клавиши настраиваются в файле ~/.config/sxhkd/sxhkdrc
- pgrep -x sxhkd > /dev/null || sxhkd &
- # Проверка, запущен ли SSH агент
- if ! pgrep -u "$USER" ssh-agent > /dev/null; then
- eval "$(ssh-agent -s)"
- fi
- # Установка фонового изображения (пример: с помощью 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 по умолчанию использует первый (самый левый) монитор.
- source $HOME/dotfiles/Profile.env
- if [ $profile == "work" ]
- then
- bspc monitor HDMI-1 -d 1 2 3 4 5
- bspc monitor HDMI-2 -d 6 7 8 9 10
- elif [ $profile == "laptop" ]
- then
- bspc monitor eDP-1 -d 1 2 3 4 5 6 7
- else
- _primary=$(xrandr -q | grep "primary" | cut -d' ' -f1)
- bspc monitor $_primary -d 1 2 3
- fi
- # Если у вас несколько мониторов, их можно настроить так (пример):
- # 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/logo_black_hack_the_plane\(0x701010\).png
- # ==============================================================================
- # ПРАВИЛА ДЛЯ ОКОН (bspc rule -a <класс> ...)
- # ==============================================================================
- # Правило для Gimp:
- # -a Gimp: применять к окнам с классом 'Gimp'.
- # Класс окна: xprop WM_CLASS
- # desktop='^8': открыть на рабочем столе 8.
- # state=floating: сделать его плавающим.
- # follow=on: автоматически переключиться на этот рабочий стол при запуске.
- bspc rule -a feh state=floating
- bspc rule -a nekobox state=floating follow=on center=true rectangle=800x400
- bspc rule -a Gimp desktop='^8' state=floating follow=on
- bspc rule -a TelegramDesktop desktop='^6' state=floating center=true rectangle=1200x720
- #bspc rule -a desktop='^6' state=floating
- bspc rule -a org.gnome.Nautilus state=floating follow=on
- bspc rule -a crx_nngceckbapebfimnlniiiahkandclblb state=floating
- bspc rule -a crx_nngceckbapebfimnlniiiahkandclblb state=floating
- bspc rule -a kleopatra state=floating center=true
- #bspc rule -a state=floating
- #bspc rule -a state=floating
- #bspc rule -a state=floating
- #bspc rule -a state=floating
- #bspc rule -a state=floating
- #bspc rule -a state=floating
- # Правило для 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 &
- # ==============================================================================
- # КОНЕЦ ФАЙЛА
- # ==============================================================================
|