Alexandre Julliard : x11drv: Moved desktop mode handling to the explorer process.

Robert Shearman rob at codeweavers.com
Wed Mar 29 08:26:29 CST 2006


Willie Sippel wrote:

>However, I ranted enough I think. Back to the real problem. AFAIU, there's 
>only a single common/ feasible/ intelligent way to create borderless windows 
>on X11 - managed windows with 'no decoration' Motif hints (the way GTK 
>handles borderless windows). The example I found looks easy enough, only a 
>few lines of code, but I was once again reminded that Wine really is way over 
>my head - I have no idea how to hack that in to at least test it... :-(
>

The code is already in dlls/x11drv/window.c and it works well. The 
trouble is that managed mode windows steal input focus when they are 
created. To give you an example, you click on a text box in IE to put 
your email address into a form and you're half-way through typing it in 
when a tooltip appears. This steals input focus away from the text box 
and you carry on typing without noticing until you look back at the 
screen and notice only half of your email address is present. The same 
problems occur for menus and "toast" notifications.

Let's examine the properties of unmanaged windows (there may be others 
that I'm unaware of): They:
1. Have no window decorations
2. Are always on top
3. Appear on all virtual desktops.

Properties (1) and (2) have equal properties in the Win32 world. 
However, currently only (1) is implemented. AFAIK, the reason (2) isn't 
implemented is because it isn't set at window creation time, only after 
window creation (and we cannot switch from managed to unmanaged after 
creation).

Therefore, the solution is to allow managed windows to be converted to 
unmanaged windows after creation and then we can implement (2) and have 
an almost exact match of the desired properties of the window with the 
actual properties that the window manager gives us. Then we can remove 
the other hacks based on the window style that make Steam end up with an 
unmanaged window.

-- 
Rob Shearman




More information about the wine-devel mailing list