You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A simple Ruby wrapper around the terminal-notifier command-line
tool, which allows you to send User Notifications to the Notification Center on
Mac OS X 10.8, or higher.
This version has 4 different icons included for each status that
Guard supports:
Note: The uname check is necessary if you have contributors to
your project who are not on OSX.
You can pass in options if you like, e.g. for the app name (used in the
title) and what app to activate when you click the notification
(defaults to Terminal.app):
You can override the binary path detection with an environment variable. This solves a problem where the default binary found by which is the Ruby gem version of terminal-notifier. This version is slow, especially in a Bundler environment.
In this scenario we would much rather use the version installed by Homebrew at /usr/local/bin/terminal-notifier which is noticeably faster.
This gem allows you to set an environment variable to explicitly specify the binary to use, like this:
When using guard to monitor test results in TDD, speed is of the essence. Using the right binary can save a half second or more during each test run, which doesn't seem like much but makes a big difference in productivity.
OSX 10.8 users
As of version 1.6.1, we no longer bundle notifier binaries in this gem. Please revert to
version 1.5.3 for OSX 10.8 support.
Stand-alone Usage
You could also use the notifier directly.
Examples are:
TerminalNotifier::Guard.notify('Hello World')TerminalNotifier::Guard.notify('Hello World',:title=>'Ruby',:subtitle=>'Programming Language')TerminalNotifier::Guard.notify('Hello World',:activate=>'com.apple.Safari')TerminalNotifier::Guard.notify('Hello World',:open=>'https://twitter.com/alloy')TerminalNotifier::Guard.notify('Hello World',:execute=>'say "OMG"')TerminalNotifier::Guard.notify('Hello World',:group=>Process.pid)TerminalNotifier::Guard.remove(Process.pid)TerminalNotifier::Guard.list(Process.pid)TerminalNotifier::Guard.listTerminalNotifier::Guard.failed('This did not go well.')TerminalNotifier::Guard.success('This did not go bad.')TerminalNotifier::Guard.pending('This needs some work still')
Caveats
It has been
reported
that Terminal Notifier fails when run from Tmux without
reattach-to-user-namespace installed. See this
comment for details.
License
All the works are available under the MIT license.