#!/usr/bin/with-contenv bash

# default file copies first run
if [[ ! -f /config/.config/openbox/autostart ]]; then
  mkdir -p /config/.config/openbox
  cp /defaults/autostart /config/.config/openbox/autostart
  chown -R abc:abc /config/.config/openbox
fi
if [[ ! -f /config/.config/openbox/menu.xml ]]; then
  mkdir -p /config/.config/openbox && \
  cp /defaults/menu.xml /config/.config/openbox/menu.xml && \
  chown -R abc:abc /config/.config
fi
if [[ -f /usr/local/etc/kasmvnc/kasmvnc.yaml.lsio ]]; then
  mv \
    /usr/local/etc/kasmvnc/kasmvnc.yaml.lsio \
    /usr/local/etc/kasmvnc/kasmvnc.yaml
fi

# XDG Home
printf "${HOME}/.XDG" > /run/s6/container_environment/XDG_RUNTIME_DIR
if [ ! -d "${HOME}/.XDG" ]; then
  mkdir -p ${HOME}/.XDG
  chown abc:abc ${HOME}/.XDG
fi

# Locale Support
if [ ! -z ${LC_ALL+x} ]; then
  printf "${LC_ALL%.UTF-8}" > /run/s6/container_environment/LANGUAGE
  printf "${LC_ALL}" > /run/s6/container_environment/LANG
fi

# Remove window borders
if [[ ! -z ${NO_DECOR+x} ]] && [[ ! -f /decorlock ]]; then
  sed -i \
    's|</applications>|  <application class="*"> <decor>no</decor> </application>\n</applications>|' \
    /etc/xdg/openbox/rc.xml
  touch /decorlock
fi

# Fullscreen everything in openbox unless the user explicitly disables it
if [[ ! -z ${NO_FULL+x} ]] && [[ ! -f /fulllock ]]; then
  sed -i \
    '/<application class="\*"><maximized>yes<\/maximized><\/application>/d' \
    /etc/xdg/openbox/rc.xml
  touch /fulllock
fi

# Add proot-apps
if [ ! -f "${HOME}/.local/bin/proot-apps" ]; then
  mkdir -p ${HOME}/.local/bin/
  cp /proot-apps/* ${HOME}/.local/bin/
  echo 'export PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc
  chown abc:abc \
    ${HOME}/.bashrc \
    ${HOME}/.local/ \
    ${HOME}/.local/bin \
    ${HOME}/.local/bin/{ncat,proot-apps,proot,jq,pversion}
elif ! diff -q /proot-apps/pversion ${HOME}/.local/bin/pversion > /dev/null; then
  cp /proot-apps/* ${HOME}/.local/bin/
  chown abc:abc ${HOME}/.local/bin/{ncat,proot-apps,proot,jq,pversion}
fi
