Files
dotfiles/bspwm/bspwmrc

51 lines
1.4 KiB
Bash
Executable File

#! /bin/sh
# Manage multi-monitor workspaces and dead nodes
external_output="$(xrandr | grep -E "HDMI-A-0 connected|DisplayPort-0 connected|DisplayPort-1 connected" | awk 'NR==1{print $1}')"
lid_state="$(cat /proc/acpi/button/lid/LID0/state | awk '{print $2}')"
if [[ ${#external_output} -ne 0 && $lid_state == "open" ]]; then
bspc monitor eDP -d 1 2 3 4 5
bspc monitor $external_output -d 6 7 8 9 10
else
bspc monitor -d 1 2 3 4 5 6 7 8 9 10
fi
bspc config remove_disabled_monitors true
bspc config merge_overlapping_monitors false
bspc config border_width 2
bspc config window_gap 28
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config focus_follows_pointer true
# bspc rule -a Gimp desktop='^8' state=floating follow=on
# Examples
# get title: $ xtitle $(bspc query -N -d .focused)
# bspc rule -a Chromium desktop='^2'
# bspc rule -a Kupfer.py focus=on
# bspc rule -a Screenkey manage=off
bspc rule -a '*' class=^Terminal$ state=pseudo_tiled
bspc rule -a dialog state=floating
## [MANUAL] Polybar z-index
xdo lower -N "Polybar"
xdo above -N "Polybar" -t $(xdo id -N Bspwm -n root)
######################
# Init required apps #
######################
### Keyboard
setxkbmap -layout us -variant intl -option caps:escape
### Wallpaper
feh --bg-fill ~/.config/wp
### Toolbar
bash ~/.config/polybar/launch.sh &