#!/bin/sh # # RunChooser: Setup a chooser's display and run it. # # Copyright (c) 1998-2000 SuSE GmbH Nuernberg, Germany. # please send bugfixes or comments to feedback@suse.de. # # Author: Werner Fink, # LIBDIR=/usr/X11R6/lib/X11 ETCDIR=/etc/X11 XDMDIR=${ETCDIR}/xdm BINDIR=/usr/X11R6/bin no_exit_on_failed_exec=1 type shopt &> /dev/null && shopt -s execfail set +e &> /dev/null # # Background picture: # Store your preferred picture in XPM format (see xv(1) or ppm(5)) # You can run gzip on the file BackGround.xpm to save disk space. # background=${XDMDIR}/BackGround.xpm # # Special screensaver parameters for xset, see manual page xset(1x). # Default is no special parameters. Use DPMS (VESA Power Savings # Protocol) if USEDPMS is set to "yes". # SAVESC="" USEDPMS="no" # # Default settings # # Note: If you need a special key mapping copy Xmodmap.remote to # Xmodmap. where the # suffix is the full qualified name identical with the value of # the DISPLAY variable without `:0', `:1' ... e.g. # Xmodmap.xterminal.uni-yx.de sysmodmap=${ETCDIR}/Xmodmap defmodmap=${ETCDIR}/Xmodmap.remote hostmodmap=${ETCDIR}/Xmodmap.${DISPLAY%:*} xset=${BINDIR}/xset xmodmap=${BINDIR}/xmodmap xpmroot=${BINDIR}/xpmroot xsetroot=${BINDIR}/xsetroot kdmdesktop=/opt/kde/bin/kdmdesktop chooser=${XDMDIR}/chooser xmessage=${BINDIR}/xmessage xrdb=${BINDIR}/xrdb backprg=${XDMDIR}/BackGround # # Check if kdm is running and does its own background # pidof -s kdm > /dev/null 2>&1 if test $? -eq 0 -a -x $kdmdesktop ; then backprg=$kdmdesktop $xrdb -override -retain <<-EOF #ifdef COLOR *Foreground: white *Background: #483d8b Chooser*Label*foreground: black Chooser*Label*background: grey Chooser*Box*foreground: black Chooser*Box*background: grey #endif EOF fi # # Check if gdm is running and if so set the Xresources # pidof -s gdm > /dev/null 2>&1 if test $? -eq 0 ; then $xrdb -override -retain ${XDMDIR}/Xresources fi # # Screensaver # if test -x $xset ; then $xset s on test -n "$SAVESC" && $xset s $SAVESC test "$USEDPMS" = "yes" && $xset +dpms fi # # Set keymap for various displays # if test -x $xmodmap ; then if test -z "${DISPLAY%:*}" ; then # local connection test -r $sysmodmap && $xmodmap $sysmodmap else # TCP/IP connection (remote or local) test -r $defmodmap && $xmodmap $defmodmap test -r $hostmodmap && $xmodmap $hostmodmap fi fi # # Handle background: # First users choise, if no choise is given # use the system defaults. # if test -s ${background}.gz -a -x $xpmroot ; then $xpmroot ${background}.gz elif test -s ${background} -a -x $xpmroot ; then $xpmroot $background elif test -x $backprg ; then $backprg else $xsetroot -solid '#556622' fi # # Now run the main chooser # exec $chooser ${1+"$@"} $xmessage -timeout 10 -default okay -center "$0: $chooser failed." exit 1