Re: Translations of folder names - two proposals

On Sat, 2004-12-11 at 17:21 +0000, Alan Cox wrote:
> So if you are happy with $HOME/Desktop, please explain why you are
> unhappy with $DESKTOP when this is relying on the same principles but
> adding support for non English users.

I would in fact say that a $DESKTOP guaranteed to be set up by the login
scripts is relatively better than gconf or the symlink thing because at
least there's no symlink to keep in sync and you don't have to monitor
the gconf key dynamically; it's relatively more robust and KISS if we
just say the login scripts must init $DESKTOP.

That said, we *do* have an assortment of bugs and problems related to
$HOME. Among those are:
 - whether to use $HOME env variable or just query the GECOS, there has
   always been a big complicated mess with this especially in the su 
   case (there's a bugzilla from back in the day I know with discussion)
 - hardcoding $HOME in config settings such that changing $HOME breaks
   (i.e. we put a filename "/home/hp/foo" in gconf then move /home/hp)

$HOME/Desktop does still inherit the $HOME problems, but it does not add
a $DESKTOP problem. For example, say we add a gconf feature as we've
discussed to solve the second problem above:
 gconf_client_set_filename() where /home/hp is substituted with ~
 gconf_client_get_filename() where the ~ is changed to /home/hp

If we have $DESKTOP in addition to $HOME/Desktop, then we also have to
replace /home/hp/Desktop with a variable similar to ~, and so forth for
any other configurable directories.

Because of the gconf back/forward compat rules, you can't just add the
new variables to gconf_client_set/get_filename(); instead, 
you have to add gconf_client_set_filename_with_new_substitutions(), and
then you add a new special folder and it's
gconf_client_set_filename_with_even_newer_substitutions(), and so forth.

While I'm sure we can solve this somehow, the point is that it's one
more small example of how you get creeping complexity by making the
special folders configurable. This makes a lot of work and a lot of
things that can break. It's not free by any means.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]