[compiz] Window specific actions and edge buttons

Mike Dransfield mike at blueroot.co.uk
Fri May 18 07:14:07 PDT 2007


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.

> 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.


>> If close_window is used with edge+edgebutton then it crashes
>> which is obviously a problem elsewhere.  Is it fairly obvious to
>> you where this bug would be?  Otherwise I'll track that down too,
>> I assume it must be just a case of setting the correct allowed
>> actions hint on edges?
>>     
>
> It probably crashes because close_window will try to terminate the
> client that created the window and that happens to be compiz itself.
> close_window action should be updated to only close managed windows.
>
> - David
>
>   



More information about the compiz mailing list