Re: Consolidating Core Desktop libraries

2010-11-24 Thread Zeeshan Ali (Khattak)
On Mon, Nov 22, 2010 at 11:38 PM, Ivan Frade ivan.fr...@gmail.com wrote:
 Hi

 On Sun, Nov 14, 2010 at 4:21 PM, Zeeshan Ali zee...@gmail.com wrote:

   One could also think

   about reanimating the once proposed d-bus-based thumbnailer[1] if more
   users show up.

 Rygel also needs this. Currently we just serve the thumbails if they've
 been already created by another app but its very much desired to be able to
 create them ourselves or request another entity to do that.

   [1]: http://live.gnome.org/ThumbnailerSpec
 
  That spec is over-engineered, and far too complicated for what we want
  to use it for.

 True and one reason I'm not using it already in Rygel. Another reason to
 not use this spec is that IMHO we should have one service for both thumbnail
 and albumart extraction/download with simple APIs (get the
 thumbnail/albumart for this URI/album/artist and notify me when its done).

 Maybe the spec is too verbose, but the API itself is simple for application
 developers: a Queue method to request the thumbnail,

  Just as an example there is a 'mime_types' parameter to that method
which IMO doesn't make any sense. To complicate the matters more,
there is ways to 'register' specialized thumbnailers. We need
thumbnails for pictures and videos, both of which can be handled by
gstreamer in a dynamic way by a single thumbnailer.  On top of that,
there is more parameters of this simple Queue method (flavor and
scheduler) that really doesn't need to be exposed to application
developer.

 Album art is a different issue, and you depend there on external providers.

  That does't mean we can't have the same service (application) handling both.

 Not that is not possible, but requires a second thought.

  Sure, what doesn't? :)

-- 
Regards,

Zeeshan Ali (Khattak)
FSF member#5124
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-22 Thread Ivan Frade
Hi

On Sun, Nov 14, 2010 at 4:21 PM, Zeeshan Ali zee...@gmail.com wrote:

One could also think
   about reanimating the once proposed d-bus-based thumbnailer[1] if more
   users show up.

 Rygel also needs this. Currently we just serve the thumbails if they've
 been already created by another app but its very much desired to be able to
 create them ourselves or request another entity to do that.

   [1]: http://live.gnome.org/ThumbnailerSpec
 
  That spec is over-engineered, and far too complicated for what we want
  to use it for.

 True and one reason I'm not using it already in Rygel. Another reason to
 not use this spec is that IMHO we should have one service for both thumbnail
 and albumart extraction/download with simple APIs (get the
 thumbnail/albumart for this URI/album/artist and notify me when its done).


Maybe the spec is too verbose, but the API itself is simple for application
developers: a Queue method to request the thumbnail, and a Ready signal
with the URI of the result. This is really what needs to be wrapped in a
nice GObject-based library (GThumbnail?)

Then, as optimization, there are also the methods to avoid the recreation of
the thumbnails when the images are moved/copied. There is a third part in
the spec, to extend the thumbnailer daemon with out-of-process plugins
accessible via DBus.

These APIs are implemented by tumbler (open source, coming from the XFCE
project) and it is used also in MeeGo.

Album art is a different issue, and you depend there on external providers.
Not that is not possible, but requires a second thought. In any case a
common thumbnail system in the platform is good. Probably it deserves its
own thread to discuss if somebody else is interested.

Regards,

Ivan
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Consolidating Core Desktop libraries

2010-11-14 Thread Zeeshan Ali
Hi,

- Original message -
 On Sat, 2010-11-13 at 13:55 +0100, Felix Riemann wrote:
   GNOME 3. And nautilus could move the thumbnailer code to use itself.
  
  *raiseshand*
  
  Eye of GNOME uses the thumbnailer as well (we need to be able to
  thumbnail without nautilus). But it should be no problem to CP this
  bit (just 2 files I think) between nautilus and eog.
 
 Ok.
 
  One could also think
  about reanimating the once proposed d-bus-based thumbnailer[1] if more
  users show up.

   Rygel also needs this. Currently we just serve the thumbails if they've been 
already created by another app but its very much desired to be able to create 
them ourselves or request another entity to do that.

  [1]: http://live.gnome.org/ThumbnailerSpec
 
 That spec is over-engineered, and far too complicated for what we want
 to use it for.

   True and one reason I'm not using it already in Rygel. Another reason to not 
