[PATCH weston] window: Allow popup menu when the window is maximised

Kristian Høgsberg hoegsberg at gmail.com
Fri Jul 12 20:57:59 PDT 2013


On Sat, Jul 13, 2013 at 03:38:03AM +0000, Eoff, Ullysses A wrote:
> > -----Original Message-----
> > From: wayland-devel-bounces+ullysses.a.eoff=intel.com at lists.freedesktop.org [mailto:wayland-devel-
> > bounces+ullysses.a.eoff=intel.com at lists.freedesktop.org] On Behalf Of Kristian Høgsberg
> > Sent: Friday, July 12, 2013 7:09 PM
> > To: Bradford, Robert
> > Cc: Rob Bradford; wayland-devel at lists.freedesktop.org
> > Subject: Re: [PATCH weston] window: Allow popup menu when the window is maximised
> > 
> > On Thu, Jul 11, 2013 at 10:35:55AM +0100, Rob Bradford wrote:
> > > From: Rob Bradford <rob at linux.intel.com>
> > >
> > > https://bugs.freedesktop.org/show_bug.cgi?id=66793
> > 
> > Looks good to me, applied.
> > 
> > Kristian
> > 
> 
> Kristian, the problem with this patch is that it unintentionally enabled a user to move
> the maximized window by dragging the titlebar.  Either this should not be allowed
> while maximized or the toolkit should respond appropriately by restoring the window
> to its original size and snapping it to the cursor position at the onset of the drag/move
> action (or something else appropriate).
> 
> I realize the toytoolkit isn't meant to be a full-featured component, so maybe I'm just
> being a little overzealous.  IIRC, drag/move while maximized (or is it maximi*s*ed <british>
>  :-) was disabled explicitly a while back for other reasons.

Yes, you're right, we shouldn't regress that behavior.  I moved the
conditionals around to get the desired behavior.

Kristian

> > > ---
> > >  clients/window.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/clients/window.c b/clients/window.c
> > > index cff7102..93a0a2c 100644
> > > --- a/clients/window.c
> > > +++ b/clients/window.c
> > > @@ -2553,7 +2553,7 @@ frame_button_handler(struct widget *widget,
> > >  	struct display *display = window->display;
> > >  	int location;
> > >
> > > -	if (window->type != TYPE_TOPLEVEL)
> > > +	if (!(window->type == TYPE_TOPLEVEL || window->type == TYPE_MAXIMIZED))
> > >  		return;
> > >
> > >  	location = theme_get_location(display->theme, input->sx, input->sy,
> > > --
> > > 1.8.3.1
> > >
> > > _______________________________________________
> > > wayland-devel mailing list
> > > wayland-devel at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list