ruby-libnotify 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. data/AUTHORS.rdoc +4 -0
  2. data/CHANGELOG.rdoc +55 -0
  3. data/COPYING +504 -0
  4. data/README.rdoc +46 -0
  5. data/doc/classes/Notify.html +343 -0
  6. data/doc/classes/Notify.src/M000001.html +39 -0
  7. data/doc/classes/Notify.src/M000002.html +24 -0
  8. data/doc/classes/Notify.src/M000003.html +25 -0
  9. data/doc/classes/Notify.src/M000004.html +24 -0
  10. data/doc/classes/Notify.src/M000005.html +37 -0
  11. data/doc/classes/Notify.src/M000006.html +55 -0
  12. data/doc/classes/Notify/Notification.html +787 -0
  13. data/doc/classes/Notify/Notification.src/M000007.html +65 -0
  14. data/doc/classes/Notify/Notification.src/M000008.html +49 -0
  15. data/doc/classes/Notify/Notification.src/M000009.html +43 -0
  16. data/doc/classes/Notify/Notification.src/M000010.html +35 -0
  17. data/doc/classes/Notify/Notification.src/M000011.html +33 -0
  18. data/doc/classes/Notify/Notification.src/M000012.html +36 -0
  19. data/doc/classes/Notify/Notification.src/M000013.html +48 -0
  20. data/doc/classes/Notify/Notification.src/M000014.html +36 -0
  21. data/doc/classes/Notify/Notification.src/M000015.html +38 -0
  22. data/doc/classes/Notify/Notification.src/M000016.html +38 -0
  23. data/doc/classes/Notify/Notification.src/M000017.html +39 -0
  24. data/doc/classes/Notify/Notification.src/M000018.html +38 -0
  25. data/doc/classes/Notify/Notification.src/M000019.html +45 -0
  26. data/doc/classes/Notify/Notification.src/M000020.html +67 -0
  27. data/doc/classes/Notify/Notification.src/M000021.html +33 -0
  28. data/doc/classes/Notify/Notification.src/M000022.html +33 -0
  29. data/doc/classes/Notify/Notification.src/M000023.html +36 -0
  30. data/doc/classes/Notify/Notification.src/M000024.html +34 -0
  31. data/doc/created.rid +1 -0
  32. data/doc/files/lib/RNotify_rb.html +102 -0
  33. data/doc/files/rnotify_c.html +90 -0
  34. data/doc/fr_class_index.html +27 -0
  35. data/doc/fr_file_index.html +27 -0
  36. data/doc/fr_method_index.html +71 -0
  37. data/doc/index.html +21 -0
  38. data/doc/rdoc-style.css +299 -0
  39. data/examples/action.rb +39 -0
  40. data/examples/attach_to.rb +43 -0
  41. data/examples/attach_to_status_icon.rb +47 -0
  42. data/examples/base.rb +29 -0
  43. data/examples/geometry-hints.rb +37 -0
  44. data/examples/icon.png +0 -0
  45. data/examples/info.rb +27 -0
  46. data/examples/markup.rb +29 -0
  47. data/examples/multi-actions.rb +44 -0
  48. data/examples/update.rb +36 -0
  49. data/examples/urgency.rb +47 -0
  50. data/examples/xy.rb +32 -0
  51. data/ext/extconf.rb +67 -0
  52. data/ext/rnotify.c +814 -0
  53. data/lib/RNotify.rb +15 -0
  54. data/setup.rb +1333 -0
  55. metadata +120 -0
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ action.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify action example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Gtk.init
22
+ Notify.init("Test3")
23
+
24
+ test = Notify::Notification.new("Test 3", "action test", nil, nil)
25
+ test.timeout= Notify::Notification::EXPIRES_NEVER
26
+ test.signal_connect("closed") { Gtk.main_quit }
27
+
28
+ test.add_action("Click Me action", "Click Me!", "bye!!") do |action, data|
29
+ puts "#{action} - #{data}"
30
+ Gtk.main_quit
31
+ end
32
+
33
+ test.show
34
+
35
+ Gtk.main
36
+
37
+ test.clear_actions
38
+ test.close
39
+ Notify.uninit
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ attach_to.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify attach_to example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Gtk.init
22
+ Notify.init("Test9")
23
+
24
+ win = Gtk::Window.new(Gtk::Window::TOPLEVEL)
25
+ win.signal_connect("destroy") { Gtk.main_quit }
26
+
27
+ bt = Gtk::Button.new("Click Me!")
28
+
29
+ win.add(bt)
30
+ win.show_all
31
+
32
+ test = Notify::Notification.new("Attach_To", "Do you savvy? :P", nil, nil)
33
+ test.attach_to(bt)
34
+ test.timeout= Notify::Notification::EXPIRES_NEVER
35
+ test.add_action("Attach_To", "Click Me!") { Gtk.main_quit }
36
+
37
+ bt.signal_connect("clicked", test) { |wid,data| data.show }
38
+
39
+ Gtk.main
40
+
41
+ test.clear_actions
42
+ test.close
43
+ Notify.uninit
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ attach_to_status_icon.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify attach_to_status_icon example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Gtk.init
22
+ Notify.init("Test11")
23
+
24
+ win = Gtk::Window.new(Gtk::Window::TOPLEVEL)
25
+ win.signal_connect("destroy") { Gtk.main_quit }
26
+
27
+ bt = Gtk::Button.new("Click Me!")
28
+
29
+ win.add(bt)
30
+ win.show_all
31
+
32
+ icon = Gdk::Pixbuf.new(File.dirname(__FILE__) + "/icon.png")
33
+ st = Gtk::StatusIcon.new
34
+ st.pixbuf=icon
35
+
36
+ test = Notify::Notification.new("Attach_To", "Do you savvy? :P", nil, st)
37
+ test.timeout= Notify::Notification::EXPIRES_NEVER
38
+ test.pixbuf_icon=icon
39
+ test.add_action("Attach_To", "Click Me!") { Gtk.main_quit }
40
+
41
+ bt.signal_connect("clicked", test) { |wid,data| data.show }
42
+
43
+ Gtk.main
44
+
45
+ test.clear_actions
46
+ test.close
47
+ Notify.uninit
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ base.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify basic example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Notify.init("Test1")
22
+ test = Notify::Notification.new("Test 1", "This is a test", nil, nil)
23
+ test.timeout= 5000 # 5 seconds
24
+ test.show
25
+
26
+ sleep(5)
27
+
28
+ test.close
29
+ Notify.uninit
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ geometry-hints.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify geometry-hints example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Gtk.init
22
+ Notify.init("Test10")
23
+
24
+ screen = Gdk::Screen.default
25
+
26
+ test = Notify::Notification.new("Test10", "This notification point to 150,100", nil, nil)
27
+ test.geometry_hints(screen, 150, 100)
28
+ test.timeout= Notify::Notification::EXPIRES_NEVER
29
+ test.add_action("Action", "Click Me!") { Gtk.main_quit }
30
+ test.signal_connect("closed") { Gtk.main_quit }
31
+ test.show
32
+
33
+ Gtk.main
34
+
35
+ test.clear_actions
36
+ test.close
37
+ Notify.uninit
Binary file
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ info.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify info example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Notify.init("Test8")
22
+
23
+ puts "APPLICATION NAME: #{Notify.app_name}\n"
24
+ puts "SERVER CAPS: #{Notify.server_caps}\n"
25
+ puts "SERVER INFO: #{Notify.server_info}\n"
26
+
27
+ Notify.uninit
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ markup.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify markup example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Notify.init("Test6")
22
+
23
+ test = Notify::Notification.new("Test 6", "<b>Markup</b> <u>test</u>\n<i> ...savvy?</i>", nil, nil)
24
+ test.timeout= 5000 #5 seconds
25
+ test.show
26
+
27
+ sleep(2)
28
+ test.close
29
+ Notify.uninit
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ multi-actions.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify multi-actions example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Gtk.init
22
+ Notify.init("Test4")
23
+
24
+ test = Notify::Notification.new("Test 4", "multi actions test", nil, nil)
25
+ test.timeout= Notify::Notification::EXPIRES_NEVER
26
+ test.signal_connect("closed") { Gtk.main_quit }
27
+
28
+ test.add_action("Click Me action 1", "Click Me! - 1", "bye!! - 1") do |action, data|
29
+ puts "#{action} - #{data}"
30
+ Gtk.main_quit
31
+ end
32
+
33
+ test.add_action("Click Me action 2", "Click Me! - 2", "bye!! - 2") do |action, data|
34
+ puts "#{action} - #{data}"
35
+ Gtk.main_quit
36
+ end
37
+
38
+ test.show
39
+
40
+ Gtk.main
41
+
42
+ test.clear_actions
43
+ test.close
44
+ Notify.uninit
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ update.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify update example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Notify.init("Test2")
22
+
23
+ test = Notify::Notification.new("Test 2", "This is a test", nil, nil)
24
+ test.timeout= Notify::Notification::EXPIRES_NEVER
25
+ test.show
26
+
27
+ sleep(3)
28
+
29
+ test.update("Test 2", "Message replaced!", nil)
30
+ test.timeout=5000 #5 seconds
31
+ test.show
32
+
33
+ sleep(6)
34
+
35
+ test.close
36
+ Notify.uninit
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ urgency.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify urgency example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Notify.init("Test5")
22
+
23
+ test = Notify::Notification.new("Test 5", "urgency test - LOW", nil, nil)
24
+ test.urgency= Notify::Notification::URGENCY_LOW
25
+ test.timeout= 3000 #3 seconds
26
+ test.show
27
+
28
+ sleep(3)
29
+ test.close
30
+
31
+ test = Notify::Notification.new("Test 5", "urgency test - NORMAL", nil, nil)
32
+ test.urgency= Notify::Notification::URGENCY_NORMAL
33
+ test.timeout= 3000 #3 seconds
34
+ test.show
35
+
36
+ sleep(3)
37
+ test.close
38
+
39
+ test = Notify::Notification.new("Test 5", "urgency test - CRITICAL", nil, nil)
40
+ test.urgency= Notify::Notification::URGENCY_CRITICAL
41
+ test.timeout= 3000 #3 seconds
42
+ test.show
43
+
44
+ sleep(3)
45
+ test.close
46
+
47
+ Notify.uninit
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ xy.rb
6
+
7
+ Luca Russo <vargolo@gmail.com>
8
+ Copyright (LGPL) 2006 - 2010
9
+
10
+ ruby-libnotify xy example
11
+
12
+ =end
13
+
14
+ begin
15
+ require 'RNotify'
16
+ rescue LoadError
17
+ require 'rubygems'
18
+ require 'RNotify'
19
+ end
20
+
21
+ Notify.init("Test7")
22
+
23
+ test = Notify::Notification.new("Test 7", "This notification point to 150,100", nil, nil)
24
+ test.hint32("x", 150)
25
+ test.hint32("y", 100)
26
+ test.timeout= 5000 #5 seconds
27
+ test.show
28
+
29
+ sleep(6)
30
+ test.clear_hints
31
+ test.close
32
+ Notify.uninit
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+ type=0, DEBUG
5
+ type=1, RELEASE
6
+ =end
7
+
8
+ begin
9
+ require 'pkg-config'
10
+ rescue LoadError
11
+ puts "ERROR: no pkg-config.rb file found, please install Ruby/GLib2",
12
+ "[ http://ruby-gnome2.sourceforge.jp/ ]"
13
+ exit
14
+ end
15
+
16
+ $preload = nil
17
+ type = 1
18
+
19
+ def find_gtk2_rb
20
+ (File.exist?("#{Config::CONFIG["sitelibdir"]}/gtk2.rb") ||
21
+ File.exist?("#{Config::CONFIG["rubylibdir"]}/gtk2.rb"))
22
+ end
23
+
24
+ def check_status_icon_gtk2
25
+ if PKGConfig.check_version?("gtk+-2.0", 2, 9, 1) == true
26
+ $CFLAGS << ' -DHAVE_STATUS_ICON'
27
+ puts "with GtkStatusIcon.. yes"
28
+ else
29
+ puts "with GtkStatusIcon.. no"
30
+ end
31
+ end
32
+
33
+ def check_geometry_hints_libnotify
34
+ if PKGConfig.check_version?("libnotify", 0, 4, 1) == true
35
+ $CFLAGS << ' -DHAVE_GEOMETRY_HINTS'
36
+ puts "with geometry hints.. yes"
37
+ else
38
+ puts "with geometry hints.. no"
39
+ end
40
+ end
41
+
42
+ def check_closed_reason_libnotify
43
+ if PKGConfig.check_version?("libnotify", 0, 4, 5) == true
44
+ $CFLAGS << ' -DHAVE_CLOSED_REASON'
45
+ puts "with closed reason.. yes"
46
+ else
47
+ puts "with closed reason.. no"
48
+ end
49
+ end
50
+
51
+ if find_gtk2_rb == true
52
+ if have_library("notify", "notify_init") == true
53
+ $CFLAGS << ' -DDEBUG' if type == 0
54
+ $CFLAGS << ' -Wall' << " -I#{Config::CONFIG["sitearchdir"]} " << PKGConfig.cflags("libnotify")
55
+ $LIBS << ' ' << PKGConfig.libs("libnotify")
56
+ check_status_icon_gtk2
57
+ check_geometry_hints_libnotify
58
+ check_closed_reason_libnotify
59
+ create_makefile("rnotify")
60
+ else
61
+ puts "ERROR: please install libnotify",
62
+ "[ http://www.galago-project.org/ ]"
63
+ end
64
+ else
65
+ puts "ERROR: no gtk2.rb found, please install Ruby/Gtk2",
66
+ "[ http://ruby-gnome2.sourceforge.jp/ ]"
67
+ end