I've started writing some code to implement automatic multiseat support in LightDM [1], largely based on GDM implementation of the feature. After several tries, I've got this state, which is a little bit well written, but still incomplete.
I'll really like your feedback about this branch. At the moment, I can list the following issues:
* Some login1-related code was introduced, and login1.h was #included, in lightdm.c itself. Is this OK? Should this code be moved elsewhere?
* We need to implement properly the functions add_login1_seat() and remove_login1_seat() declared in lightdm.c.
* When loading initial seat list from logind (by calling login1_sync_seats()), we always get at least seat0, which may conflict with LightDM property "start-default-seat", so we may end up with two seat0 seats registered in LightDM (one triggered by start-default-seat, and another triggered by login1_sync_seats()). Which is the preferred way to prevent this conflict?
* Currently, callback functions for logind signals SeatNew() and SeatRemoved() should be implemented outside login1.c. Do you agree?
I've started writing some code to implement automatic multiseat support in LightDM [1], largely based on GDM implementation of the feature. After several tries, I've got this state, which is a little bit well written, but still incomplete.
I'll really like your feedback about this branch. At the moment, I can list the following issues:
* Some login1-related code was introduced, and login1.h was #included, in lightdm.c itself. Is this OK? Should this code be moved elsewhere?
* We need to implement properly the functions add_login1_seat() and remove_ login1_ seat() declared in lightdm.c.
* When loading initial seat list from logind (by calling login1_ sync_seats( )), we always get at least seat0, which may conflict with LightDM property "start- default- seat", so we may end up with two seat0 seats registered in LightDM (one triggered by start-default-seat, and another triggered by login1_ sync_seats( )). Which is the preferred way to prevent this conflict?
* Currently, callback functions for logind signals SeatNew() and SeatRemoved() should be implemented outside login1.c. Do you agree?