Current desktop detection / app access - take 2.

Mark McLoughlin markmc at redhat.com
Thu May 27 14:48:21 EEST 2004


Hi,

On Wed, 2004-05-26 at 11:09, Michael Meeks wrote:

> > The problem is that the hack actively prevents us from moving toward the
> > standardized platform, because it gives app authors this
> > write-my-app-five-times-over semi-working approach to solving the same
> > problem. We should be living with the pain until we solve it sanely.
> 
> 	I really don't see where the 5 times comes in. I'm guess it can be
> simplified to 2 questions:
> 
> 	* is there a good way for an ISV to detect what toolkit to use
> 	  for integrated theming ?
> 		+ yes it sucks that we have to do this at all, but life
> 		  does suck often :-)
> 
> 	* is some sophisticated shared mime-foo ever going to do much
> 	  better than: exec ("desktop-launch") ?
> 		+ this argument _looks_ like it hinges on some obscure
> 		  preference for linking vs. a MIME library to do the
> 		  exec for you, rather than letting the helper do that.
> 
> 	My feeling is that deliberately increasing ISV (and user) pain for a
> long period, while hoping that this will focus people's minds on a more
> complicated solution that is a few percent more powerful than a very
> simple, quick solution - is not _really_ a useful use of life. There are
> plenty of more interesting, complicated / nasty problems that we can
> address surely ?

	Ignore your immediate problems for a moment and listen.

	If we add a $DESKTOP environment variable/root window property we are
effectively putting big sign up that says "solve all your integration
woes here with one easy hack". No matter what we do, $DESKTOP will more
than likely become the de-facto way of integrating apps into different
desktops.

	Look at http://freedesktop.org/Standards for a moment and consider how
many of those standards would exist if apps could have done:

  switch (desktop)
  {
    case GNOME:
       do_gnome_thing ();
       break;
    case KDE:
       do_kde_thing ();
       break;
    ...
    case CDE: /* who uses this any more? */
       g_assert_not_reached ();
       break;
  }

	I don't think we'd be better off if apps were doing this instead of us
having well defined standardisation between desktop environments. And I
don't believe you could think so either ...

	Notice the way I haven't mentioned your specific problems? I've put
little or no thought into whether there is a better way of fixing those
problems than changing behaviour based on an environment variable or
root window property. I'm not claiming there is a better way, but if
there isn't we should be talking about standardising on
_NET_TOOLKIT_NAME and $DESKTOP_LAUNCH=/usr/bin/gnome-launch or whatever
rather than introducing something which, IMHO, will introduce a
significant barrier to us growing the number well-defined, standardised
application integration points.

Cheers,
Mark.





More information about the xdg mailing list