Window's background transparency behavior problem
Hi.
I've built a patch which has the following functionality:
- Window without titlebar, menu, scroll, etc. Just a "square without any standard user interface element;
- The background color of the patcher window is 100% transparent (opacity 0);
- The window always stays on top through the "topmost 1" message, even when interacting with other applications (Max in background).
This is all working well.
Problem:
In Windows, if I click inside the patcher window in a blank section (no Max elements), I can interact with the windows/applications beneath it (e.g, browser). Great!
In Mac OS X, when I do the same, the mouse clicks don't "pass through" to the other applications behind the window.
I post the patch as an attachment and would appreciate if you guys can confirm this problem.
By the way, the tested systems were:
Max 6.1.3 (32 bit) on Mac OS X 10.6.8 and Windows 7 Pro
I was really counting on this functionality for my application and initially built it in my windows computer. When I tried it on my MacBook Pro I came across this eventual problem.
Can anybody confirm this behavior? Btw, to close the patch just click on "wclose".
Thanks in advance!
OK, I'll assume it's a bug and fill a bug report form then. I'll post back the response for a future search on the subject.
I know I'm talking to myself here, but for future reference, I reported the problem and the response was that the difference between Mac OS X and Windows behaviors when clicking on a 100% transparent portion of a window was due to the operating system implementations, and it really seemed to me that no "workaround" was planned in the immediate future. Obviously, it is possible on the Mac (http://www.cocoawithlove.com/2008/12/drawing-custom-window-on-mac-os-x.html) but it's not a priority or maybe even a concern.
So, right now, if you click on a transparent portion of a window,
in Mac OS X (tested with 10.6.8), Max "captures" the click and doesn't let you interact with the applications beneath it;
in Windows (tested with 7 Pro 64) Max doesn't capture the click and lets you interact with the applications beneath it (great).
I would wish for more features consistency between OSes when trying to build applications though... this would be very useful for an application I'm doing. Anyway, non-rectangular windows are out of the question...
Some years later... Did you find some solution to the problem in Mac OS X? I'd need also to let my click going through a Max transparent window (so the click actually goes to the app below it, but Max is able to detect the click thanks to mousestate).
Or as another possible solution to this problem, does anyone know how to detect in max if a click has been done in other app? (in Mac OSX)
EDIT: for the records, I found it and it is very easy, using [hi]. The mouse left down click sends the message "4 1" and when the button is up it sends "4 0".
I also really need this feature for my application, are there any solutions to the problem?