adding poc implementation for autostarting x11 applications
[openwrt/svn-archive/archive.git] / Xorg / xorg / xserver / xorg-server / files / x.init
index 08dbf86932cb8dc048f7d5be99af4ddcf0bbf167..6571696e516000ef0eff90f721427466174f988d 100755 (executable)
@@ -31,6 +31,8 @@ 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() {
@@ -39,11 +41,16 @@ start() {
        config_foreach screen screen
        config_foreach graphic graphic
        config_foreach input input
-       X $ARGS &
+       Xorg $ARGS &
+       sleep 1 # give the xserver some time get initialized
        config_foreach desktop desktop
-       #test -d /etc/xdg/autostart || exit
-       #for elem in `ls /etc/xdg/autostart/`; do
-       #       exec=`grep "^Exec=" "/etc/xdg/autostart/$elem"`
-       #       eval ${exec#*=} &
-       #done
+       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
 }