remi-simpletray 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,84 @@
1
+ # simpletray
2
+
3
+ simpletray is a gem for making it really easy to make wxruby-based system tray applications
4
+
5
+ ![SimpleTray Screenshot](http://github.com/remi/simpletray/tree/master/simpletray.png?raw=true)
6
+
7
+ ## installation
8
+
9
+ ### wx
10
+
11
+ simpletray uses [wxWidgets](http://www.wxwidgets.org), so you need to install it
12
+
13
+ A binary should be available for Windows users. Mac/Linux should be able to use your packaging systems.
14
+ See [http://www.wxwidgets.org/downloads/#latest_stable](http://www.wxwidgets.org/downloads/#latest_stable) for latest wxWidgets releases.
15
+
16
+ For Windows, try [the Windows installer](http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.9-Setup.exe)
17
+
18
+ For Mac OS X, try using [MacPorts](http://www.macports.org/):
19
+
20
+ $ sudo port install wxwidgets
21
+
22
+ For Ubuntu Linux, try:
23
+
24
+ # i *think* these are all the packages you need ... `aptitude search wx` to see all wx packages
25
+ $ sudo aptitude install libwxbase2.8-0 libwxgtk2.8-0
26
+
27
+ ### gems
28
+
29
+ now, install the required rubygems ...
30
+
31
+ $ sudo gem install wxruby activesupport
32
+
33
+ and ... simpletray!
34
+
35
+ $ sudo gem install remi-simpletray -s http://gems.github.com
36
+
37
+ ## usage
38
+
39
+ #! /usr/bin/env ruby
40
+ require 'rubygems'
41
+ require 'simpletray'
42
+
43
+ # icon my_cool_app.png will be used for the tray icon
44
+ SimpleTray.app 'My Cool App' do
45
+
46
+ # this makes a single item 'About' (about.png will be used if found)
47
+ # which pops up a message box when clicked
48
+ about { msgbox "Hello! This is my app!" }
49
+
50
+ # this makes a submenu 'Dogs' with rover/spot/rex subitems.
51
+ # dogs.png, rover.png, spot.png, rex.png will all be looked for
52
+ _dogs_ {
53
+ rover { puts "..." }
54
+ spot { puts "..." }
55
+ rex { msgbox "w00f, my name is rex!" }
56
+
57
+ _more_dogs_ do
58
+ another_dog { puts "..." }
59
+ yet_another_dog { puts "..." }
60
+ end
61
+ }
62
+
63
+ # adds an item (the same as saying my_custom_item) with a custom icon
64
+ item 'My Custom Item', 'custom-icon.png' do
65
+ # ...
66
+ end
67
+
68
+ # adds an menu (the same as saying _my_custom_menu_) with a custom icon
69
+ menu 'My Custom Menu', 'custom-menu-icon.png' do
70
+ item1 { }
71
+ item2 { }
72
+ end
73
+
74
+ # this adds a seperator and then a special 'exit' item to quit the application
75
+ ____
76
+ exit
77
+
78
+ end
79
+
80
+ Also, see examples/first.rb (the first file I used for testing), which shows how to add
81
+ your own helper methods
82
+
83
+ Note, currently I'm only supporting PNGs. I'll fix this to support ICO/PNG/BMP/JPG/etc.
84
+ My TODO list is long :P
@@ -19,6 +19,7 @@ and ... simpletray!
19
19
  == usage
20
20
 
21
21
  #! /usr/bin/env ruby
22
+ require 'rubygems'
22
23
  require 'simpletray'
23
24
 
24
25
  # icon my_cool_app.png will be used for the tray icon
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,20 @@
1
+ #! /usr/bin/env ruby
2
+ %w( rubygems simpletray ).each {|lib| require lib }
3
+
4
+ dog_image_numbers = Dir[File.join(File.dirname(__FILE__),'?.png')].sort.map { |x| x.sub(/.*(\d+).png$/,'\1') }
5
+
6
+ SimpleTray.app 'Dogs' do
7
+
8
+ dog_image_numbers.each do |i|
9
+ item("Dog #{i}", "#{i}.png" ){ msgbox "you clicked on dog ##{i}" }
10
+ end
11
+
12
+ _dogs_ do
13
+ dog_image_numbers.each do |i|
14
+ item("Dog #{i}", "#{i}.png" ){ msgbox "you clicked on dog ##{i}" }
15
+ end
16
+ end
17
+ ____
18
+ exit
19
+
20
+ end
Binary file
@@ -0,0 +1,40 @@
1
+ #! /usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'simpletray'
4
+
5
+ # icon my_cool_app.png will be used for the tray icon
6
+ SimpleTray.app 'My Cool App' do
7
+
8
+ # this makes a single item 'About' (about.png will be used if found)
9
+ # which pops up a message box when clicked
10
+ about { msgbox "Hello! This is my app!" }
11
+
12
+ # this makes a submenu 'Dogs' with rover/spot/rex subitems.
13
+ # dogs.png, rover.png, spot.png, rex.png will all be looked for
14
+ _dogs_ {
15
+ rover { puts "..." }
16
+ spot { puts "..." }
17
+ rex { msgbox "w00f, my name is rex!" }
18
+
19
+ _more_dogs_ do
20
+ another_dog { puts "..." }
21
+ yet_another_dog { puts "..." }
22
+ end
23
+ }
24
+
25
+ # adds an item (the same as saying my_custom_item) with a custom icon
26
+ item 'My Custom Item', 'custom-icon.png' do
27
+ # ...
28
+ end
29
+
30
+ # adds an menu (the same as saying _my_custom_menu_) with a custom icon
31
+ menu 'My Custom Menu', 'custom-menu-icon.png' do
32
+ item1 { }
33
+ item2 { }
34
+ end
35
+
36
+ # this adds a seperator and then a special 'exit' item to quit the application
37
+ ____
38
+ exit
39
+
40
+ end
@@ -48,7 +48,7 @@ class SimpleTray
48
48
  icon = File.join SimpleTray.icon_directory, icon unless File.file?icon
49
49
  if File.file?icon
50
50
  icon = Wx::Bitmap.new icon, Wx::BITMAP_TYPE_PNG
51
- item.set_bitmap icon
51
+ item.set_bitmap icon unless PLATFORM[/darwin/]
52
52
  end
53
53
 
54
54
  @menu.append_item item
@@ -118,7 +118,7 @@ class SimpleTray
118
118
  def init_icon
119
119
  if File.file?@icon
120
120
  icon = Wx::Bitmap.new @icon, Wx::BITMAP_TYPE_PNG
121
- set_bitmap icon
121
+ set_bitmap icon unless PLATFORM[/darwin/]
122
122
  end
123
123
  end
124
124
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = "simpletray"
4
- s.version = "0.0.7"
4
+ s.version = "0.0.8"
5
5
  s.date = "2008-09-26"
6
6
  s.summary = "Ruby gem that provides a DSL for creating system tray icon applications *really* easily."
7
7
  s.email = "remi@remitaylor.com"
@@ -12,6 +12,6 @@ Gem::Specification.new do |s|
12
12
  s.authors = ["remi Taylor"]
13
13
 
14
14
  # generate using: $ ruby -e "puts Dir['**/**'].select{|x| File.file?x}.inspect"
15
- s.files = ["examples/first.rb", "lib/simpletray.rb", "doc/README.rdoc", "simpletray.gemspec", "Rakefile"]
15
+ s.files = ["examples/first.rb", "examples/my_cool_app.png", "examples/readme.rb", "examples/dogs/dogs.png", "examples/dogs/3.png", "examples/dogs/7.png", "examples/dogs/6.png", "examples/dogs/4.png", "examples/dogs/dogs.rb", "examples/dogs/2.png", "examples/dogs/5.png", "examples/dogs/1.png", "lib/simpletray.rb", "simpletray.png", "README.markdown", "tmp/test.html", "simpletray.gemspec", "doc/README.rdoc", "Rakefile"]
16
16
 
17
17
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remi-simpletray
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - remi Taylor
@@ -23,9 +23,23 @@ extra_rdoc_files: []
23
23
 
24
24
  files:
25
25
  - examples/first.rb
26
+ - examples/my_cool_app.png
27
+ - examples/readme.rb
28
+ - examples/dogs/dogs.png
29
+ - examples/dogs/3.png
30
+ - examples/dogs/7.png
31
+ - examples/dogs/6.png
32
+ - examples/dogs/4.png
33
+ - examples/dogs/dogs.rb
34
+ - examples/dogs/2.png
35
+ - examples/dogs/5.png
36
+ - examples/dogs/1.png
26
37
  - lib/simpletray.rb
27
- - doc/README.rdoc
38
+ - simpletray.png
39
+ - README.markdown
40
+ - tmp/test.html
28
41
  - simpletray.gemspec
42
+ - doc/README.rdoc
29
43
  - Rakefile
30
44
  has_rdoc: true
31
45
  homepage: http://github.com/remi/simpletray