#! /bin/bash
#
# bspwm.sh
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#

if ! pgrep bspwm > /dev/null 2>&1; then
	tsk_log "Not under bspwm" 1
	exit 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 discord desktop=7
bspc rule -a spotify desktop=8
bspc rule -a 'Minecraft 1.7.10' state=fullscreen
# 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