On Mar 17, 2013, at 9:40 PM, Ken Thomases ken@codeweavers.com wrote:
Doesn't support right-clicks, mouse moves, or notification balloons.
Notification balloons can probably be done using either Notification Center or Growl, but either due to an out-of-date version of Growl in Twitter or a bug in Growl itself, clicking on the Growl notification doesn't bring Twitter to the front for me.
dlls/winemac.drv/Makefile.in | 2 + dlls/winemac.drv/cocoa_status_item.m | 175 +++++++++++++++++ dlls/winemac.drv/event.c | 5 + dlls/winemac.drv/image.c | 2 +- dlls/winemac.drv/macdrv.h | 3 + dlls/winemac.drv/macdrv_cocoa.h | 13 ++ dlls/winemac.drv/systray.c | 358 ++++++++++++++++++++++++++++++++++ dlls/winemac.drv/winemac.drv.spec | 3 + 8 files changed, 560 insertions(+), 1 deletions(-) create mode 100644 dlls/winemac.drv/cocoa_status_item.m create mode 100644 dlls/winemac.drv/systray.c
<0004-winemac-Implement-rudimentary-support-for-system-tra.patch>
On Mar 18, 2013, at 3:03 PM, C.W. Betts wrote:
On Mar 17, 2013, at 9:40 PM, Ken Thomases ken@codeweavers.com wrote:
Doesn't support right-clicks, mouse moves, or notification balloons.
Notification balloons can probably be done using either Notification Center or Growl
Yeah, I was thinking that the notification center is the right way to go. Of course, we need to code support for it in a way that still builds and runs on 10.6.
I'm not sure if we want to use Growl given that it's not part of the OS, but I guess I don't feel very strongly one way or another.
-Ken
On Mar 18, 2013, at 3:15 PM, Ken Thomases wrote:
On Mar 18, 2013, at 3:03 PM, C.W. Betts wrote:
On Mar 17, 2013, at 9:40 PM, Ken Thomases ken@codeweavers.com wrote:
Doesn't support right-clicks, mouse moves, or notification balloons.
Notification balloons can probably be done using either Notification Center or Growl
Yeah, I was thinking that the notification center is the right way to go.
Josh reminds me that only code-signed apps can use the Notification Center, so that may not be very useful. *sigh*
-Ken
On Mar 18, 2013, at 2:23 PM, Ken Thomases ken@codeweavers.com wrote:
On Mar 18, 2013, at 3:15 PM, Ken Thomases wrote:
On Mar 18, 2013, at 3:03 PM, C.W. Betts wrote:
On Mar 17, 2013, at 9:40 PM, Ken Thomases ken@codeweavers.com wrote:
Doesn't support right-clicks, mouse moves, or notification balloons.
Notification balloons can probably be done using either Notification Center or Growl
Yeah, I was thinking that the notification center is the right way to go.
Josh reminds me that only code-signed apps can use the Notification Center, so that may not be very useful. *sigh*
I can see that not being an issue on CrossOver, but yes, I doubt that the average person compiling Wine on their Macs has a proper certificate to sign it.
As for implementing Growl, a configure check can be done, and a warning shown if a) they are compiling the Mac driver and b) they do not have the Growl development framework installed. This would, however, probably require some work to maintain the Growl framework's presence so that, in example, Wine compiled by MacPorts can be moved to another computer that does not have the Growl framework installed in either /Library/Frameworks or ~/Library/Frameworks.
I have done some work with the OS X linker in my project PlayerPRO to get a command-line app to access the framework that is in the same directory of the program, but other than that my linker skills aren't that great.
On Mar 18, 2013, at 2:23 PM, Ken Thomases wrote:
On Mar 18, 2013, at 2:15 PM, Ken Thomases wrote:
On Mar 18, 2013, at 3:03 PM, C.W. Betts wrote:
On Mar 17, 2013, at 9:40 PM, Ken Thomases ken@codeweavers.com wrote:
Doesn't support right-clicks, mouse moves, or notification balloons.
Notification balloons can probably be done using either Notification Center or Growl
Yeah, I was thinking that the notification center is the right way to go.
Josh reminds me that only code-signed apps can use the Notification Center, so that may not be very useful. *sigh*
So what? It's actually possible to self-sign executables. (If you don't have a real code-signing certificate, you have to do this to build and use GDB or LLDB from source on Mac OS.) You probably won't be able to distribute the resulting executable, though.
LLDB has a nice document describing how you'd go about creating a self-signed certificate. You can find it here:
http://llvm.org/viewvc/llvm-project/lldb/trunk/docs/code-signing.txt
Though I wonder if it's a good idea to ask users to create a self-signed certificate just so Wine can use the Notification Center...
I'm not sure if we want to use Growl given that it's not part of the OS, but I guess I don't feel very strongly one way or another.
Most apps that want Growl come with their own Growl framework. Obviously, we can't do that for vanilla Wine. What we really need for this is some way to dynamically load and use frameworks (according to the standard rules for finding frameworks). That way, we can check for Growl at runtime and use it if it's present. I have a small library that wraps the CFBundle API in a dlopen(3)-style API. (As a matter of fact, I wrote it specifically to see if we could do something like that for Wine. As I recall, it was around the time we got OpenAL support.)
Or, we could just check for it in configure (like C.W. said), if that's easier. I guess it really depends on AJ, and we won't be hearing from him for a while.
At this point, though, I'm wondering if it wouldn't just be easier to have Explorer draw the balloons itself à la Windows XP.
Chip
On Mar 18, 2013, at 4:04 PM, Charles Davis wrote:
On Mar 18, 2013, at 2:23 PM, Ken Thomases wrote:
On Mar 18, 2013, at 2:15 PM, Ken Thomases wrote:
On Mar 18, 2013, at 3:03 PM, C.W. Betts wrote:
On Mar 17, 2013, at 9:40 PM, Ken Thomases ken@codeweavers.com wrote:
Doesn't support right-clicks, mouse moves, or notification balloons.
Notification balloons can probably be done using either Notification Center or Growl
Yeah, I was thinking that the notification center is the right way to go.
Josh reminds me that only code-signed apps can use the Notification Center, so that may not be very useful. *sigh*
So what? [...]
Though I wonder if it's a good idea to ask users to create a self-signed certificate just so Wine can use the Notification Center...
You answered your own question. ;)
At this point, though, I'm wondering if it wouldn't just be easier to have Explorer draw the balloons itself à la Windows XP.
Probably. I also considered using an NSPopover anchored to the status item. Again, that's 10.7+ functionality.
-Ken
On Mar 18, 2013, at 3:22 PM, Ken Thomases ken@codeweavers.com wrote:
On Mar 18, 2013, at 4:04 PM, Charles Davis wrote:
On Mar 18, 2013, at 2:23 PM, Ken Thomases wrote:
On Mar 18, 2013, at 2:15 PM, Ken Thomases wrote:
On Mar 18, 2013, at 3:03 PM, C.W. Betts wrote:
On Mar 17, 2013, at 9:40 PM, Ken Thomases ken@codeweavers.com wrote:
Doesn't support right-clicks, mouse moves, or notification balloons.
Notification balloons can probably be done using either Notification Center or Growl
Yeah, I was thinking that the notification center is the right way to go.
Josh reminds me that only code-signed apps can use the Notification Center, so that may not be very useful. *sigh*
So what? [...]
Though I wonder if it's a good idea to ask users to create a self-signed certificate just so Wine can use the Notification Center...
You answered your own question. ;)
At this point, though, I'm wondering if it wouldn't just be easier to have Explorer draw the balloons itself à la Windows XP.
Probably. I also considered using an NSPopover anchored to the status item. Again, that's 10.7+ functionality.
We could implement it and do compile- and runtime checks to make sure that the functions aren't called in unsupported OS X versions. However, this would probably add fragmentation, and I doubt Alexandre would be happy with this.
On Mar 21, 2013, at 3:41 PM, C.W. Betts wrote:
On Mar 18, 2013, at 3:22 PM, Ken Thomases ken@codeweavers.com wrote:
On Mar 18, 2013, at 4:04 PM, Charles Davis wrote:
At this point, though, I'm wondering if it wouldn't just be easier to have Explorer draw the balloons itself à la Windows XP.
Probably. I also considered using an NSPopover anchored to the status item. Again, that's 10.7+ functionality.
We could implement it and do compile- and runtime checks to make sure that the functions aren't called in unsupported OS X versions. However, this would probably add fragmentation, and I doubt Alexandre would be happy with this.
I think he'd be OK with some variant of this. He might not want two implementations, one using NSPopover on 10.7+ and another for 10.6. I don't know how he'd feel about notification balloons only being implemented on 10.7+.
Although I'm not sure how important notification balloons are in the grand scheme of things, anyway. I guess users will let us know if they miss them (unless somebody is inspired to take on that particular corner of unimplemented functionality beforehand).
Cheers, Ken
On 3/22/2013 10:08, Ken Thomases wrote:
On Mar 21, 2013, at 3:41 PM, C.W. Betts wrote:
On Mar 18, 2013, at 3:22 PM, Ken Thomases ken@codeweavers.com wrote:
On Mar 18, 2013, at 4:04 PM, Charles Davis wrote:
At this point, though, I'm wondering if it wouldn't just be easier to have Explorer draw the balloons itself à la Windows XP.
Probably. I also considered using an NSPopover anchored to the status item. Again, that's 10.7+ functionality.
We could implement it and do compile- and runtime checks to make sure that the functions aren't called in unsupported OS X versions. However, this would probably add fragmentation, and I doubt Alexandre would be happy with this.
I think he'd be OK with some variant of this. He might not want two implementations, one using NSPopover on 10.7+ and another for 10.6. I don't know how he'd feel about notification balloons only being implemented on 10.7+.
Although I'm not sure how important notification balloons are in the grand scheme of things, anyway. I guess users will let us know if they miss them (unless somebody is inspired to take on that particular corner of unimplemented functionality beforehand).
I might be wrong but I think it was some .net installer that wanted user to click on this balloon popup to complete, on the end of installation process it was just waiting for such user input.
Cheers, Ken