#!/bin/bash
#
# .xsession: set basic X11 environment
#

# Background image
BACKGROUND=""

# Session applications
PROGRAMS=""

# OS Version
OSVERSION="`cut -d . -f 1 /etc/debian_version`"

# Hostname
HOSTNAME="`cat /etc/hostname`"

# Make sure to load the profile
. $HOME/.profile

# Start xscreensaver
xscreensaver -no-splash &

# Custom
if [ -e "$HOME/.custom/xsession" ]; then
  . $HOME/.custom/xsession
fi

# Set background
if [ ! -z "$BACKGROUND" ]; then
  Esetroot -scale $HOME/.config/themes/backgrounds/$BACKGROUND
else
  xsetroot -solid black
fi

# Additional applications depending on the machine type
if laptop-detect; then
  PROGRAMS="$PROGRAMS xwicd"
else
  PROGRAMS="$PROGRAMS"
fi

# Start session applications
for program in $PROGRAMS; do
  $program &
done

# Apply custom keyboard configuration
if [ -f "$HOME/.Xmodmaps/$HOSTNAME" ]; then
  xmodmap $HOME/.Xmodmaps/$HOSTNAME
fi

# Execute window manager
if [ "$OSVERSION" = "7" ]; then
  # See https://bugzilla.redhat.com/show_bug.cgi?id=783568
  #     https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/932177
  #     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653011
  #     https://bugzilla.gnome.org/show_bug.cgi?id=660240
  #unset GNOME_KEYRING_PID
  #unset GNOME_KEYRING_CONTROL
  eval $(gnome-keyring-daemon --start --components=pkcs11,gpg,secrets)

  # Start window manager
  awesome
fi