=====
Login
=====

:AUTHORS: Nicolas Roard <nicolas@roard.com>
:COPYING: BSD License (See COPYING)

This Login.app is a simple "greeter" program you can use for XDM sessions.
It is NOT a standalone XDM-like implementation, rather it takes advantage of
the modularity of GDM. GDM use special clients (gdmlogin or gdmgreater), 
called "greeter" clients, to do the graphical part of a login.
The authentication, etc., is still done by the GDM daemon.
GDM communicates through pipes and a simple protocol with the clients
(check the GDMClient class and the list of opcodes to have a better idea).

How to use it
-------------

You simply need to modify the line indicating the path to 
the "Greeter" program in /etc/gdm/gdm.conf, to have something like that:

Greeter=/usr/GNUstep/System/Applications/Login.app/Login

note: if the application doesn't work, it's quite possible that some
environment variables are not set. The easiest way in that case is to create
a small file, say, "etoile_greeter.sh", containing the following lines:

#!/bin/sh
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
/usr/GNUstep/System/Applications/Login.app/Login

then put that file in some place like /usr/local/bin, and in gdm.conf, 
reference etoile_greeter.sh instead of Login:

Greeter=/usr/local/bin/etoile_greeter.sh

Defaults 
--------

You can add user defaults in the script. For example:

openapp /usr/local/GNUstep/System/Applications/Login.app -GSAppKitUserBundles "(
"/usr/local/GNUstep/Local/Library/Bundles/Camaelon.themeEngine")"

There is a couple of useful defaults you could set for this program.
First, you should set GSSupressAppIcon to YES -- you do not want the appicon to show.
Secondly, if you want to use a background image, you need to set up the ImagePath key.

    Login = {
	GSSuppressAppIcon = <*BY>;
	ImagePath = "/var/lib/gdm/background.png";
    };

(on my system GDM runs its clients under 'gdm', an unprivileged user -- it should 
be the case everywhere... here the home directory of this user is locate in /var/lib)

If you want to be able to select your session/environment (like GNOME, KDE, 
Etoile etc.) on login, set ETAllowUserToChooseEnvironment to YES. By default 
this feature is turned off.

Note
----

The program is loosely inspired by LoginPanel from Greg Casamento, in 
particular LoginPanel is the origin of the wagging' window code...
I also borrowed the root window drawing code from AZBackground, from Yen-Ju Chen.