use this spec is that IMHO we should have one service for both thumbnail and 
albumart extraction/download with simple APIs (get the thumbnail/albumart for 
this URI/album/artist and notify me when its done).

-- 
Regards
Zeeshan Ali (Khattak)

Sent from Nokia N900___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Consolidating Core Desktop libraries

2010-11-13 Thread Felix Riemann
Hi!

Am Freitag, den 12.11.2010, 20:54 + schrieb Bastien Nocera:
 snip
 
 There's currently RandR helpers (g-s-d and control-center), wallpaper
 handling code (g-s-d, control-center and nautilus), and the thumbnailer
 (nautilus only, afaik).
 
 The RandR stuff could be moved in g-s-d, and the wallpaper code as well,
 when nautilus stops handling the desktop at some point in GNOME 3. And
 nautilus could move the thumbnailer code to use itself.

*raiseshand*

Eye of GNOME uses the thumbnailer as well (we need to be able to
thumbnail without nautilus). But it should be no problem to CP this bit
(just 2 files I think) between nautilus and eog. One could also think
about reanimating the once proposed d-bus-based thumbnailer[1] if more
users show up.

Regards,

Felix

[1]: http://live.gnome.org/ThumbnailerSpec


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-13 Thread Matthew Barnes
On Sat, 2010-11-13 at 13:55 +0100, Felix Riemann wrote:
 *raiseshand*
 
 Eye of GNOME uses the thumbnailer as well (we need to be able to
 thumbnail without nautilus). But it should be no problem to CP this bit
 (just 2 files I think) between nautilus and eog. One could also think
 about reanimating the once proposed d-bus-based thumbnailer[1] if more
 users show up.

Evolution also uses the thumbnailer for email attachments.  We too can
copy and paste those bits if needed (hell, we already copied and pasted
gnome-canvas), but the proposed D-Bus thumbnailer would be preferable.

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-13 Thread Bastien Nocera
On Sat, 2010-11-13 at 13:55 +0100, Felix Riemann wrote:
 Hi!
 
 Am Freitag, den 12.11.2010, 20:54 + schrieb Bastien Nocera:
  snip
  
  There's currently RandR helpers (g-s-d and control-center), wallpaper
  handling code (g-s-d, control-center and nautilus), and the thumbnailer
  (nautilus only, afaik).
  
  The RandR stuff could be moved in g-s-d, and the wallpaper code as well,
  when nautilus stops handling the desktop at some point in GNOME 3. And
  nautilus could move the thumbnailer code to use itself.
 
 *raiseshand*
 
 Eye of GNOME uses the thumbnailer as well (we need to be able to
 thumbnail without nautilus). But it should be no problem to CP this bit
 (just 2 files I think) between nautilus and eog.

Ok.

  One could also think
 about reanimating the once proposed d-bus-based thumbnailer[1] if more
 users show up.
 
 Regards,
 
 Felix
 
 [1]: http://live.gnome.org/ThumbnailerSpec

That spec is over-engineered, and far too complicated for what we want
to use it for.


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-13 Thread Giovanni Campagna
Il giorno ven, 12/11/2010 alle 20.54 +, Bastien Nocera ha scritto:
 
 There are reasons why all those are separate, and I think we should
 remember that.

I see two reasons:
- they have different purposes.
- they have been developed by different people at different times.

IMHO, reason 1 is not enough, given the example set by Gio (has GFile,
GIcon, GAppInfo, GDBusConnection, all in a library), and reason 2
doesn't really hold.

  We're in the middle of moduleset reorganization, drawing a stricter
line
  on what is core, and thus is expected to work only in GNOME and
requires
  GNOME and is required by GNOME, such wm, the panels, the control
center,
  the session daemons, and what is just an app using the GPlatform
(GLib -
  GIO - Gtk), which therefore will work on every G- desktop
environment.
  
  I believe this is the time for consolidating shared code used by
this
  core modules into a libgnome-desktop, the same way we killed
libgnome
  and merged useful features in Gtk / Gio.
  
  There is a lot of code which is copy-pasted around our desktop. For
  example, the GsdOsdWindow class, used by gnome-settings-daemon and
  gnome-power-manager, had to be updated several times because of Gtk
  breakages.
 
 That's 2 users of the library, there's a similar one in Totem. But
