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
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.