DesktopTools Code
Status: Alpha
Brought to you by:
lightweave
2003-11-09: The linux version is now working. After doing research on how to solve the problem of getting mouse events independantly from my dialog window I had to settle for the third-best solution. There are severe limitations in the X system, so I couldn't grab the mouse events with XPointerGrab() because then I would get all events, but I can't pass it on the proper window if the mouse is not at the specified border, which makes the desktop unusable. Next I tried to create a one pixel window on the border and raise it as soon as it would be obscured by another window. This also doesn't work because I didn't manage to get an event when my window is obscured. So I settled for the ugliest solution. A one pixel window is created and aligned on the border. A timer raises twice a second the window to the top. This is quite ugly, but if you know a better solution I gladly implement it. Apart from that I only changed the mouse message from BUTTON_UP to BUTTON_DOWN. This doesn't really change the way how LaunchMenu works on Windows, but on Linux, the menu behaves as expected. When the button is pressed, the menu is shown and when it is released the menu goes away. I don't know how to solve this on the Windows version as PopupMenu() has no way to destroy a menu once it is created. 2003-10-14: The hookfunction is completely rewritten, as I figured now out how to do it properly. :) This means that the basic functionality is now working for MS Windows and Launchmenu is now actually usable on MS Windows. Also there is now no longer the need for a callbackfunction when an event is received via the hookfunction. 2003-10-01: Since this is the first release, there are no changes. :)