#!/usr/bin/env bash

echo "xloadresources" >> "$HOME/.xstartup_log"

ENV_TYPE="${1}"

if [[ "$ENV_TYPE" = "auto" ]]; then
	if [[ "$(xrandr --listmonitors | grep 'Monitors:' | awk '{print $2}')" -gt 1 ]]; then
		ENV_TYPE="lodpi"
	fi
	echo "xloadresources auto env: $ENV_TYPE" >> "$HOME/.xstartup_log"
fi

if [[ -z "$ENV_TYPE" ]]; then
	ENV_TYPE=""
else
	ENV_TYPE=".${ENV_TYPE}"
fi

sysresources="/etc/X11/xinit/.Xresources"
sysmodmap="/etc/X11/xinit/.Xmodmap"
userresources="$HOME/.Xresources"
usercolors="$HOME/.Xresources.colors"
userenv="$HOME/.Xresources${ENV_TYPE}.env"
usermodmap="$HOME/.Xmodmap"

if [ -f "$sysresources" ]; then
  xrdb -merge "$sysresources" >/dev/null 2>&1
fi

if [ -f "$sysmodmap" ]; then
  xmodmap "$sysmodmap" >/dev/null 2>&1
fi

if [ -f "$userresources" ]; then
  xrdb -merge "$userresources" >/dev/null 2>&1
fi

if [ -f "$usercolors" ]; then
  xrdb -merge "$usercolors" >/dev/null 2>&1
fi

if [ -f "$userenv" ]; then
  xrdb -merge "$userenv" >/dev/null 2>&1
fi

if [ -f "$usermodmap" ]; then
  xmodmap "$usermodmap" >/dev/null 2>&1
fi

if [ -d "/etc/X11/xinit/xinitrc.d" ] ; then
  for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi