#!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org START=99 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" #} 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() { export DISPLAY=":0" config_load x11 # 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 }