minimized and stick windows
Pekka Paalanen
ppaalanen at gmail.com
Mon May 13 23:30:18 PDT 2013
On Mon, 13 May 2013 17:26:28 -0500
Jason Ekstrand <jason at jlekstrand.net> wrote:
> On Mon, May 13, 2013 at 4:14 PM, Rafael Antognolli <antognolli at gmail.com>wrote:
>
> > Hi Jason,
> >
> > On Wed, May 8, 2013 at 9:26 PM, Jason Ekstrand <jason at jlekstrand.net>
> > wrote:
> > > Hi Rafael,
> > >
> > >
> > > On Wed, May 8, 2013 at 6:04 PM, Rafael Antognolli <antognolli at gmail.com>
> > > wrote:
> > >>
> > >> Hello,
> > >>
> > >> I've been looking the Weston code relative to maximized windows, and
> > >> it seems that the respective code for minimized windows wouldn't be
> > >> hard to implement.
> > >>
> > >> The questions are: are there any plans to add it? Is there someone
> > >> already working on it? If not, would it be OK if I start submitting
> > >> patches to try to add support for this?
> > >
> > >
> > > A month or two ago, Scott Morreau was working on it. However, his work
> > > never made into weston for a variety of reasons. Personally, I'm glad to
> > > see someone interested in working on it again because it's something that
> > > wayland will need eventually.
> > >
> > > The place to start on it is probably with the following e-mail and the
> > long
> > > string of replies:
> > >
> > >
> > http://lists.freedesktop.org/archives/wayland-devel/2013-March/007814.html
> > >
> > > There was quite a bit of discussion about how to handle it from a
> > protocol
> > > level, but Scott never made an actual version 2. I'd suggest you start
> > by
> > > reading the chain of e-mails (it goes into April, not just March). There
> > > were quite a few suggestions in there that could be incorporated.
> > > Hopefully, you can pick through the e-mail discussion and figure out what
> > > the consensus was. It'd be good to have a pair of fresh eyes look at it.
> >
> > Thanks for pointing that out. I just went through the chain of
> > e-mails, but I don't think there was a consensus there.
> >
> > It also seems that the minimize implementation is a little more
> > complex than just hiding surfaces and marking some flags. Which makes
> > me not so comfortable doing an implementation without a consensus
> > about what should be implemented, and with some orientation.
> >
> > That said, I'm not sure I'm really going to take this task.
> >
>
> I didn't intend to scare you off. Honestly, I don't know for 100% certain
> how much weston machinery is needed to implement it. It would require some
> sort of set of flags to keep the compositor and shell plugin in sync. That
> said, I don't know if its quite as difficult as Scott made it sound.
>
> As far as direction goes, the first thing is to think through use-cases and
> settle on a protocol. Unfortunately, the discussion I linked you to seemed
> to go nowhere. However, a lot of that was Scott saying, "This is the way I
> want to do it and I'm not going to change." If you look at the other
> comments, I think there was some consensus in there (at least in a general
> direction). Feel free to throw some XML together and we can re-start the
> discussion. For that matter, if you can come up with a way to do it as a
> weston extension for now (with the hopes of putting it in wayland core
> later), things can be a lot more flexible and we can play around with
> protocol concepts as we go.
>
> Once a basic protocol is in place, then the client-side needs to be
> implemented in tinytk (window.c) and the server-side needs to be
> implemented in weston.
>
> I'm sorry "I want to add X feature" isn't simpler. Basically every new
> major protocol piece goes through a long mailing list discussion and a lot
> of revision.
Also worth noting, that there are actually two different pieces of
protocol involved with minimized windows:
- the public protocol, likely part of wl_shell_surface, which all
applications use to communicate with the server. This is the
important part that will go under strict review, but it is probably
also the simpler of the two. You could also check what DE
projects have done on this (Gnome/gtk, KDE/Qt, EFL, ...).
- the private protocol between Weston and weston-desktop-shell
specifically. As we have chosen to let weston-desktop-shell client do
all the GUI drawing, and minimized windows will need some GUI (a task
bar button, a menu list of windows) to be able to get them back, we
need protocol to inform weston-desktop-shell about the windows so it
can draw the GUI.
But these should not be complicated, once you understand how the basics
of a Wayland protocol work. And you don't need to have any complex
foreign surface passing protocol to get window thumbnails by hovering
the pointer over a taskbar button. Thumbnails can be added later, as it
does not concern the public protocol at all.
Cheers,
pq
More information about the wayland-devel
mailing list