# Copyright (C) 2006 OpenWrt.org
START=99
-ARGS=""
+ARGS="-br"
-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"
-}
+#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() {
+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
+# 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
}