ARGS="$ARGS -$cfg $driver,,device=$device"
}
-start_with_x() {
+desktop() {
local cfg="$1"
- config_get start $cfg start
- [ -n "$start" ] && START="$START $start &"
+ 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
- #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
+ 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 - afterwars 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
}