[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: kdesky (was: Re: Changes to DialogBase and KAboutDialog)
From:       "Dirk A. Mueller" <dmuell () gmx ! net>
Date:       1999-07-13 15:01:24
[Download RAW message or body]

Cristian Tibirna <ctibirna@total.net> wrote:

> So, my proposal:

This is a better one, you convinced me. But I still have some remarks
and unsolved questions ;)

> $HOME/Desktops
> $HOME/Desktops/General
> $HOME/Desktops/[One,Two,Three...] (names actually corresponding to
> kpanel's buttons (or kwm's desktop names, as this is technically
> correct))

well, what happens if the user renames a desktop? then the dir would
have to be renamed, too. and this way it wouldn't be possible to have
two different desktops with the same name but different icons. (could
also be called a feature, I'm not sure about that).

and what should happen it General and One/two/three contains an icon
with the same name? should both be shown or only one? if only one,
which one (the one from General or the one from the desktop-specific?)


what happens if the user want to have an Icon on desktop one&two, but
not on all other desktops ? she/he has to copy it to two directories,
which produces 50% waste or has to hardlink them.

and still: this approach is not backward compatible. Every application
has to install it's icons now in ~/Desktop/General, and not in
~/Desktop as before. I'm not sure how many apps are out there that
must be adjusted. But it  is still an issue for those who just use KDE
and don't know why and where the desktop icons information is stored.
They will just cry out that KDE 2.0 ate their fancy desktop icons and
they can't get them back.

ok, now let's come to a different issue. how should the user select
which icons should appear on which desktops ?

the easiest solution and imho a clean and intuitive way would be an
additional tab in the properties-dialog where the user can select
checkboxes for every desktop the icon should appear, with an additional
shortcut-checkbox for "all desktops" or something like that.

then a routine then would have to check if the current icon is already
stored in other desktop dirs where the user now has unselect them and
then it needs to delete them in this dir. but this leads to a problem:
how should it decide which icons in the other dir are the same as the
one selected ? by comparing the filenames? they could be different! by
comparing the name-entry in the file? these could be different,
language-specifics could make it even worse. by checking the
exec=/link= line? the user could have two different icons which have
the same exec= line but different commandline parameters. this is
getting messy, isn't it? we're having an O(n) issue here, although I
know this isn't bad that for <= 16 desktops. additionally we can't make
sure assumptions about how the user tries to handle this situation, so
however which assumption we make (i.e. filename must be the same) it
might be wrong.

ok, let's think even a bit more. a feature that has already been
suggested very often and is one of the features I'd really like to
implement in KDE 2.0, namely kpanel is the ability to have a
desktop-specific icons in the panel-bar (I don't know the right
name?!), because I cannot see a reason why this feature should be
limited to desktop icons only as well as allowing more than one
panelbar on the same screen simultaneously (GNOME users i.e. can have
such a bar at every border and can swallow applications wherever they
want them to have. I can't see why KDE shouldn't have such a feature).

so now whe're stuck. your suggestion is fully incompatible with the way
kpanel and all the rest handles icons. Therefore I would favor a way
which is backward compatible and _can_ be implemented in kpanel
in an easy and simple way.

therefore I suggest an additional entry in the .desktop files, which
simply stores on which desktops the icon should appear. if this entry
isn't present, the icon should be shown on every desktop, this way it
_is_ backward compatible to the current way icons are stored in
~/Desktop. It even doesn't hurt if the user switches from KDE 2.0
back to KDE 1.0 and so on. the entry could be a bitmasked unsinged int
or something similiar, makeing it very simple to manipulate the data
and making it very simple to determine which icons should be drawn on
which screens.

additionally kpanel could use the same way, making it possible to
drag&drop an icon from desktop to the panelbar and vice-versa, and this
desktop-specific information isn't lost but also duplicated. very nice,
I think.

I don't know how if gnome .desktop files already have such an entry? if
not, maybe the .desktop files format agreement could be extended by
such an entry. Preston, do you know more?

> An icon declared sticky is automatically moved to General and
> symbolically linked to all other desktops

which produces stale symlinks when a user deletes, or renames the file
in general dir. Sorry Christian, but this looks far too messy for me.

> or a special code reads it from General and displays it in all
> desktops.

Let's reduce the bloat by not introducing too much "special code".

Any comments?


-- 
Dirk A. Mueller

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic