get rid of the grey grid when Xorg starts up
[openwrt/svn-archive/archive.git] / Xorg / xorg / xserver / xorg-server / files / x.init
index 04ef4ae1e1eb9b79b06f28f5a90e2c99260e5cbd..2685d0418ab161aba4732d1e1a25cc04bbb6c387 100755 (executable)
@@ -2,44 +2,55 @@
 # 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
 }