libnotify 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,51 +1,33 @@
1
- ---
2
- dependencies:
3
- yard:
4
- group:
5
- - :test
6
- version: ">= 0"
7
- jeweler:
8
- group:
9
- - :test
10
- version: ">= 0"
11
- ffi:
12
- group:
13
- - :default
14
- version: ">= 0.6.2"
15
- riot_notifier:
16
- group:
17
- - :test
18
- version: ">= 0.2.0"
19
- riot:
20
- group:
21
- - :test
22
- version: = 0.11.2
23
- specs:
24
- - rake:
25
- version: 0.8.7
26
- - ffi:
27
- version: 0.6.3
28
- - json_pure:
29
- version: 1.4.3
30
- - gemcutter:
31
- version: 0.5.0
32
- - git:
33
- version: 1.2.5
34
- - rubyforge:
35
- version: 2.0.4
36
- - jeweler:
37
- version: 1.4.0
38
- - rr:
39
- version: 0.10.11
40
- - term-ansicolor:
41
- version: 1.0.5
42
- - riot:
43
- version: 0.11.2
44
- - riot_notifier:
45
- version: 0.2.0
46
- - yard:
47
- version: 0.5.8
48
- hash: 6cb15cfba060c9636f2e2b9a7904cd1827b88ade
49
- sources:
50
- - Rubygems:
51
- uri: http://rubygems.org
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ ffi (0.6.3)
5
+ rake (>= 0.8.7)
6
+ gemcutter (0.6.1)
7
+ git (1.2.5)
8
+ jeweler (1.4.0)
9
+ gemcutter (>= 0.1.0)
10
+ git (>= 1.2.5)
11
+ rubyforge (>= 2.0.0)
12
+ json_pure (1.4.6)
13
+ rake (0.8.7)
14
+ riot (0.11.2)
15
+ rr
16
+ term-ansicolor
17
+ riot_notifier (0.3.0)
18
+ riot (~> 0.11.0)
19
+ rr (1.0.0)
20
+ rubyforge (2.0.4)
21
+ json_pure (>= 1.1.7)
22
+ term-ansicolor (1.0.5)
23
+ yard (0.6.0)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ ffi (>= 0.6.2)
30
+ jeweler
31
+ riot (= 0.11.2)
32
+ riot_notifier (>= 0.2.0)
33
+ yard
@@ -15,6 +15,7 @@ RDoc[http://rdoc.info/projects/splattael/libnotify]
15
15
  notify.body = "hello"
16
16
  notify.timeout = 1.5 # 1.5 (s), 1000 (ms), "2", nil, false
17
17
  notify.urgency = :critical # :low, :normal, :critical
18
+ notify.append = false # default true - append onto existing notification
18
19
  notify.icon_path = "/usr/share/icons/gnome/scalable/emblems/emblem-default.svg"
19
20
  end
20
21
  n.show!
@@ -45,8 +46,9 @@ You'll need libnotify. On Debian just type:
45
46
 
46
47
  == Authors
47
48
 
48
- * Peter Suschlik
49
+ * Peter Suschlik (http://github.com/splattael)
50
+ * Dennis Collective (http://github.com/denniscollective)
49
51
 
50
52
  == TODO
51
53
 
52
- * Mock FFI calls with rrriot. (test/test_libnotify.rb:58)
54
+ * Mock FFI calls with rrriot. (test/test_libnotify.rb:61)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -20,7 +20,7 @@ module Libnotify
20
20
  # notify.icon_path = "/usr/share/icons/gnome/scalable/emblems/emblem-default.svg"
21
21
  # end
22
22
  # n.show!
23
- #
23
+ #
24
24
  # @example Mixed syntax
25
25
  # Libnotify.new(options) do |n|
26
26
  # n.timeout = 1.5 # overrides :timeout in options
@@ -77,6 +77,8 @@ module Libnotify
77
77
  attach_function :notify_notification_new, [:string, :string, :string, :pointer], :pointer
78
78
  attach_function :notify_notification_set_urgency, [:pointer, :urgency], :void
79
79
  attach_function :notify_notification_set_timeout, [:pointer, :long], :void
80
+ attach_function :notify_notification_set_hint_string, [:pointer, :string, :string], :void
81
+ attach_function :notify_notification_clear_hints, [:pointer], :void
80
82
  attach_function :notify_notification_show, [:pointer, :pointer], :bool
81
83
  end
82
84
 
@@ -84,7 +86,7 @@ module Libnotify
84
86
  include FFI
85
87
 
86
88
  attr_reader :timeout
87
- attr_accessor :summary, :body, :icon_path, :urgency
89
+ attr_accessor :summary, :body, :icon_path, :urgency, :append
88
90
 
89
91
  # Creates a notification object.
90
92
  #
@@ -99,6 +101,7 @@ module Libnotify
99
101
  self.summary = self.body = ' '
100
102
  self.urgency = :normal
101
103
  self.timeout = nil
104
+ self.append = true
102
105
  end
103
106
  private :set_defaults
104
107
 
@@ -110,7 +113,13 @@ module Libnotify
110
113
  notify = notify_notification_new(summary, body, icon_path, nil)
111
114
  notify_notification_set_urgency(notify, urgency)
112
115
  notify_notification_set_timeout(notify, timeout || -1)
116
+ if append
117
+ notify_notification_set_hint_string(notify, "x-canonical-append", "")
118
+ notify_notification_set_hint_string(notify, "append", "")
119
+ end
113
120
  notify_notification_show(notify, nil)
121
+ ensure
122
+ notify_notification_clear_hints(notify) if append
114
123
  end
115
124
 
116
125
  # @todo Simplify timeout=
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{libnotify}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Peter Suschlik"]
12
- s.date = %q{2010-07-11}
12
+ s.date = %q{2010-09-03}
13
13
  s.email = %q{peter-libnotify@suschlik.de}
14
14
  s.extra_rdoc_files = [
15
15
  "README.rdoc"
@@ -27,6 +27,7 @@ context Libnotify::API do
27
27
  asserts("urgency is :normal") { topic.urgency }.equals(:normal)
28
28
  asserts("timeout is nil") { topic.timeout }.nil
29
29
  asserts("icon_path is nil") { topic.icon_path }.nil
30
+ asserts("append is true") { topic.append }.equals(true)
30
31
  end
31
32
 
32
33
  context "with options and block" do
@@ -34,12 +35,14 @@ context Libnotify::API do
34
35
  topic.new(:summary => "hello", :body => "body", :invalid_option => 23) do |n|
35
36
  n.body = "overwritten"
36
37
  n.icon_path = "/path/to/icon"
38
+ n.append = false
37
39
  end
38
40
  end
39
41
 
40
42
  asserts("summary is set") { topic.summary }.equals("hello")
41
43
  asserts("body was overwritten by block") { topic.body }.equals("overwritten")
42
44
  asserts("icon_path set") { topic.icon_path }.equals("/path/to/icon")
45
+ asserts("append is set") { topic.append }.equals(false)
43
46
  end
44
47
 
45
48
  context "timeout=" do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libnotify
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 0.2.0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Peter Suschlik
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-11 00:00:00 +02:00
18
+ date: 2010-09-03 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency