Skip to content

Repository files navigation

Libnotify

Build StatusGem VersionCode ClimateInline docs

Ruby bindings for libnotify using FFI.

Gem | Source | RDoc

libnotifylibnotify

Usage

Hash Syntax

require'libnotify'Libnotify.show(:body=>"hello",:summary=>"world",:timeout=>2.5)

Block Syntax

require'libnotify'n=Libnotify.newdo |notify|
notify.summary="hello"notify.body="world"notify.timeout=1.5# 1.5 (s), 1000 (ms), "2", nil, falsenotify.urgency=:critical# :low, :normal, :criticalnotify.append=false# default true - append onto existing notificationnotify.transient=true# default false - keep the notifications around after displaynotify.icon_path="/usr/share/icons/gnome/scalable/emblems/emblem-default.svg"endn.show!

Mixed Syntax

require'libnotify'# Mixed syntaxoptions={:body=>"world",:timeout=>20}Libnotify.show(options)do |opts|
opts.timeout=1.5# overrides :timeout in optionsend

Managing Icon Paths

require'libnotify'# Icon path auto-detectionLibnotify.icon_dirs << "/usr/share/icons/gnome/*/"Libnotify.show(:icon_path=>"emblem-default.png")Libnotify.show(:icon_path=>:"emblem-default")

Updating existing notification and closing it

# Update pre-existing notification then close itn=Libnotify.new(:summary=>"hello",:body=>"world")n.update# identical to show! if not shown beforeKernel.sleep1n.update(:body=>"my love")do |notify|
notify.summary="goodbye"endKernel.sleep1n.close

Installation

gem install libnotify

You'll need libnotify. On Debian just type:

apt-get install libnotify1

Testing

git clone git://github.com/splattael/libnotify.git
cd libnotify
(gem install bundler)
bundle install
rake

Code coverage

COVERAGE=1 rake

Caveats

Ubuntu

timeout and append options might not work on Ubuntu. See GH #21 for details. #21 (comment)

Authors

License

MIT License

TODO

About

Ruby bindings for libnotify using FFI.

Topics

Resources

Stars

136 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages