← Back to team overview

lubuntu-desktop team mailing list archive

Re: [Lxde-list] LXSession improvements

 

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 <gilir@xxxxxxxxxx> 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-list@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/lxde-list
>
>

Follow ups

References