-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I just noticed a strange/wrong behavour in awful.menu and investigated a
bit.

Repro:
- - Fire up awful.menu (you need a real one not the client menu, because
this is created and destroyed everytime) and
- - move your mouse about a certain entry in the menu.
Note: Since my .bg_image is not applied yet, every entry has probably an
icon, a textbox and probably an arrow. So point over one of these
widgets and keep it in mind.
- - Now destroy the menu: There are two ways of doing this: Rightclick or
click on it if it is no submenu.
- - Open the menu again and point over the widget you were over in the
moment the menu gets killed. You should now notice the menu entry wont
get the normal highlight background color. If you move the pointer
around and back to the element the hover_color will be there however.

Background:
awesome calls the internal mouse-over-hook when you hover over the
element. the internal function will call the lua hook and the entry gets
a nice background. The internal pointer will be set to the widget you
pointed over.
If you leave the entry/widget the internal mouse-leave-hook will be
called (this will invoke the external lua function) and the internal
pointer will be set to the new widget your pointer is over (or probably
NULL if there is no widget).

Problem:
If we point over an entry and call the mouse-over-function the internal
pointer will be set to the current widget. but if we close the menu, the
widget hides but we do not leave it actually, so the leave hook wont be
called. if we hover the element again the function checks if the
internal pointer is set. since it is still set, the external lua
function wont be called (no shiny cool background for the entry).
unfortunately the mouse-leave hook will be called if we leave the object
again and "cleans up" the problem. If we point over the element it will
behave normally again.

Now there are different approaches to fix this issue.

a) add the ability to unset the mouse-over pointer from lua
b) patch the C side to check for mouse-over/leave events if
menus/widgets hide
c) everything you could imagine

Since this is more a concept issue, I have no patch for you :P

Regards,
Leon Winter

p.s. Gregor could repro, so this issue is real
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAklKZqEACgkQ3qn9m9SfDYfoGgCfcgYm2cDyxEfXWh5gnJ7k1EnV
sSYAoJP2/gPG8iyj8VdlghpW1g3h5WjI
=jK2p
-----END PGP SIGNATURE-----

-- 
To unsubscribe, send mail to [email protected].

Reply via email to