#!/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"
}

start_with_x() {
	local cfg="$1"
	config_get start $cfg start
	[ -n "$start" ] && START="$START $start &"
}

start() {
	config_load x11
	config_foreach screen screen
	config_foreach graphic graphic
	config_foreach input input
	#config_foreach start_with_x start
	X $ARGS &
	#eval $START # not used yet, because the buildroot lacks of the functionality of editing uci-values while building a package
	sleep 1 && DISPLAY=":0" WM & # workaround
}
