#!/bin/sh # # Copyright 2006 IBM Corp. # # This program is free software; you can redistribute it and/or modify # it under the terms of version 2 of the GNU General Public License # as published by the Free Software Foundation # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. # ############################################################################### # # NOTE: This script is intended to be run from the command line, # GNOME menu, or from the desktop autostart. # # /usr/bin/gnome-at-visual # /usr/bin/gnome-at-mobility # # If the "-s" flag is used then it is assumed to have been invoked # from /usr/share/gnome/autostart/, and the first AT flagged # to "startup" from GCONF_ALL will be executed. # USAGE="$0 [-s]" GCONF_PATH=/desktop/gnome/applications/at GCONF_VISUAL="visual" GCONF_MOBILITY="mobility" GCONF_ALL="$GCONF_VISUAL $GCONF_MOBILITY" run_at() { CMDLINE=$(gconftool-2 --get $GCONF_PATH/$1/exec) if [ $? -ne 0 ]; then exit $? fi if [ -z "$CMDLINE" ]; then exit 2 fi STARTUP=$(gconftool-2 --get $GCONF_PATH/$1/startup) if [ $? -ne 0 ]; then exit $? fi if [ ! -z "$AUTOSTART" ]; then # assuming ran from /usr/share/gnome/autostart if [ "x$STARTUP" = "xtrue" ]; then # gconf indicated requested autostart ($CMDLINE &) fi else # run from command line or desktop menu ($CMDLINE &) fi } case $(basename $0) in gnome-at-visual ) AT=$GCONF_VISUAL ;; gnome-at-mobility ) AT=$GCONF_MOBILITY ;; gnome-at-session | * ) AUTOSTART="yes" AT=$GCONF_ALL ;; esac while getopts "s" options; do case $options in s ) AUTOSTART="yes" AT=$GCONF_ALL shift ;; \? ) echo $USAGE exit 1 ;; * ) echo $USAGE exit 1 ;; esac done if [ $# -ne 0 ]; then echo $USAGE exit 1 fi for I in $AT ; do run_at $I done #EOF