#!/usr/bin/with-contenv bash

# set resolution before starting apps
RESOLUTION_WIDTH=${SELKIES_MANUAL_WIDTH:-1024}
RESOLUTION_HEIGHT=${SELKIES_MANUAL_HEIGHT:-768}
if [ "$RESOLUTION_WIDTH" = "0" ]; then RESOLUTION_WIDTH=1024; fi
if [ "$RESOLUTION_HEIGHT" = "0" ]; then RESOLUTION_HEIGHT=768; fi
MODELINE=$(s6-setuidgid abc cvt "${RESOLUTION_WIDTH}" "${RESOLUTION_HEIGHT}" | grep "Modeline" | sed 's/^.*Modeline //')
MODELINE_ARGS=$(echo "$MODELINE" | tr -d '"')
MODELINE_NAME=$(echo "$MODELINE_ARGS" | awk '{print $1}')
if ! s6-setuidgid abc xrandr | grep -q "$MODELINE_NAME"; then
  s6-setuidgid abc xrandr --newmode $MODELINE_ARGS
  s6-setuidgid abc xrandr --addmode screen "$MODELINE_NAME"
  s6-setuidgid abc xrandr --output screen --mode "$MODELINE_NAME" --dpi 96
fi

# set xresources
if [ -f "${HOME}/.Xresources" ]; then
  xrdb "${HOME}/.Xresources"
else
  echo "Xcursor.theme: Breeze_Snow" > "${HOME}/.Xresources"
  xrdb "${HOME}/.Xresources"
fi
chown abc:abc "${HOME}/.Xresources"
chmod 777 /tmp/selkies*

# run
cd $HOME
exec s6-setuidgid abc \
  /bin/bash /defaults/startwm.sh &
PID=$!
echo "$PID" > /de-pid
wait "$PID"
