#! /usr/bin/env bash # # bspwm.sh # Copyright (C) 2018 salt # # Distributed under terms of the MIT license. # main() { if ! pgrep -U "$UID" bspwm > /dev/null 2>&1; then tsk_log "Not under bspwm" 1 return 1 fi tsk_log "Configuring bspwm miscellanea" ## Behavior tsk_log "Configuring behavior" 0 # Tiling behavior bspc config split_ratio 0.50 bspc config remove_disabled_monitors false bspc config remove_unplugged_monitors true # Pointer behavior bspc config click_to_focus any bspc config pointer_follows_focus false bspc config pointer_follows_monitor true bspc config pointer_modifier mod1 bspc config pointer_action1 move #LMB bspc config pointer_action2 resize_corner #RMB ## Looks tsk_log "Configuring looks" 0 # Padding bspc config border_width ${BSPWM_BORDER_WIDTH:-2} bspc config window_gap ${BSPWM_WINDOW_GAP:-8} bspc config single_monocle false bspc config borderless_monocle false bspc config gapless_monocle true # Colors bspc config normal_border_color "#3c3836" #Unfocused bspc config active_border_color "#458588" #Focused, but current monitor isn't bspc config focused_border_color "#83a598" #Focused completely bspc config presel_feedback_color "#9b9b9b" #??? tsk_log "Setting window rules" 0 bspc rule -r '*' bspc rule -a Firefox desktop=1 bspc rule -a Firefox-esr desktop=1 bspc rule -a Waterfox desktop=1 bspc rule -a Liferea desktop=6 bspc rule -a discord desktop=7 bspc rule -a spotify desktop=8 bspc rule -a 'Minecraft 1.7.10' state=fullscreen bspc rule -a Xephyr state=pseudo_tiled # For fullscreen Wine bspc rule -a explorer.exe state=fullscreen # Plasma rules bspc rule -a plasmashell state=floating sticky=on border=off bspc rule -a krunner state=floating layer=above sticky=on border=off # Widgets bspc rule -a Conky state=floating layer=below sticky=on bspc rule -a pavucontrol-qt state=floating layer=above sticky=on } main $@