<div dir="ltr"><div>HI Fabrice,<br><br>Just to follow on what Pekka said ; I don't think, either, that it's good idea to try to define zillions of DE-oriented interfaces now ; but it may be worth working on testing/demo implementations.<br>
<br></div><div>A real-world example : Weston has nothing such as a "taskbar". Some months ago, I proposed patches to enable such a bar under Weston (<a href="https://www.mail-archive.com/wayland-devel@lists.freedesktop.org/msg12908.html">https://www.mail-archive.com/wayland-devel@lists.freedesktop.org/msg12908.html</a> - <a href="https://www.youtube.com/watch?v=7Svrb3iGBAs">https://www.youtube.com/watch?v=7Svrb3iGBAs</a>). It wasn't merged, but that's not the topic here =><br>
<br></div><div>Now, say you're app developer that wants to have certain features in the taskbar for your app (right-click menu, options in right-click menu, applets, indicators...) *and* want them exposed in all or most compositors.<br>
<br></div><div>A good idea would then be to "push" the candidate interface by providing an implementation, or find a motivated developer to provide an implementation. At worst, provide an installable plugin. It it is good and functional, it may then "win" the battle of DE interfaces in the future. <br>
<br>An example of this if the Weston virtual keyboard. Its interface is not in libwayland, but there at least another client program that uses it (<a href="https://github.com/etrunko/weekeyboard">https://github.com/etrunko/weekeyboard</a>). If this move massifies, we can then hope if will become the "standard" interface for VKs, and most future VK software will use it.<br>
<br>Regards,<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-07-04 9:42 GMT+02:00 Pekka Paalanen <span dir="ltr"><<a href="mailto:ppaalanen@gmail.com" target="_blank">ppaalanen@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 3 Jul 2014 22:26:49 +0200<br>
Fabrice Rey <<a href="mailto:fabounet03@gmail.com">fabounet03@gmail.com</a>> wrote:<br>
<br>
> > "They have fundamentally different needs than the average<br>
> application"<br>
> Well yes, I'm very aware they are, but when you say "DE-component", I see a<br>
> huge PITA for the developpers who would want to add such features in the<br>
> desktop.<br>
> Now, I wouldn't mind some sort of EWMH-like extensions, however, if a<br>
> developper has to first focus a DE, make a new extension for it, make it<br>
> accepted in the DE code-base, and then build its app, it's dead from the<br>
> beginning.<br>
> So our last hope would be that a DE really exposes a third-party-friendly<br>
> interface and that others follow... Ubuntu did with their Launcher API,<br>
> indicators API, etc, and it didn't spread very much.<br>
><br>
> I think if Weston implements an interface it will have a chance though, so<br>
> I'll still try to push some other ideas on this ML ;-)<br>
<br>
So you just completely ignored my explanation below on why we<br>
(as Wayland upstream developers) do not want to do this at this<br>
time?<br>
<br>
We still have a lot of work to be done to support even the normal<br>
applications that are not DE components. That stuff must be<br>
standardised to have even *normal* applications work across<br>
different compositors. I really don't think there is time to invest<br>
in creating and standardising non-essential protocols and their<br>
implementations.<br>
<br>
For example, I would consider supporting games needing mouse-look<br>
as a much higher priority than DE widgets.<br>
<br>
If you have the time to design, implement, and convince one or two<br>
major DEs to support your DE-component interfaces, please do! I do<br>
think that at least one big DE needs to buy in on this, rather<br>
than just Weston. Even then, you are welcome to use Weston as your<br>
development environment, but it might be hard to catch reviewers.<br>
<br>
I outlined the plan to come up with these optional standard<br>
protocol extensions below, and I really think that is how it should<br>
go. In any case, I think you probably won't have your standard<br>
DE-component interfaces in before a few years passes, so it would<br>
be good to start experimenting sooner than later. Someone has to do<br>
the hard work, before other developers can simply reap the benefits<br>
by making cool desklets and stuff.<br>
<br>
<br>
Thanks,<br>
pq<br>
<br>
<br>
> 2014-07-03 9:03 GMT+02:00 Pekka Paalanen <<a href="mailto:ppaalanen@gmail.com">ppaalanen@gmail.com</a>>:<br>
><br>
> > On Wed, 2 Jul 2014 16:16:36 -0700<br>
> > Jason Gerecke <<a href="mailto:killertofu@gmail.com">killertofu@gmail.com</a>> wrote:<br>
> ><br>
> > > On Wed, Jul 2, 2014 at 3:33 PM, Fabrice Rey <<a href="mailto:fabounet03@gmail.com">fabounet03@gmail.com</a>><br>
> > wrote:<br>
> > > >> "The question is: what action triggers it to make this ring of icons<br>
> > > >> appear?"<br>
> > > > A global shortkey (and yes I know it's not yet possible on Wayland,<br>
> > that's<br>
> > > > another problem on its own).<br>
> > > ><br>
> > > >> "What's the application doing? Does it have keyboard focus but is<br>
> > > >> potentially not under the mouse pointer? Do you have a screenshot or<br>
> > video<br>
> > > >> of this feature you can share?"<br>
> > > > I'm not the developper of it, I actually don't even use it ^^ I was<br>
> > just<br>
> > > > thinking of it to see how it would fit in Wayland, what's potentially<br>
> > > > missing now in the protocol.<br>
> > > > Here is an article about it:<br>
> > > > <a href="http://www.webupd8.org/2011/10/gnome-pie-02-released.html" target="_blank">http://www.webupd8.org/2011/10/gnome-pie-02-released.html</a> and a video:<br>
> > > > <a href="https://www.youtube.com/watch?v=TFQDyZyMxO4" target="_blank">https://www.youtube.com/watch?v=TFQDyZyMxO4</a>.<br>
> > > > Basically, it appears under the mouse when you trigger the shortkey,<br>
> > and you<br>
> > > > can also use the keyboard to navigate in the items.<br>
> > > > So I see 2 main points here:<br>
> > > > - it places its window not relatively to a parent (which there is<br>
> > not), but<br>
> > > > to the mouse<br>
> > > > - it takes the (keyboard) focus when it appears<br>
> > > > The second point is not related to this topic, so we can probably<br>
> > think of<br>
> > > > it later.<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > ><br>
> > > This reminds me of a something similar[1] that comes with the Wacom<br>
> > > drivers on Windows and Mac. Its not a normal application that you<br>
> > > would open, interact with, (possibly switch away from temporarily),<br>
> > > and close. Rather, the application sits in the background and waits<br>
> > > for some button/mouse/hotkey to be pressed before spawning a window<br>
> > > under the mouse that you interact with for only a moment before<br>
> > > returning to your original task.<br>
> ><br>
> > Right, though on a quick glimpse on that video without really<br>
> > understanding what's going on there, the circular menu seems more like<br>
> > belonging to the image processing application.<br>
> ><br>
> > Fabrice's example OTOH is obviously a DE component, as it is a<br>
> > launcher, window control, and stuff.<br>
> ><br>
> > > I do not mean to put words into Pekka's mouth, but I believe what he<br>
> > > means when saying that things like this are "a DE-component" he's<br>
> > > speaking conceptually more than anything else. Alternative menu<br>
> > > systems like this and desklets essentially exist to augment the<br>
> > > desktop itself. Just because they can be written in a DE-agnostic<br>
> > > manner and run on GNOME, KDE, or TWM (all hail xeyes?) doesn't change<br>
> > > that. They have fundamentally different needs than the average<br>
> > > application, and -- at least as far as I understand Wayland -- it<br>
> > > makes sense to leave some of these things up to the desktops to<br>
> > > define.<br>
> ><br>
> > Quite right. Defining a generic protocol (designed from above, a<br>
> > little like the core Wayland protocol has been done) for adding DE<br>
> > components like pagers, task bars, launcher systems, window management<br>
> > thingies, desklets, etc. is so far an explicit non-goal.<br>
> ><br>
> > On Wayland, desktop environments are intended to be much more tightly<br>
> > integrated than on X11. We are not planning to intentionally design<br>
> > support for custom desktop environment arrangements where you pick the<br>
> > window manager from here, pager from there, a 3rd party task bar, and<br>
> > then a few desklets all from different other DEs. Yes, you can say it is<br>
> > a loss for the people who like to build their own DE from various<br>
> > pieces (I'm one of them, but mostly just because I can't bother<br>
> > learning anything else). However, it should be a great win in<br>
> > freedom of design, stability and usablity for the seriously developed<br>
> > DEs used by the masses.<br>
> ><br>
> > Every DE has its own thing for DE components already. Inventing yet<br>
> > another way that doesn't really fit well for any DE and forcing<br>
> > everyone to support that is not a good plan. Some components in some<br>
> > DEs could be not programs but plugins, some may talk via dbus rather<br>
> > than the display protocol, and so on.<br>
> ><br>
> > Instead, we are trying to allow DEs to define their own interfaces for<br>
> > these DE components, and if there actually emerges some common<br>
> > interfaces that could be standardised, then we can look into it.<br>
> > One hope is, that one DE starts to use a public interface for some DE<br>
> > components, some other DE finds it good and starts using it too, and so<br>
> > it slowly becomes a standard. Note, that nothing requires the<br>
> > standard protocol to be part of the display (Wayland) protocol.<br>
> ><br>
> > Unfortunately such organic, cooperative protocol design does not really<br>
> > work for the core protocol that all applications will depend on, and<br>
> > that's why we have and are "centrally" designing the Wayland core<br>
> > protocols and xdg_shell. We cannot really test much without a stable<br>
> > core protocol, and we cannot be sure the core protocol is good until it<br>
> > is put into serious use; we also have already been bitten by this<br>
> > chicken-and-egg problem.<br>
> ><br>
> ><br>
> > Thanks,<br>
> > pq<br>
> ><br>
> > > [1]: <a href="https://www.youtube.com/watch?v=McJMnMJydes" target="_blank">https://www.youtube.com/watch?v=McJMnMJydes</a><br>
> > ><br>
> > > Jason<br>
> ><br>
_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr"><font>Regards,<br>
<br>
<i><b>Manuel BACHMANN</b><br>
Tizen Project<br>
VANNES-FR</i><br>
</font></div>
</div>