#! /bin/sh #--- General ---# # Basic definitions if [ "$HIDPI" = true ]; then bspc config border_width 4 bspc config window_gap 20 else bspc config border_width 2 bspc config window_gap 10 fi bspc config split_ratio 0.502 bspc config top_padding "$PANEL_HEIGHT" # Colors bspc config focused_border_color "$FGCOLOR_INACTIVE" bspc config normal_border_color "$BGCOLOR_INACTIVE" bspc config active_border_color "$BGCOLOR_INACTIVE" bspc config presel_feedback_color "$FGCOLOR_INACTIVE" # Node bspc config borderless_monocle true bspc config gapless_monocle true bspc config initial_polarity second_child bspc config single_monocle true # Pointer bspc config focus_follows_pointer true bspc config pointer_follows_monitor true bspc config pointer_modifier mod4 #--- Rules ---# bspc config external_rules_command "$HOME/.config/bspwm/rules" # Reset all rules bspc rule -r * # Open program on specific desktop bspc rule -a firefox desktop="$WS1" locked=on bspc rule -a URxvt -o desktop="$WS2" bspc rule -a Thunar desktop="$WS3" bspc rule -a kdenlive desktop="$WS5" follow=on bspc rule -a krita desktop="$WS5" follow=on # Set program properties bspc rule -a Arandr state=floating bspc rule -a Emacs state=tiled bspc rule -a feh state=floating bspc rule -a firefox:Places state=floating bspc rule -a Inferno state=floating bspc rule -a Lxappearance state=floating bspc rule -a mpv state=floating center=on bspc rule -a Pavucontrol state=floating bspc rule -a Qemu-system-i386 state=floating bspc rule -a Qemu-system-x86_64 state=floating bspc rule -a Zathura state=tiled #--- Scripts ---# # Set desktops "$HOME"/.local/bin/wm/desktops.sh # Program startup "$HOME"/.local/bin/wm/wallpaper.sh & "$HOME"/.local/bin/panel/polybar.sh & [ "$1" = 0 ] && { # Only execute once firefox & urxvt & thunar & }