those
 will be going away when we get those sort of notifications into the
 shell directly.
 
IIRC, it is not planned to port GsdOsdWindow in gnome-shell, not in this
cycle at least.


  Another piece of copy-pasted code is gdmuser, which lives in
  gnome-panel, gdm and gnome-shell, and is constantly being updated
  because of accountsservice instability.
 
 Then we need to make accountsservice more stable. And it could
probably
 ship a small library as well.
 
But why having a separate library when the only possible users already
link to gnome-desktop?
(It is not that KDE would use libaccountsservice-glib...)



 I'm really not interested in seeing library aggregation of that sort.
 We're striving to get rid of most of those, and they will disappear in
 due time.
 
But why getting rid of what works, and works cleanly and beautifully?
Instead we should make it more powerful and more used. This is the point
of having an Extended Platform, and a similar point goes for
libgnome-desktop.

And if it were me, we'd kill gnome-desktop (as a library), and
 copy/paste the very few bits between the modules that need it.
 
And if it were me, I'd ship gnome-desktop and link it statically.
No really, copy/pasting makes it difficult to track changes, to fix
bugs, to port code, and results in duplicated object code in our users'
hard drives.


 There's currently RandR helpers (g-s-d and control-center), wallpaper
 handling code (g-s-d, control-center and nautilus), and the
thumbnailer
 (nautilus only, afaik).
 
Add gnome-shell to the users of GnomeRR (pending bug 634332).


 The RandR stuff could be moved in g-s-d, and the wallpaper code as
well,
 when nautilus stops handling the desktop at some point in GNOME 3. And
 nautilus could move the thumbnailer code to use itself.
 
Then gnome-desktop would only be a location for gnome-about.
 
And we will invent a new tiny module every time we need some feature
across the desktop (I'm thinking of gsettings-desktop-schemas) or we
will hope for maintainers to be kind and update their code.

I'm not sure this is really the way forward.
(But in the end, it's not that I maintain anything, just I would find it
cleaner to have some sort of desktop platform with everything you need.)

Giovanni

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-12 Thread Bastien Nocera
On Tue, 2010-11-09 at 22:33 +0100, Giovanni Campagna wrote:
 Vincent asked me to send a mail to d-d-l aboutdb82a33 in
 gnome-desktop, that is: all libgnome-desktop include files have been
 moved to $(includedir)/gnome-desktop-3.0/libgnome-desktop.
 This is part of an other API break which is related to GnomeRR and
 introspection.
 
 I consider this an occasion for a bigger discussion on redesigning
 libgnome-desktop, moving forward from being the container of useful
 libgnome parts, to the One Desktop Library.

There are reasons why all those are separate, and I think we should
remember that.

 We're in the middle of moduleset reorganization, drawing a stricter line
 on what is core, and thus is expected to work only in GNOME and requires
 GNOME and is required by GNOME, such wm, the panels, the control center,
 the session daemons, and what is just an app using the GPlatform (GLib -
 GIO - Gtk), which therefore will work on every G- desktop environment.
 
 I believe this is the time for consolidating shared code used by this
 core modules into a libgnome-desktop, the same way we killed libgnome
 and merged useful features in Gtk / Gio.
 
 There is a lot of code which is copy-pasted around our desktop. For
 example, the GsdOsdWindow class, used by gnome-settings-daemon and
 gnome-power-manager, had to be updated several times because of Gtk
 breakages.

That's 2 users of the library, there's a similar one in Totem. But those
will be going away when we get those sort of notifications into the
shell directly.

 Another piece of copy-pasted code is gdmuser, which lives in
 gnome-panel, gdm and gnome-shell, and is constantly being updated
 because of accountsservice instability.

Then we need to make accountsservice more stable. And it could probably
ship a small library as well.

 Then there are microlibraries, killing which would help performance.
 These include for example libgtop, libgweather and libgnomekbd, but also

libgweather is small, but the data it drags in isn't.

 liboobs if the system tool backends are not dead.
 I can't find an use for them outside core desktop, while on the other
 hand there are already core desktop packages that depend on them.
 
 My proposal is then to take the classes included in these libraries or
 copy pasted sources, move them to the Gnome C namespace (GnomeDesktop
 GIR namespace) and add to libgnome-desktop.
 API stability is not an issue, as we all know that
 GNOME_DESKTOP_IS_UNSTABLE_API, and the only users of libgnome-desktop
 should live in the desktop modulesets, so that if we ever break API,
 we'll file patches before the affected maintainers even notices.
 
 I'm looking forward to read your comments on this.

I'm really not interested in seeing library aggregation of that sort.
We're striving to get rid of most of those, and they will disappear in
due time.

And if it were me, we'd kill gnome-desktop (as a library), and
copy/paste the very few bits between the modules that need it.

There's currently RandR helpers (g-s-d and control-center), wallpaper
handling code (g-s-d, control-center and nautilus), and the thumbnailer
(nautilus only, afaik).

The RandR stuff could be moved in g-s-d, and the wallpaper code as well,
when nautilus stops handling the desktop at some point in GNOME 3. And
nautilus could move the thumbnailer code to use itself.

Then gnome-desktop would only be a location for gnome-about.

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-10 Thread Cosimo Cecchi
On Tue, 2010-11-09 at 22:33 +0100, Giovanni Campagna wrote:

 There is a lot of code which is copy-pasted around our desktop. For
 example, the GsdOsdWindow class, used by gnome-settings-daemon and
 gnome-power-manager, had to be updated several times because of Gtk
 breakages.
 Another piece of copy-pasted code is gdmuser, which lives in
 gnome-panel, gdm and gnome-shell, and is constantly being updated
 because of accountsservice instability.
 
 Then there are microlibraries, killing which would help performance.
 These include for example libgtop, libgweather and libgnomekbd, but also
 liboobs if the system tool backends are not dead.
 I can't find an use for them outside core desktop, while on the other
 hand there are already core desktop packages that depend on them.

I'd say no, as I think you mix quite different things here. Libraries
such as libgtop and libgweather already have no API guarantees, and have
never been part of the core desktop, so I can't really see the benefit
of mixing them all into a single giant module (not counting the
coordination issues you might have in a library module with dozens of
completely different submodules, each one with a different maintainer
and so on).

It might be useful instead to create a shared libgnome-core-kitchen-sink
library for those widgets or useful pieces of code that are shared
across multiple core desktop components but are not generic enough to
go into the platform; but we should also make it very clear that such a
library should not be used by applications outside of the core desktop,
otherwise we have another libgnome/libgnome-ui which we tried really
hard to get rid of in the last years :)

