#!/bin/sh

# start with a black screen
feh --bg-scale --no-fehbg "$XDG_DATA_HOME"/norisa/black.jpg

# set keyboard layout to Swiss German
setxkbmap ch

# start hotkey daemon
xbindkeys -f "$XDG_CONFIG_HOME"/xbindkeys/config &

# turn off BIOS beeper
xset b off

# set WM name (for Java apps)
wmname LG3D

# load chadwm bar
~/.config/chadwm/scripts/bar.sh &

# load notification deamon
dunst &

# load composite manager
picom &

# swap caps and escape (for vim users)
setxkbmap -option caps:swapescape

# swap left alt and super key (for wannabe mac users)
setxkbmap -option altwin:swap_lalt_lwin

# set machine specific xmodmap rules
for f in ${XDG_DATA_HOME:-$HOME/.local/share}/xmodmap/*; do xmodmap $f; done

# set brightness
brightnessctl -d $(brightnessctl -l | grep "class 'backlight'" | head -n 1 | awk '{print $2}' | tr -d "'") set $(cat ~/.config/norisa/brightness-state)%

# don't display mouse if not used recently
unclutter &

# apply local config
localconfig="${XDG_CONFIG_HOME:-$HOME/.config}/norisa.local"
if [ -f "$localconfig" ]; then
    . "$localconfig"
    [ -z "$NORISA_XORG_MOUSE_ID" ] || scripted-mouse-acceleration \
        "$NORISA_XORG_MOUSE_ID" &
    [ -z "$NORISA_DISPLAYSETUP" ] || $NORISA_DISPLAYSETUP
fi

# set (previous) wallpaper
~/.cache/.fehbg && mv ~/.fehbg ~/.cache

# start pulseaudio when unable to fetch the volume
volume=$(amixer sget Master | grep 'Front Left:' | awk -F '[\\]\\[]' '{print $2}')
[ -z "$volume" ] && pulseaudio &

# run dwm
exec dwm
