Re: Drag and drop



On Friday 13 of June 2003 09:42, Rob Adams wrote:
> I have previously posted on this list about creating a WM protocol to
> allow the WM to not raise window when a drag is initiating.  This would
> allow the WM to have the following behavior:
> On ButtonPress, raise the window if it is not the start of a drag
> operation.
> If it is the start of a drag operation, raise on ButtonRelease instead
[snip]
> When a Client window receives a ButtonPress event, the Client MAY send
> a _NET_WM_MAY_ACTIVATE message to the root window.  The timestamp
> value MUST be the timestamp for the ButtonPress event.  The Client
> SHOULD send this message only if possibly raising the Client window
> above other windows on the screen would result in undesirable effects,
> such as if the ButtonPress could be the start of a drag and drop.
> When a Window Manager sees this ClientMessage, the Window Manager MAY
> raise and/or focus the Client window.
> 		</para>
> 	</sect2>

 If nothing else, I find the description quite confusing. A message called 
MAY_ACTIVE with the meaning "don't raise" ?

 But what interests me more: Do you actually have a working implementation of 
this? Maybe other WMs do it differently, but I doubt this would work with 
KWin. KWin has a button grab on the client windows, so a ButtonPress event 
results in KWin getting it first, raising the window (if KWin is configured 
so), and then the event is replayed, and it reaches the application. At this 
point, it's too late for the application to ask not to be raised.

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l lunak suse cz , l lunak kde org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/




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