Looks quite good generally and source code written in vala is much more readable then GObject/C. :-) Some comments:
- initial applications by default stuff: gnome classifies applications by stages rather than types. some applications should be loadad during initialization stage. some are loaded along with the desktop panel, such as some applets some are loaded when the panel is loaded and when the desktop icons are being loaded others are loaded thereafter. To ensure applications are loaded at right time, interaction with session manager is needed. For example, the desktop panel should inform the session manager when it's fully loaded. Then, the session manager enters next stage and loads applications of the next stage. Applications which cannot communicate with the session manager cannot support this. Executing a command earlier doesn't guarantee that it will finish loading earlier. This is an issue to solve. - Regarding to the implementation, an application class with a data member named type is enough IMHO. for example: public enum AppType { WM, PANEL, DESKTOP } public class App { private AppType type; } Defining a class registering a new GObject class at runtime and create much overhead since C has no object supports. OO is not that cheap with GObject though using it is quite easy in Vala. I'd avoid overuse of classes. To reduce overhead of GObject, we can use [Compact] attribute when defining classes when some features provided by GObject, like signals, is not absolutely needed. - Use of LibGee Most of the time, static arrays or built-in data strucures provided by glib itself should be enough. Maybe we don't need LibGee here. - Initial options support is good, especially the keyboard and xrandr one. - Plugin actually is a good idea. I wanted to do that for quite a long time, but I don't have the time to do it. - For Dbus interface, I'd suggest using the same interface as gnome rather than using our own namespace. Most of the gnome applications and in the future, gtk3 applications, has built-in supports to interact with gnome session manager. If we use different dbus interfaces, than we need to patch every applications to add lxsession support, which can be very painful. - For lxsession-edit, merging it with lxsession should be good for maintainance since it's useless when used along. - If you're going to take its maintaince, it's highly appreciated. Thanks for the great job! On Wed, Nov 30, 2011 at 6:08 AM, Julien Lavergne <gi...@ubuntu.com> wrote: > Hi, > > I'm working since some times to some improvements to lxsession. > With my experiments, I ended to rewrite some part in Vala, since C have > problems with me :) > > You can find the result on the options branch of lxsession : > http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxsession;a=shortlog;h=refs/heads/options > > The main new features are : > * Add initial applications by default support (panel, screensaver ...). > It's a way to configure applications started by default, rather than just > adding a line in autostart > * Add initial options support (Keymap, XRandr, Keyring). It's the ability > to add some options add start-up, like a screen resolution (instead of > using a .desktop file in autostart directory). > * Add initial Dbus support (draft of org.lxde.SessionManager interface, > GNOME compat mode) > > You can have a look at the new desktop.conf file for the new options > available : > http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxsession;a=blob;f=desktop.conf.example;h=8ae0636a452b6a2e8e8728c039c5d3f0397996c4;hb=refs/heads/options > > It should be already usable, the only regression I know is the logout > function of lxsession-logout which is broken. > > I'll appreciate comments on this :) Especialy on the Dbus interface, what > do you expect from a session manager to be available via Dbus ? Do you > expect other features from the session manager ? > > I would like in the future to take the maintainance of lxsession and try > to add more improvements, like : > * Duplicate check, to not autostart an application twice > * Merge back lxpolkit and lxsession-edit changes in lxsession > * More application by default, and more automatic / smart detections > * Finalize the Dbus interface > * Improve lxsession-edit to configure the new options. > > Regards, > Julien Lavergne > > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure > contains a definitive record of customers, application performance, > security threats, fraudulent activity, and more. Splunk takes this > data and makes sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-novd2d > _______________________________________________ > Lxde-list mailing list > lxde-l...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxde-list > >
_______________________________________________ Mailing list: https://launchpad.net/~lubuntu-desktop Post to : lubuntu-desktop@lists.launchpad.net Unsubscribe : https://launchpad.net/~lubuntu-desktop More help : https://help.launchpad.net/ListHelp