slendi / bspwmrc

~/.config/bspwm/bspwmrc Commits Diff Raw
#!/bin/sh

# __________  ___________________  __      __  _____
# \______   \/   _____/\______   \/  \    /  \/     \
#  |    |  _/\_____  \  |     ___/\   \/\/   /  \ /  \
#  |    |   \/        \ |    |     \        /    Y    \
#  |______  /_______  / |____|      \__/\  /\____|__  /
#         \/        \/                   \/         \/
#
#                 CONFIGURATION SCRIPT
#                                                        ~slendi

##################################
#            DAEMONS             #
##################################

pgrep -x sxhkd > /dev/null || sxhkd & # Simple X hotkey daemon

pgrep -x pipewire > /dev/null || pipewire & # Pipewire sound server
pgrep -x pipewire-pulse > /dev/null || pipewire-pulse & # Pipewire pulseaudio compatibility

pgrep -x mpd > /dev/null || mpd & # Music player daemon

pgrep -x xcmenu > /dev/null || xcmenu --daemon & # Clipboard manager
pgrep -x compton > /dev/null || compton & # X11 compositor
pgrep -x dunst > /dev/null || dunst & # Lightweight notification daemon
pgrep -x unclutter > /dev/null || unclutter -idle 1.5 -noevents & # Idle cursor hider

pgrep -x udiskie > /dev/null || udiskie & # Automounter for drives

##################################
#            VISUALS             #
##################################

# Background image/video
setbf.sh

# DPI and refresh rate
xrandr --dpi 96 --output eDP --mode 1920x1080 --refresh 144 &

# Border
bspc config border_width         1

# Window gaps
bspc config window_gap           6

# Monocle mode settings
bspc config single_monocle true
bspc config gapless_monocle true
bspc config borderless_monocle   true
bspc config gapless_monocle      true

# Make the default cursor the left_ptr
xsetroot -cursor_name left_ptr

# Make the window on the left a bit bigger
bspc config split_ratio          0.52

# Set the name of the desktops
bspc monitor -d 1 2 3 4 5 6 7 8 9 10

##################################
#         FUNCTIONALITY          #
##################################

# Make the key repeat faster
xset r rate 300 50 &

# Romanian QUERTY keyboard layout
setxkbmap ro

# Swap caps lock with something more usefeul, escape
# Good placement, bad key
setxkbmap -option caps:swapescape

# Kill any bar in case it was opened when reloaded
killall lemonbar > /dev/null

##################################
#             RULES              #
##################################

bspc rule -a Pavucontrol state=floating
bspc rule -a mpv state=floating
bspc rule -a qemu-system-x86_64 state=floating
bspc rule -a qemu-system-i386 state=floating
bspc rule -a Chromium private=on
bspc rule -a Firefox private=on