Re: Panel changes for 4.4

Alexander Iliev <[email protected]>
Newsgroups gmane.comp.desktop.xfce.goodies.devel
Message-ID <[email protected]>
Jasper Huijsmans <[email protected]> wrote:

> Alexander Iliev wrote:
> > Jasper Huijsmans <[email protected]> wrote:
> >
> >
> >>Alexander Iliev wrote:
> >>
> >>>Hei, I thought of another addition to the new API:
> >>>
> >>>gboolean xfce_panel_plugin_test_availability(gchar
> >>>**return_msg);
> >>>
> >>
> >>Good idea, but I think it should be sufficient to have
> a
> >>'Unique = True'
> >>field in the .desktop file for the plugin. I can't
> really
> >>think of a
> >>situation where this wouldn't work.
> >>
>
> >
> > Ok, since this is pretty similar to my previous
> suggestion
> > some more explanation would be needed. First - the idea
> > is pretty different here. It's not about plugin being
> > unique or not, it's about cheching for certain
> conditions
> > which should be fulfilled.
> >
> > Take for example the xkb plugin. If I run a Xvnc server
> > and connect to the server there is no XKB extension
> > available
> > (Xvnc does not implement XKB). So the xkb plugin could
> not
> > function at all. As a result the panel currently
> crashes.
> > This is firstly plugin's fault and I'm working on a
> rewrite
> > of this plugin which sould handle such situations more
> > gracefully. I also know that with the new
> out-of-process
> > plugins a crash in one plugin should not crash the
> whole
> > panel. But nevertheless I think such API would be of
> help
> > in making XFCE more user-oriented desktop.
> >
> > I think having such a function is a good thing, since
> the
> > plugin writers can use it to check for certain
> conditions
> > needed to run their plugins. If the plugin doesn't
> depend
> > on any such conditions or the plugin writer doesn't
> want to
> > implement it the simpliest thing is to "return TRUE;".
> I
> > think it wouldn't be hard to implement this from the
> panel
> > side. It might slow the add new item dialog (or
> whatever
> > it will become in the future), but this is pretty
> rarely
> > performed task.
> >
> > Hey, that's just my opinion. :-)
> > It's up to you, I just think such an API would help in
> > creating a more "usable" desktop environment.
> >
>
> Thanks, that's a very interesting use case. My previous
> reply may have
> sounded like I didn't agree with the feature, but what I
> meant was to
> ask you when it would be useful ;-)
>
> I'm trying to keep the interface as small as possible,
> especially since
> it must be based on sending messages because you can't
> directly call a
> function in an external plugin. That's why I'll be asking
> for use cases
> for every API addition and will try to find alternatives
> that don't
> involve communication.
>
> Anyway, back to your suggestion, there are two situations
> here that are
> important:
>
> - Add a new plugin.
>
> - Start the panel with an existing configuration in a
> different environment.
>
> The second on will be much harder to handle, because you
> do want it to
> show up again the next time you log in to an environment
> where the
> plugin does work again.
>
> Don't you think it would be better if the plugin would
> show an error
> icon and/or a dialog explaining the situation, and
> perhaps offering the
> user to hide and try again in the next session? This
> would not need
> communication with the panel.
>
> 	Jasper
> _______________________________________________
> xfce-goodies-dev mailing list
> [email protected]
> http://lists.berlios.de/mailman/listinfo/xfce-goodies-dev
>

You're absolutely right about the two important
situations - adding a plugin and starting with existing
configuration. And you are also absolutely right about
what should happen in the latter case - the plugin
should show an error icon/message/dialog/whatever to
inform the user that for some reason it could not
function properly. This is plugin's responsibility.

The advantage of the proposed addition is in the case
when the user tries to add a new plugin. In this case
I think it would be more appropriate to disable the
ability to add certain plugins if they could not function
as expected than to add plugins regardless and then
recieve an error message. But I've already said that :).

What I didn't say is - I wasn't aware of the technology
that is about to be used for the new API with external
plugins. If you think it would add unnecessary overhead
to the panel then I'd absolutely agree that this addition
should be disregarded. It's vital to keep XFCE as
lightweight and fast as possible since it's one of the
main reasons for me to use it and love it.

But, (one more time) :-) since this specific call will
be made only when the user clicks on "add new item" or
"configure panel" or "whatever it'll be called" menu item,
I think it won't cause too much trouble.

And one more thing - I'm not trying to make you do my
work. :-) I definitely will implement the error
handling in the xkb plugin (so that the plugin shows
error messages to the user in the most user-friendly
way possible). This is my work and I'll do it. My
intention is to make XFCE panel even more user-friendly.

Once again, if you really think the overhead added by
this will be too much, then it's not worth it.

Best regards,
Alexander




--------------------------------------
Това писмо е изпратено от  www.mail.bg

Безплатната поща в mail.bg предлага:
- Силна защита срещу СПАМ/рекламни писма
- 30MB безплатно (SMS от 2лв=3GB!)
- 30MB макс. размер на прикачен файл
- SMS за ново писмо (всички оператори)
- WAP достъп от GSM и без компютър
- Безплатен POP3 достъп
- 24 часов телефон за помощ/поддръжка
______________________________________
БЕЗ ИЗЛИШНИ ВЪПРОСИ РЕГИСТРИРАЙТЕ СВОЙ
БЕЗПЛАТЕН АДРЕС НА  http://www.mail.bg
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.