Re: Still need a hint for undecorated windows



Carsten Haitzler (The Rasterman) wrote:
> btw - whats up with qt's icccm take_focus handling? if you send a 
> take_focus client message (as per icccm) WITHOUT first setting the 
> focus on the window - qt doesnt honor the request and take the focus
>  (even though it advertises that it does take focus protocol). the 
> icccm doesnt say the window must have been focused first :) have i 
> monumentally misunderstood the icccm or is there some deeper meaning
>  behind doing this?

Qt uses the Locally Active Input model described in section 4.1.7: "The
client expects keyboard input and explicitly sets the focus, but it only
does so when one of its windows already has the focus."

This is indicated by setting the accepts_input field in WM_HINTS and
WM_TAKE_FOCUS in WM_PROTOCOLS.

I wouldn't call this a bug, but then again, it's all a matter of
interpretation, right? :)

> ie this works: 
>     ecore_x_window_focus(bd->client.win); 
>     ecore_x_icccm_take_focus_send(bd->client.win, ecore_x_current_time_get());
> 
> this does not:
>     ecore_x_icccm_take_focus_send(bd->client.win, ecore_x_current_time_get());
> 
> gtk advertises take focus proto and it does work with this. is it 
> possible you guys have a bug? :)

Sounds like they are using the Globally Active Input model, where the
accepts_focus field is not set. This allows the client to decide if it
wants to accept the focus or not.

-- 
Bradley T. Hughes - bhughes at trolltech.com
Trolltech AS - Waldemar Thranes gt. 98 N-0175 Oslo, Norway



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