[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