#!/bin/sh

if [ $# -lt 1 ]; then
    echo "Invalid amount of arguments passed!"
    echo "Required parameter: amount of monitors"
    exit
fi

MONITOR_AMOUT="$1"
WIDTH=1920
WORK_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/xmobar"

make_position_line(){
    xpos=$(($1 * $WIDTH))
    line="position = Static { xpos = $xpos, ypos = 0, width = $WIDTH, height = 24 },"
    echo "$line"
}


# Remove all already existing specific xmobar configurations
find $WORK_DIR -regex '\./xmobarrc[0-9]+' -exec rm {} +

xmobarhs_content="$(cat $WORK_DIR/xmobarrc.hs)"
position_line_0="$(make_position_line 0)"

for ((n=0;n<MONITOR_AMOUT;n++)); do
    cur_file="$WORK_DIR/xmobarrc$n"

    # Replace position line to accomodate for multiple monitors
    position_line="$(make_position_line $n)"
    contents="${xmobarhs_content/$position_line_0/$position_line}"

    # Only use Trayer in the 1st xmobar (on single monitor)
    if [ $n -ne 0 ]; then
        contents="$(grep -v trayerpad <<< $contents)"
    fi

    echo "$contents" > "$cur_file"
    echo "$cur_file created."
done