Am Mittwoch, 29. März 2006 16:26 schrieb Robert Shearman:
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.
OK, maybe I got something completely wrong. I'll give you an example to show the problem I mean:
Traktor DJ Player, by Native Instruments
On Windows: The main application window has no borders, appears in the taskbar, can be minimized and moved like any regular window.
On Wine (Kwin handles Wine windows): The main application has a KDE window decoration that hides the top part of the interface. Everything else works as espected, but there should be no Kwin decoration, especially as it hides parts of the interface, making the application unusable.
On Wine (Wine handles windows): The application window looks as expected, no borders, can be moved around and stuff. But it's always on top, always on all desktops and does not appear in the taskbar. Which is completely wrong. Also, if minimized, you'll get a stupid icon somewhere on the desktop, on all desktops, always on top, hiding the K-Menu...
The perfect solution would be to let Kwin (or whatever window manager) handle the borderless windows, but don't draw any window decorations if the applications doesn't want to. That's what I expected to achieve with Motif hints (but I'm obviously too stupid, all I get are nice crashes)...