Bugs
Please file bugs for problems/feature requests.
Building from trunk
Development is done on Launchpad. To check out the trunk branch you will need to install Bazaar.
Building LightDM from trunk:
bzr branch lp:lightdm
cd lightdm
./autogen.sh
make
make install
Contributing changes
For committing changes back you will need a Launchpad account (free) and to agree to the Canonical contributor license agreement.
Making changes:
bzr branch lp:lightdm my-branch-name
cd my-branch-name
(make changes)
bzr commit
bzr push lp:~my-lp-username/lightdm/my-branch-name
Then go to https://code.launchpad.net/~my-lp-username/lightdm/my-branch-name and select "Propose for merging". Your merge proposal will be reviewed by the LightDM development team which often requires some changes to be made by you. You should push your updates to the same branch:
bzr commit
bzr push
Once accepted your proposal will be merged by us into the LightDM trunk and be in the next release. Congratulations!
Greeter Development
To develop a greeter you write against the liblightdm library. Two variants are provided - one for GObject based projects and one for Qt based projects. Language bindings are provided for Vala and GObject introspection (i.e. Python, Javascript etc).
For API documentation either install your distribution provided liblightdm development packages or see online documentation.
You can test greeters either by installing them or running lightdm --test-mode
which allows you to run LightDM inside your session using Xephyr.