that is all you have to do really. on the Windows side, make sure the
impersonator is started (it starts by default when you launch it, but
if you click 'Stop', it will stop listening). on the Mac side, when
you see the impersonator show up and enable forwarding to it, make
sure to not set a password. the notifications from the Mac to the PC
have to come over with no password in order to be understood. however,
if you want to, you can enter a password in the impersonator to use a
password between the impersonator and GfW (though, there really is not
much need since it is never leaving your local machine).
> Do I need to subscribe to localhost on the Windows machine? I tried
> that too but no dice.
nope, you dont need to subscribe to anything. if notifications are not
coming over, try sending some notifications that should work. i know
that simple AppleScript notifications and GrowlTunes notifications
work (at least for me), so maybe try those out first to see if
anything comes over at all. if those work, then maybe other types of
notifications are sending some data that the impersonator cant
decipher. if those simple tests dont even work, i am not sure what
else to try yet, but i will keep investigating.
OK, I tried just a GrowlTunes notification but G4W still doesn't pick
up anything. In the Growl prefs on the Windows machine, it doesn't
even have the growl impersonator registered as an app.
I ran wireshark and the Windows machine is definitely receiving the
UDP and TCP packets from my Mac. Here is a PCAP dump if it helps debug
this:
http://dl.dropbox.com/u/118850/growl.pcap
Thanks! :)
if the network traffic is definitely reaching the Windows machine,
then either 1) the impersonator cant understand the TCP data coming
from the Mac, or 2) the message is getting lost between the
impersonator and GfW.
you can follow the instructions in the link below to enable some
logging in GfW. this will help determine if the message is making it
to GfW at all, or if it is failing at the Impersonator. try enabling
the logging and do some more tests, then check the logs to see what
you have got. post back here and we can try to figure it out.
how to enable logging -
http://groups.google.com/group/growl-for-windows/browse_thread/thread/1c17687b801efff0/038d1645921177c3?hl=en&lnk=gst&q=logging#038d1645921177c3
Absolutely nothing gets logged into the Log folder when I send
something from my Mac :(
Thanks
On Jan 4, 6:08 pm, Brian Dunnington <briandunning...@gmail.com> wrote:
> the impersonator wont show up in GfW - it is just a transparent proxy,
> so the actual apps sending the notifications should show up in GfW (in
> your case, GrowlTunes).
>
> if the network traffic is definitely reaching the Windows machine,
> then either 1) the impersonator cant understand the TCP data coming
> from the Mac, or 2) the message is getting lost between the
> impersonator and GfW.
>
> you can follow the instructions in the link below to enable some
> logging in GfW. this will help determine if the message is making it
> to GfW at all, or if it is failing at the Impersonator. try enabling
> the logging and do some more tests, then check the logs to see what
> you have got. post back here and we can try to figure it out.
>
> how to enable logging -http://groups.google.com/group/growl-for-windows/browse_thread/thread...
>
>
that means that the Impersonator is either 1) not even receiving the
notifications, or 2) unable to parse the notifications properly.
since you verified that network traffic is making it to the Win
machine, #1 is unlikely. as long as the Impersonator is open and
running, it should be able to receive the notifications.
the most likely culprit is that the Impersonator cannot parse the
notifications properly. i only have one Mac to test on, but the
Impersonator is able to parse the notifications from GrowlTunes and
AppleScript for me, but maybe something is different on different Macs
or different versions of Growl or different versions of OSX? there is
no logging that is user-configurable in the Impersonator, though i had
planned to add some. I will see if i can add some basic logging and
maybe send you an updated version that might at least shed some more
light on what is going on.
Thanks a bunch. Great to see this being made. This was always a sore
spot for me as I waited patiently for Growl to do GNTP (and who knows
when that will be:)
running the Impersonator on the Windows side and trying to
reverse-engineer the Cocoa DO objects is just too error-prone to be
reliable. i went back to the drawing board and came up with what i
think is a much better solution. the Impersonator app for Windows has
been deprecated and is no longer needed. instead, there is a small
utility that you run on the Mac machine which does the following:
1. uses Bonjour to look for machines advertising the GNTP protocol
(like GfW does)
2. for each GNTP machine it detects, it advertises a separate Bonjour
service on Growl (Mac)'s Bonjour port
3. this causes the machine to show up in Growl (Mac)'s list of
machines to forward to
4. when notifications are forwarded to the selected machines, they are
actually forwarded to the utility app on the same machine (this has
the benefit that the DO objects are natively decoded correctly)
5. at that point, the utility can transform the notification and send
it on to the original GNTP destination
in my limited testing, it works about a hundred times better than the
original Impersonator. it even supports images in notifications**.
this approach also lets you run the small utility on just one Mac
machine instead of having to run the Impersonator on every Windows
machine that you want to forward to. i am just going to clean up the
code a bit and figure out the best way to package it up and deploy it.
this is my first Cocoa app, so all that stuff is new to me.
** - forwarded Growl notifications can either contain raw data for an
image, or an NSImage reference. however, there is a bug in Growl
itself that causes the NSImages to not be forwarded correctly, so only
images sent in raw data format can correctly be forwarded by this
utility (which is the same behavior as the native Mac-to-Mac
forwarding).
keep in mind all of the caveats from my earlier post - this is a rough
draft for sure, but it does work. and i do have some other good news -
the Growl/Mac guys are working hard on getting GNTP support finalized
for their 1.3 release. there is no timeline yet for the release, but i
have been using the development branch to help them work out any
remaining issues and it really is close. hopefully my temporary
solution will not be needed much longer.