Cheers,

Cosimo

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-09 Thread Colin Walters
On Tue, Nov 9, 2010 at 4:33 PM, Giovanni Campagna
scampa.giova...@gmail.com wrote:

 I consider this an occasion for a bigger discussion on redesigning
 libgnome-desktop, moving forward from being the container of useful
 libgnome parts, to the One Desktop Library.

Makes sense to me.  The one concern I have is whether or not we should
be continually bumping the SONAME.  I'd vote for yes - more pain, but
also more correct.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-09 Thread Josselin Mouette
Le mardi 09 novembre 2010 à 17:31 -0500, Colin Walters a écrit : 
 Makes sense to me.  The one concern I have is whether or not we should
 be continually bumping the SONAME.  I'd vote for yes - more pain, but
 also more correct.

Yes please. Shared libraries without correct versioning are *much* more
pain.

-- 
 .''`.  Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-[…] I will see what I can do for you.”  -- Jörg Schilling


signature.asc
Description: This is a digitally signed message part
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Consolidating Core Desktop libraries

2010-11-09 Thread Behdad Esfahbod
On 11/09/10 16:33, Giovanni Campagna wrote:
 Then there are microlibraries, killing which would help performance.
 These include for example libgtop, libgweather and libgnomekbd, but also
 liboobs if the system tool backends are not dead.
 I can't find an use for them outside core desktop, while on the other
 hand there are already core desktop packages that depend on them.

I'd say no.  If it's already in a library that does not break its API every
other week, let it be there.  That's the correct design anyway.  Something
like libgweather does not belong in a generic desktop library.

behdad
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Consolidating Core Desktop libraries

2010-11-09 Thread Brian Cameron


Behdad:


I'd say no.  If it's already in a library that does not break its API every
other week, let it be there.  That's the correct design anyway.  Something
like libgweather does not belong in a generic desktop library.


libgweather is GPL, so it is probably not something that could be
integrated into a generic desktop library anyway.  I suspect that
there are not enough desktop GPL libraries around to do much
consolidation with them.

Brian
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list