lubuntu-desktop team mailing list archive
-
lubuntu-desktop team
-
Mailing list archive
-
Message #05547
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