Sha256: 85ba0a52020f08ada51cfeac66af6323ce6893238e6b21add4a4445203ccc913

Contents?: true

Size: 867 Bytes

Versions: 4

Compression:

Stored size: 867 Bytes

Contents

#
# Simple notification example.
#
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
require 'gir_ffi'

GirFFI.setup :Gtk
GirFFI.setup :Notify

# Both Gtk and Notify need to be init'ed.
Gtk.init
Notify.init "notification test"

# Basic set up of the notification.
nf = Notify::Notification.new "Hello!", "Hi there.", "gtk-dialog-info"
nf.set_timeout 3000
nf.set_urgency :critical

# Show a button 'Test' in the notification, with a callback function.
nf.add_action "test", "Test", Proc.new { |obj, action, user_data|
  puts "Action #{action} clicked."
}, nil, nil

# In this case, we want the program to end once the notification is gone,
# but not before.
GObject.signal_connect(nf, "closed") {
  puts "Notification closed."
  Gtk.main_quit
}

# Show the notification.
nf.show

# Start a main loop to wait for the notification to be closed.
Gtk.main

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gir_ffi-0.0.14 examples/05_notification.rb
gir_ffi-0.0.13 examples/05_notification.rb
gir_ffi-0.0.12 examples/05_notification.rb
gir_ffi-0.0.11 examples/05_notification.rb