[compiz] Window specific actions and edge buttons
David Reveman
davidr at novell.com
Mon May 21 10:19:30 PDT 2007
On Fri, 2007-05-18 at 15:14 +0100, Mike Dransfield wrote:
> David Reveman wrote:
> > On Wed, 2007-05-16 at 11:51 +0100, Mike Dransfield wrote:
> >
> >> David Reveman wrote:
> >>
> >>> On Tue, 2007-05-15 at 00:29 +0100, Mike Dransfield wrote:
> >>>
> >>>
> >>>> There is a problem with some window specific actions like
> >>>> scale_group and rotate_with_window when they are activated
> >>>> by an edgebutton.
> >>>>
> >>>> The basic problem is that each of those actions use the window
> >>>> option provided to the action. When an edgebutton is used the
> >>>> window id sent is actually the id of the edge window, this means
> >>>> that actions which rely on this stop working.
> >>>>
> >>>> The obvious solution would be to change the affected functions
> >>>> to work on the active window rather that the one passed to the
> >>>> action.
> >>>>
> >>>>
> >>> Yes, I think that's what should be done.
> >>>
> >>>
> >> OK - I did that for those two.
> >>
> >> I am just about to push out similar changes for close_window,
> >> minimize_window and maximize_window. If they reduce some
> >> functionality then please let me know and I will write it so that
> >> it checks for an edge and only uses activeWindow then.
> >>
> >
> > This is likely not what you want when a button press triggered an action
> > and it removes the possibility to remotely trigger those actions for
> > specific windows.
> >
>
> OK - I didn't think of that possibility. I'll change it back to
> the old way.
>
> I would like to keep the ability to do both without breaking
> either method. How about adding edge_window to the list of
> options which are sent? If the action was edge+button then it
> would be set to the id of the edge window. The window option
> could be set to active window in this case.
Yes, that sounds pretty good. Maybe it's better to add a more general
event_window to the list instead.
>
> > For scale_group and such I think you want to only use the active window
> > if the provided window is an edge window or a maybe a window that isn't
> > managed. I don't see any reason why close_window, etc should be changed.
> >
>
> I think it is a useful accessibility feature, there are lots of
> people who find it hard to click precisely on the decorator
> buttons. Pushing to the corner and clicking is easier because
> it does not require such fine motor skills.
OK, I didn't get that this was the reason you wanted to change those
functions. Yes, it seems useful. Adding an event_window argument will
allow those functions to work with screen edges without modifying them.
-David
More information about the compiz
mailing list