gdm/gdmthemetester.in

111 lines
1.9 KiB
Bash

#!/bin/sh
gdmwhich () {
COMMAND="$1"
OUTPUT=
IFS=:
for dir in $PATH
do
if test -x "$dir/$COMMAND" ; then
if test "x$OUTPUT" = "x" ; then
OUTPUT="$dir/$COMMAND"
fi
fi
done
IFS=$OLD_IFS
echo "$OUTPUT"
}
echo
echo "GDM Theme Tester"
echo
echo "Be sure to test all the environments:"
echo " console, console-timed, flexi, remote-flexi, xdmcp"
echo "Also be sure to test using caps lock"
echo
XNEST=`gdmwhich Xnest`
GDMXNEST=`gdmwhich gdmXnest`
GDMGREETER="@libexecdir@/gdmgreeter"
if [ x$XNEST = x ]; then
echo "ERROR: Xnest not found"
echo ""
exit 1
fi
if [ x$GDMXNEST = x ]; then
echo "ERROR: gdmXnest not found"
echo ""
exit 1
fi
if [ x$GDMGREETER = x ]; then
echo "ERROR: gdmgreeter not found"
echo ""
exit 1
fi
USAGE="
Usage: $0 <environment> <theme>
<environment> is one of: console, console-timed, flexi, remote-flexi, xdmcp
<theme> is either the path of the theme or the name of an installed theme
If you set the environment variable XNESTSIZE to <width>x<height> (e.g. 800x600)
you can test the greeter at that resolution
"
if [ "$#" != 2 ]; then
echo "$USAGE"
exit 1
fi
GDM_THEME="$2"
DOING_GDM_DEVELOPMENT=yes
GDM_PARENT_DISPLAY="$DISPLAY"
export GDM_THEME DOING_GDM_DEVELOPMENT GDM_PARENT_DISPLAY
case $1 in
console)
GDM_IS_LOCAL=yes
export GDM_IS_LOCAL
;;
console-timed)
GDM_IS_LOCAL=yes
GDM_FAKE_TIMED=yes
export GDM_IS_LOCAL GDM_FAKE_TIMED
;;
flexi)
GDM_IS_LOCAL=yes
GDM_FLEXI_SERVER=yes
export GDM_IS_LOCAL GDM_FLEXI_SERVER
;;
remote-flexi)
GDM_FLEXI_SERVER=yes
export GDM_FLEXI_SERVER
;;
xdmcp)
;;
*)
echo "$USAGE"
exit 1
;;
esac
if [ "x$XNESTSIZE" = x ] ; then
eval `gdmXnest -b`
else
eval `gdmXnest -b -o "-geometry $XNESTSIZE"`
fi
export DISPLAY
if [ "x$GDM_PARENT_DISPLAY" = "x$DISPLAY" ]; then
echo "ERROR: Can't start the Xnest server"
exit 1
fi
# This may not be necessary
sleep 1
@libexecdir@/gdmgreeter