GrowlNotify Mac

From Mudlet
Revision as of 19:35, 28 July 2011 by Phoenix (talk | contribs)
Jump to navigation Jump to search

This script is made by ThePhoenix to work with the Mac app, Growl. It requires an additional bit that allows growl from terminal, called growlNotify.

Script

<lua>


-- This script works with Growl for Mac -- -- Must have growlnotify installed as well --



function growlNotify(title, message, priority, sticky) --sounds --Change these sounds to what you want, and have. --playSoundFile is buggy on a mac, and will crash you eventually. -- use a beep along with the notification for the appropriate program inside Growl itself.

local  soundAlert = "/System/Library/Sounds/Indigo.aiff"
local  soundNotify = "/System/Library/Sounds/Temple.aiff"

local path, icon -- Do not touch this line

--Path: This is the default path, change it if you have it somewhere else.

       path = "/usr/local/bin/growlnotify"

--Icon: This is an advanced change, try it if you want.

       icon = "-a Mudlet.app"


       assert(type(priority)=="boolean" or type(priority)=="nil",
        "Wrong type for the priority!")
       assert(type(sticky)=="boolean" or type(sticky)=="nil",
        "Wrong type for the priority!")
       sticky = sticky and "-s" or ""
       message = string.gsub(message, ", "'") or ""
       priority = priority or false
       title = title or "Mudlet"
  if not priority and not hasFocus() then
       --playSoundFile(soundNotify) --playSoundFile is buggy on a mac, and will crash you eventually.

--use a beep along with the notification for the appropriate program inside Growl itself.

       os.execute( path .. " ".. sticky .. " " .. icon .. -m "  ..
        message .. " " ..title..")
  end
  if priority then

-- --playSoundFile(soundAlert) --playSoundFile is buggy on a mac, and will crash you eventually. --use a beep along with the notification for the appropriate program inside Growl itself.

       os.execute( path .. " ".. sticky .. " " .. icon .. -p 2 -m "  ..
        message .. " " ..title..")
  end

end </lua>

Example Script from Trigger

Exact match trigger
A soulmaster entity lets loose a horrible scream as a dark stream of primal chaos flows from it and into your very being. <lua> growlNotify("ANTITHEFT!", "A soulmaster has taken possesion of you!", true,true) </lua> It will pop up whether or not your mudlet window has focus - first true makes it priority, and therefor something that will always show.
This will pop up a sticky alert - second true makes it sticky.