Sylvain,
Here is my view on your view.
I have been a UNIX sysadmin for a couple of years.
I haven't, so I'll consider your opinion wiser than mine "by
default". Still, I might disagree from time to time.:)
I see the point, but good desklets should be fairly small.
weatherforecast, for
instance, is far too big to my taste.
I looks a bit fat to me too, but it's ok. I am not going to
complain that a themable desklet giving good functionality is
a bit big. Afterall, I saved a lot of disk space by using
adesklets compared to karamba or gdesklets, which have huge
dependecies.
You see, this is exactly what makes me run away of many
packages: mandatory, artificial infrastructure.
As far as gentoo is consered, infrastructure is not so
mandatory. There are recomanded places to install software,
but it is still rather flexible, and can basicaly install
anywhere the package manager see fit. The only problem is
that the package manager can't put it in your home dir,
because, well, there is just no way the package manager can
know where your home dir is, moreover, to how many homedir it
should install.
The method you propose [...] enforce an policy on
desklets configuration, making something purely optional
(usage of the ConfigFile
class or similar) becoming mandatory. Right now, all a
desklet writer have to care about is being self-coherent.
With this, you force him to use hooks he maybe wouldn't
have cared about normally.
I am aware that my method introduces some constraints on the
way you should program. I just think, that those constraints
are "worth it". Either using the config class, or finding and
writing by myself in the home dir doesn't sound so hard to
be. But I have to agree that this is entirely subjective, and
that others may see it differently. And since I haven't
writen any desklets (yet?), my view doesn't count so much.
I'll still continue discussing my ideas, for the sake of the
argument, and because I am stuborn.
The current "~/.adesklets" file should be moved to
"~/.adesklests/adesklets.conf"
That's the only point that is marginally wrong with your
implementation proposal. [...]
Oh, I didn't realise this may cause problems. let it where it
is now then. and rename the folder where i wanted to the
other files as .desklets to avoid conflicts. Or is it still
the same problem? I know nothing about nfs, so I din't get
what was wrong. But seeing how many programs store their
config file either in ~/.progName or ~/.progName/*, I didn't
imagine it could be an issue. And i still don't really
understand why. but then again, it might just be my lack of
knowledge about nfs.
It would also somehow break backward compatibility,
but that's a minor concern.
Agreed. And I would add that if it is to be changed, the
sooner you change it, the more minor this concern will
be.
[...]
Well, it looks like what you are really looking for are
symbolic links. A general,
portable, well understood facility that make the behavior
you are seeking entirely possible without a single change
to adesklets. You could very well install desklets in any
accessible place of your system, then just populate
appropriately your home. Cruedly, on a GNU system, this
would look like,:
cd $HOME/final/path/to/desklet
find /path/to/desklet -maxdepth 1 -mindepth 1 | sed 's/.*\/\(.*\)/& \1/' | xargs --max-lines=1 ln -s
Hmm. This would certainly do the trick. Still have to be sure
that the script does not self-modify its own file, but that
shouldn't be a common programming style, so no real
worries.
This would be functional, but it doesn't fit my esthetical
point of view. I like when unix programs can be install
anywhere (to let me put them under /usr), when store their
configuration under /etc if the config is common to all
users, and under ~/ if it is user specific. in etc and ~,
either only have one file, or group everything under one
dir.
But agreed, this is more about esthetics than anything else.
Since you are making the programm, you chose. And I certainly
don't think this would be worth a fork, so if you don't like
my way, I'll teach myself to like your way.
And nothing would prevent you to use your favorite
package manager to install desklets with it, provided
appropriate packages would exist, which I have no intent
whatsoever to do by myself, as reviewing, packaging,
publishing operations already take a significant part of my
time on adesklets (about 7 hours out of 20 a week right
now).
Care for some help? I wanted to teach myself how to make
ebuilds (gentoo package). Why not try it on desklets? Btw, is
the ebuild for adesklets your work, or a contribution?