Replacing Growl on macOS Sierra

Panorama 6 still uses Growl for notifications, and Growl is not compatible with macOS Sierra. It turns out, however, that it is pretty easy to modify the Panorama 6 libraries to use Apple’s notification center instead of Growl. There are two procedures that need to be modified, both are in _DialogAlertLib. To open these procedures for editing use the Wizards>Developer Tools>Custom Statements wizard.

The first modification is to the GrowlRunning procedure. Simply replace ALL of the code in this procedure with this one line.

functionvalue true()

The second modification is to the GROWL procedure. At the end of this procedure is about a dozen lines of code that start with executeapplescript. Replace all this code with these three lines.

executeapplescript '
    display notification "'+NotificationDescription+'" with title "'+ NotificationTitle +'"
'

Once these changes are made any code you have that does Growl notifications will work properly, but using Apple’s notification system instead of using Growl.

And for those of us that were stubborn and just moved Growl from the Incompatible Software back to where it was before, Growl continues to work as always with nary a difference. I’ve done this on several computers with no obvious ill effects.

But now that we have a workaround, perhaps I start paying attention to the rules. :wink:

How far back to what OS will Apple’s notification work? Hmmm. Some of my stuff is running on older computers. I’m not seeing an obvious way to determine the version of macOS.

Huh, I didn’t even think to try that.

I think Apple’s notification goes back to 10.8. I’m not sure if this AppleScript method of generating a script will work that far back, though.

For older computers, just don’t make the patch.

message shellscript({sw_vers -productVersion})
info(“osversion”)

gives you the system version as well as the build number.

Even though the Panorama X Help file states that this function is carried over from Panorama 6, it is not in the Pan 6 Reference file and generates an error “Illegal INFO() argument” if executed in Pan 6.

Thanks Gary

That only works in Pano X

I have all of my clients still working in Classic.

KJM
info(“osversion”)

gives you the system version as well as the build number

After having had to do a restore from my Time Capsule due to a new motherboard, I am again finding my Growl not working. Rather than debug getting it working again, I am determined to follow the chief’s suggestion to use Apple’s Notification.

In my Custom Statements, for _DialogAlertLib, I am only seeing ‘Growl’ and ‘GrowlMessage’. The instructions above state to update the ‘GrowlRunning’ procedure. Is that equivalent to the ‘Growl’ procedure?

No, the instructions are accurate. Hold down the control key when you click on the _DialogAlertLib choice, then you’ll see the GrowlRunning procedure. (Normally the Custom Statements wizard only shows procedures with all upper case names, holding down the control key or right clicking shows all procedures.)