#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=99

ARGS=""

#screen() {
#	local cfg="$1"
#	config_get resolution $cfg resolution
#	config_get dpi $cfg dpi
#	[ -n "$resolution" ] && ARGS="$ARGS -screen $resolution"
#	[ -n "$dpi" ] && ARGS="$ARGS -dpi $dpi"
#}
#
#graphic() {
#	local cfg="$1"
#	config_get device $cfg device
#	[ -n "$device" ] && ARGS="$ARGS -fb $device"
#}
#
#input() {
#	local cfg="$1"
#	config_get device $cfg device
#	config_get driver $cfg driver
#	#[ -n "$device" ] || return 0
#	[ -n "$driver" ] || return 0
#	ARGS="$ARGS -$cfg $driver,,device=$device"
#}

desktop() {
	local cfg="$1"
	config_get autostart $cfg autostart
	[ -n "$autostart" ] && eval $autostart &
	config_get fdo_compliance $cfg fdo_compliance
	[ -n "`echo \"$fdo_compliance\" 2> /dev/null | grep autostart`" ] && exit # in case the environment provides its own functionality to do the autostart stuff exit here
}

start() {
	export DISPLAY=":0"
	config_load x11
#	config_foreach screen screen
#	config_foreach graphic graphic
#	config_foreach input input
	Xorg $ARGS &
	sleep 1 # give the xserver some time get initialized
	config_foreach desktop desktop
	test -d /etc/xdg/autostart || exit
	sleep 1 # give the first x11 application some time to get present - afterwards we'll start the x11 autostart applications
	for elem in `ls /etc/xdg/autostart/`; do
		if grep "^Hidden=true" "/etc/xdg/autostart/$elem" > /dev/null; then
			continue
		fi
		exec=`grep "^Exec=" "/etc/xdg/autostart/$elem"`
		eval ${exec#*=} &
	done
}
