On Fri, 31 Oct 2003 22:04:22 +0100 "Gerhard W. Gruber" <[EMAIL PROTECTED]>
babbled:
> On Fri, 31 Oct 2003 10:52:44 +1100, Carsten Haitzler (The Rasterman)
> <[EMAIL PROTECTED]> wrote:
>
> >no. the wm - or any app can go raising windows above yours... you cant clock
> >windows in place to be on top as such. (ok we can argue of some nasty hacks
> >and methods if you are the wm... but thats a world on its own.)
>
> If I raise my window, how can I make sure that it is on top of all?
the raise will raise ontop of everything - BUt something may raise itself above
your window immediately afterwards too...
> >ok. for a normal window yes its possible to get events to know if you got
> >obscured. they are called visibilitynotify events. BUT i am actually not sure
> >if they will be received by inputonly windows. but thats the path you want to
> >go.
>
> Whats input only windows? How can I make sure my window is not an InputOnly
> window but, whatever, else?
inputonly windows are invisible windows. you can map,unmap, move, resize, get
events (mouswe moves, button presses, key events etc.) on them, but they do not
visually do anything on the screen.
> >you could find if a window has been raised/lowered etc. by monitoring
> >creatnotifies on root, then on every windows created monitor
> >structurenotifies then look for configurenotify events and check the stacking
> >sections (above, window, event). again - i dont know how well gdk(gtk)
> >supports this part of x so you may have to dump into xlib.
>
> I don'tneccessarily need to do that. If it is possible to make sure that my
> window is raised on top off all, then I can simply monitor for this
> visibillitynotify, and raise it anyway. If it is not possible to create other
> window then this inputwindow then I can monitor this createnotify. How is this
> working? Does root then send me an event everytime a window is created?
yes. every time a window is created (or destroyed etc. etc.) if you select for
the right event mask (structure & substructurenotify) x will tell u when the
root window and children of it change (created, destoryed, reparent, move,
resize, restack etc.) with events. this is close to what a window manager does
(close, but not quite). i'd definitely suggets the inputonly window. u will
never be ab;e to sensibly pass events on, but in the area of the screen the
inputonly window lives, you can "eat" all the events yourself :)
> >hmm how is it meant to work? mouse goes to left or right side of window,
> >launcher buttons pop up and u click one to run something?
>
> Yes. The nice thing of this tool is, that it always works. You don't need to
> have a window or a bar or anything on the screen which you need to access.
hmm - in which case here is what i'd recommend. you use an inputonly window -
stick in a corner, edge etc. where u want the "activate" area of the screen
(that activates the toolbar), then pop up the toolbar (so its raised on TOP of
your input only window - have this as an exception in general to maintaining the
on-top stacking of your inputonly window) then if the mouse exits that toolbor,
hide it again. monitor stacking as mentioned above with structure &
substructurenotify mask set on root and handle the events. the problemn here is
really gdk/gtk. i dont know how well it will deal with this. if u did it in xlib
u'd be fine, but i am not sure if gdk/gtk will be 100% happy. others might know
if ti will or will not.
> It's really usefull to have around, thats why I decided to port it to linux.
>
> --
> Gerhard Gruber
>
> F_r jedes menschliche Problem gibt es immer eine einfache L_sung:
> Klar, einleuchtend und falsch. (Henry Louis Mencken)
>
> _______________________________________________
> Devel mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/devel
--
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
The Rasterman (Carsten Haitzler) [EMAIL PROTECTED]
熊耳 - 車君 [EMAIL PROTECTED]
Mobile Phone: +61 (0)413 451 899 Home Phone: 02 9698 8615
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel