Skip to content

Instantly share code, notes, and snippets.

@jredville
Created January 6, 2012 05:53
Show Gist options
  • Save jredville/1569231 to your computer and use it in GitHub Desktop.
Save jredville/1569231 to your computer and use it in GitHub Desktop.
ErcGrowl
(defvar growlnotify-command (executable-find "growlnotify") "The path to growlnotify")
(defun growl (title message)
"Shows a message through the growl notification system using
`growlnotify-command` as the program."
(flet ((encfn (s) (encode-coding-string s (keyboard-coding-system))) )
(let* ((process (start-process "growlnotify" nil
growlnotify-command
(encfn title)
"-a" "Emacs"
"-n" "Emacs")))
(process-send-string process (encfn message))
(process-send-string process "\n")
(process-send-eof process)))
t)
(defun my-erc-hook (match-type nick message)
"Shows a growl notification, when user's nick was mentioned. If the buffer is currently not visible, makes it sticky."
(unless (posix-string-match "^\\** *Users on #" message)
(growl
(concat "ERC: name mentioned on: " (buffer-name (current-buffer)))
message
)))
(add-hook 'erc-text-matched-hook 'my-erc-hook)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment