Re: new hint for EWMH



ext Lubos Lunak wrote:
> On Friday 03 of August 2007, Tapani Pälli wrote:
>   
>> ext Lubos Lunak wrote:
>>     
>>> On Monday 30 of July 2007, Tapani Pälli wrote:
>>>       
>>>> Hello,
>>>> I would like to suggest a new hint '_NET_INPUT_AREAS' for EWMH to be
>>>> used by window managers and toolkits. This hint would be a list of
>>>> rectangles representing bounding boxes of the input methods on the
>>>> screen. This allows a toolkit to place it's temporary windows (that
>>>> might have input-entries) like popup-menu's so that they won't cover
>>>> input-method areas and user can interact with those windows.
>>>>
>>>> I have suggested to have this patch for Matchbox window manager :
>>>> http://bugzilla.openedhand.com/show_bug.cgi?id=333
>>>>         
>>>  I'm not sure I understand the purpose of the hint correctly - why not
>>> simply add a new window type for these windows? Could you post a
>>> description for the hint as it should be included in the spec?
>>>       
>> New Window type is fine for WM but a list of rectangles is much better
>> toolkit-wise. Without this hint toolkit would need to go through whole
>> window tree and pick input-method windows and then make collision
>> detection logic. This is much heavier that having coordinates from the
>> start.
>>     
>
>  I see, I guess that makes sense. However that's only some kind of 
> optimization, I think a window type is still needed to find out which windows 
> create the regions. That's from somebody who has no clue about input methods 
> though - from your suggested description I wouldn't have any idea how to 
> actually implement the support.
>   

Yep this is 'minor' optimization and makes toolkit code more clean, it's
a bit 'ugly' to have these 'go through all windows' loops there. WM
naturally knows the IM windows (hint needed for this aswell ... Maemo
uses '_NET_WM_WINDOW_TYPE_INPUT' for this) and updates hint whenever
such windows is (un)mapped, so implementation is quite trivial.

// Tapani




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]