2021-07-15 00:58:43 +00:00
|
|
|
#!/bin/sh
|
2021-07-14 13:15:53 +00:00
|
|
|
|
|
|
|
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"
|
|
|
|
|
2021-07-15 00:58:43 +00:00
|
|
|
make_position_line(){
|
2021-07-14 13:15:53 +00:00
|
|
|
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 {} +
|
|
|
|
|
2021-07-15 00:58:43 +00:00
|
|
|
xmobarhs_content="$(cat $WORK_DIR/xmobarrc.hs)"
|
|
|
|
position_line_0="$(make_position_line 0)"
|
|
|
|
|
2021-07-14 13:15:53 +00:00
|
|
|
for ((n=0;n<MONITOR_AMOUT;n++)); do
|
|
|
|
cur_file="$WORK_DIR/xmobarrc$n"
|
2021-07-15 00:58:43 +00:00
|
|
|
|
|
|
|
# Replace position line to accomodate for multiple monitors
|
|
|
|
position_line="$(make_position_line $n)"
|
|
|
|
contents="${xmobarhs_content/$position_line_0/$position_line}"
|
|
|
|
|
|
|
|
# Only keep trayer spacer in 1st xmobar
|
|
|
|
if [ $n -ne 0 ]; then
|
|
|
|
#contents="${contents/'%trayerpad%'/''}"
|
|
|
|
contents="$(grep -v trayerpad <<< $contents)"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "$contents" > "$cur_file"
|
2021-07-14 13:15:53 +00:00
|
|
|
echo "$cur_file created."
|
|
|
|
done
|