twitterpunch 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +2 -0
- data/README.md +43 -20
- data/bin/twitterpunch +20 -13
- data/lib/twitterpunch.rb +1 -1
- data/lib/twitterpunch/configuration.rb +40 -13
- data/lib/twitterpunch/queue.rb +0 -1
- metadata +71 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc3d6039a991bb31c105ce40daaea5ec49002ffc
|
4
|
+
data.tar.gz: 3df413902f881befba963640647f8df4ada50bc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8303873cd744d2acfd901862fe306c1858bbc9df2a2c600377331ea8e56b78ad49ad5091c5bbb83383f4d68bc713cc3348289b25e126abae2c0d9467260fa7de
|
7
|
+
data.tar.gz: 53a0bf07a69ec8a5054b36b5b732a0c4e725a7c5c507f32bfcc6d5ebd97f7d9d85cac85f095b6ee45c0e31f6f20187a657c5ec1d698e284e1a73671ec82b9f2d
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -6,15 +6,21 @@ When this script is called with the name of an image file, it will post the
|
|
6
6
|
image to Twitter, along with a message randomly chosen from a list and a
|
7
7
|
specified hashtag.
|
8
8
|
|
9
|
-
If you call the script with the
|
9
|
+
If you call the script with the `--stream` argument instead, it will listen
|
10
10
|
for tweets to that hashtag and download them to a specified directory. If
|
11
11
|
the tweet came from another user, Twitterpunch will speak it aloud.
|
12
12
|
|
13
|
+
Typically, you'll run one copy on an OSX laptop with PhotoBooth, and a separate
|
14
|
+
copy on another machine (either Windows or OSX) for the viewer. You can also use
|
15
|
+
a mobile device as a remote control, if you like. This will allow the user to
|
16
|
+
enter a custom message for each photo that gets tweeted out, if they'd like.
|
17
|
+
|
18
|
+
|
13
19
|
Configuration
|
14
20
|
===========
|
15
21
|
|
16
|
-
Configure the program via the `~/.twitterpunch.yaml` YAML file. This file
|
17
|
-
look similar to the example below.
|
22
|
+
Configure the program via the `~/.twitterpunch/config.yaml` YAML file. This file
|
23
|
+
should look similar to the example below.
|
18
24
|
|
19
25
|
---
|
20
26
|
:twitter: # twitter configuration
|
@@ -27,13 +33,19 @@ look similar to the example below.
|
|
27
33
|
- I'm a posting fool
|
28
34
|
- minimally viable product
|
29
35
|
:hashtag: Twitterpunch # The hashtag to post and listen to
|
36
|
+
:handle: Twitterpunch # The twitter username to post as
|
30
37
|
:photodir: ~/Pictures/twitterpunch/ # Where to save downloaded images
|
31
|
-
:logfile: ~/.twitterpunch.log
|
38
|
+
:logfile: ~/.twitterpunch/activity.log # Where to save logs
|
32
39
|
:viewer: # Use the built-in slideshow viewer
|
33
40
|
:count: 5 # How many images to have onscreen at once
|
34
41
|
|
35
|
-
|
36
|
-
|
42
|
+
1. Generate a skeleton configuration file
|
43
|
+
* `twitterpunch --configure`
|
44
|
+
1. Edit the configuration file as needed. You'll be prompted with the path.
|
45
|
+
* If you have your own Twitter application credentials, you're welcome to use them.
|
46
|
+
1. Authorize the application with the Twitter API.
|
47
|
+
* `twitterpunch --authorize`
|
48
|
+
|
37
49
|
|
38
50
|
Usage
|
39
51
|
==========
|
@@ -47,6 +59,13 @@ Usage
|
|
47
59
|
1. Profit!
|
48
60
|
* _and by that, I mean take some shots with PhotoBooth!_
|
49
61
|
|
62
|
+
#### Using the remote web app
|
63
|
+
|
64
|
+
1. Run the app with `twitterpunch --remote`
|
65
|
+
1. Browse to the app with http://{address}:8080
|
66
|
+
1. [optional] If on an iOS device, add to your homescreen
|
67
|
+
* This will give you "app behaviour", such as full screen, and a nice icon
|
68
|
+
|
50
69
|
#### Troubleshooting.
|
51
70
|
|
52
71
|
1. Make sure the folder action is installed properly
|
@@ -56,32 +75,42 @@ Usage
|
|
56
75
|
1. Make sure that the `Twitterpunch` action is attached.
|
57
76
|
1. Install the folder action
|
58
77
|
1. Open the `resources` folder of this gem.
|
59
|
-
* Likely to be found in `/Library/Ruby/Gems/
|
78
|
+
* Likely to be found in `/Library/Ruby/Gems/{version}/gems/twitterpunch-#{version}/resources/`.
|
60
79
|
1. Double click on the `Twitterpunch` folder action and install it.
|
61
80
|
* It may claim that it could not be attached, fear not.
|
62
81
|
|
63
|
-
|
82
|
+
|
83
|
+
### Using something besides PhotoBooth
|
64
84
|
|
65
85
|
Configure the program you are using for your photo shoot to call Twitterpunch
|
66
86
|
each time it snaps a photo. Pass the name of the new photo as a command line
|
67
87
|
argument. Alternatively, you could batch them, as Twitterpunch can accept
|
68
88
|
multiple files at once.
|
69
89
|
|
70
|
-
[ben@ganymede] ~ $ twitterpunch photo.jpg
|
90
|
+
[ben@ganymede] ~ $ twitterpunch photo.jpg [photo2.jpg photo3.jpg photo4.jpg]
|
91
|
+
|
71
92
|
|
72
93
|
### Viewing the Twitter stream
|
73
94
|
|
74
95
|
Twitterpunch will run on OS X or Windows equally well. Simply configure it on the
|
75
96
|
computer that will act as the Twitter display and then run in streaming mode.
|
76
|
-
All images tweeted to the configured hashtag will be displayed in the slideshow
|
77
|
-
and tweets that come from any other user will also be spoken aloud.
|
78
97
|
|
79
98
|
[ben@ganymede] ~ $ twitterpunch --stream
|
80
99
|
|
100
|
+
There are two modes that Twitterpunch can operate in.
|
101
|
+
|
102
|
+
1. If a `:hashtag` is defined then all images tweeted to the configured hashtag
|
103
|
+
will be displayed in the slideshow.
|
104
|
+
1. Otherwise, Twitterpunch will stream the `:handle` Twitter user's stream and
|
105
|
+
display all images either posted by that user or addressed to that user. With
|
106
|
+
protected tweets, you can have rudimentary access control.
|
107
|
+
|
108
|
+
In either mode, tweets that come from any other user will also be spoken aloud.
|
109
|
+
|
81
110
|
If you don't want to use the built-in slideshow viewer, you can disable it by
|
82
|
-
removing the `:viewer` key from your `~/.twitterpunch.yaml` config file.
|
83
|
-
will then simply download the tweeted images and save them into the
|
84
|
-
directory. You can then use anything you like to view them.
|
111
|
+
removing the `:viewer` key from your `~/.twitterpunch/config.yaml` config file.
|
112
|
+
Twitterpunch will then simply download the tweeted images and save them into the
|
113
|
+
`:photodir` directory. You can then use anything you like to view them.
|
85
114
|
|
86
115
|
There are currently two decent viewing options I am aware of.
|
87
116
|
|
@@ -98,12 +127,6 @@ There are currently two decent viewing options I am aware of.
|
|
98
127
|
* Drawbacks: The screensaver doesn't reload dynamically, so I have to kick it
|
99
128
|
and you'll see it reloading each time a new tweet comes in.
|
100
129
|
|
101
|
-
### Running the remote web app
|
102
|
-
|
103
|
-
1. Run the app with `twitterpunch --remote`
|
104
|
-
1. Browse to the app with http://<address>:8080
|
105
|
-
1. [optional] If on an iOS device, add to your homescreen
|
106
|
-
* This will give you "app behaviour", such as full screen, and a nice icon
|
107
130
|
|
108
131
|
Limitations
|
109
132
|
===========
|
data/bin/twitterpunch
CHANGED
@@ -10,9 +10,8 @@ require 'yaml'
|
|
10
10
|
require 'twitterpunch'
|
11
11
|
|
12
12
|
FileUtils.mkdir_p File.expand_path('~/.twitterpunch')
|
13
|
-
FileUtils.touch(File.expand_path('~/.twitterpunch/queue.yaml'))
|
14
13
|
|
15
|
-
configfile = File.expand_path('~/.twitterpunch.yaml')
|
14
|
+
configfile = File.expand_path('~/.twitterpunch/config.yaml')
|
16
15
|
config = YAML.load_file(configfile) rescue {}
|
17
16
|
|
18
17
|
optparse = OptionParser.new { |opts|
|
@@ -40,11 +39,10 @@ optparse = OptionParser.new { |opts|
|
|
40
39
|
config[:action] = :view
|
41
40
|
end
|
42
41
|
|
43
|
-
opts.on("
|
44
|
-
config[:action] = :
|
42
|
+
opts.on("--authorize", "Authorize Twitterpunch with Twitter and update the configuration file.") do
|
43
|
+
config[:action] = :authorize
|
45
44
|
end
|
46
|
-
opts.on("
|
47
|
-
puts 'NOTICE: [-g|--genconfig\ are deprecated. Please use --authorize instead'
|
45
|
+
opts.on("--configure", "Generate default configuration (other than Twitter authorization).") do
|
48
46
|
config[:action] = :configure
|
49
47
|
end
|
50
48
|
|
@@ -76,19 +74,22 @@ optparse.parse!
|
|
76
74
|
|
77
75
|
config[:action] = :post if ARGV.size > 0 and config[:action].nil?
|
78
76
|
config[:resources] = File.expand_path("#{File.dirname(__FILE__)}/../resources")
|
77
|
+
config[:statefile] = File.expand_path('~/.twitterpunch/state.yaml')
|
79
78
|
config[:queue] = {}
|
80
79
|
config[:queue][:file] = File.expand_path('~/.twitterpunch/queue.yaml')
|
81
80
|
config[:queue][:ttl] = 30
|
82
81
|
|
82
|
+
FileUtils.touch(config[:queue][:file])
|
83
|
+
FileUtils.touch(config[:statefile])
|
84
|
+
|
83
85
|
case config[:action]
|
84
86
|
when :stream
|
85
87
|
require 'twitterpunch/streamer'
|
86
88
|
require 'twitterpunch/viewer'
|
87
89
|
|
88
|
-
|
89
|
-
viewer = Twitterpunch::Viewer.new(config)
|
90
|
+
viewer = Twitterpunch::Viewer.new(config)
|
90
91
|
|
91
|
-
config[:state] = YAML.load_file(statefile) rescue {}
|
92
|
+
config[:state] = YAML.load_file(config[:statefile]) rescue {}
|
92
93
|
config[:display] = viewer
|
93
94
|
|
94
95
|
Twitterpunch::Streamer.new(config).thread
|
@@ -104,16 +105,22 @@ when :post
|
|
104
105
|
when :view
|
105
106
|
require 'twitterpunch/viewer'
|
106
107
|
|
107
|
-
|
108
|
-
config[:state] = YAML.load_file(statefile) rescue {}
|
108
|
+
config[:state] = YAML.load_file(config[:statefile]) rescue {}
|
109
109
|
|
110
110
|
viewer = Twitterpunch::Viewer.new(config)
|
111
111
|
viewer.run
|
112
112
|
|
113
|
+
when :authorize
|
114
|
+
require 'twitterpunch/configuration'
|
115
|
+
cfg = Twitterpunch::Configuration.new(configfile)
|
116
|
+
cfg.authorize
|
117
|
+
cfg.save
|
118
|
+
|
113
119
|
when :configure
|
114
120
|
require 'twitterpunch/configuration'
|
115
|
-
cfg = Twitterpunch::Configuration.new(configfile)
|
116
|
-
|
121
|
+
cfg = Twitterpunch::Configuration.new(configfile)
|
122
|
+
cfg.configure
|
123
|
+
cfg.save
|
117
124
|
|
118
125
|
when :install
|
119
126
|
system('open', "#{config[:resources]}/Twitterpunch.workflow")
|
data/lib/twitterpunch.rb
CHANGED
@@ -7,10 +7,23 @@ module Twitterpunch
|
|
7
7
|
|
8
8
|
def initialize(file)
|
9
9
|
@configfile = file
|
10
|
+
@config = YAML.load_file(@configfile) rescue defaults
|
11
|
+
end
|
12
|
+
|
13
|
+
def authorize
|
14
|
+
if @config.include? :twitter and @config[:twitter].include? :access_token_secret
|
15
|
+
puts "You already have Twitter authorization."
|
16
|
+
print "Would you like to re-authorize [y/N]? "
|
17
|
+
return unless STDIN.gets.strip.downcase == 'y'
|
18
|
+
end
|
19
|
+
|
20
|
+
@config[:twitter] ||= {}
|
21
|
+
@config[:twitter][:consumer_key] ||= Twitterpunch::API_KEY
|
22
|
+
@config[:twitter][:consumer_secret] ||= Twitterpunch::API_SECRET
|
10
23
|
|
11
24
|
consumer = OAuth::Consumer.new(
|
12
|
-
|
13
|
-
|
25
|
+
@config[:twitter][:consumer_key],
|
26
|
+
@config[:twitter][:consumer_secret],
|
14
27
|
{
|
15
28
|
:site => 'https://api.twitter.com/',
|
16
29
|
:scheme => :header,
|
@@ -26,23 +39,37 @@ module Twitterpunch
|
|
26
39
|
print "Please enter the PIN you are given: "
|
27
40
|
pin = STDIN.readline.chomp
|
28
41
|
|
29
|
-
|
42
|
+
access_token = request_token.get_access_token(:oauth_verifier => pin)
|
43
|
+
@config[:twitter][:access_token] = access_token.token
|
44
|
+
@config[:twitter][:access_token_secret] = access_token.secret
|
30
45
|
end
|
31
46
|
|
32
|
-
def
|
33
|
-
|
47
|
+
def configure
|
48
|
+
puts "Existing Twitter authorization will not be altered." if @config.include? :twitter
|
49
|
+
print "Would you like to save default configuration values [y/N]? "
|
50
|
+
return unless STDIN.gets.strip.downcase == 'y'
|
51
|
+
@config.merge! defaults
|
34
52
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
}
|
53
|
+
# This is not in defaults so it doesn't take precedence
|
54
|
+
@config[:twitter] ||= {}
|
55
|
+
@config[:twitter][:consumer_key] ||= Twitterpunch::API_KEY
|
56
|
+
@config[:twitter][:consumer_secret] ||= Twitterpunch::API_SECRET
|
57
|
+
|
58
|
+
puts "Please edit #{@configfile} to configure."
|
59
|
+
puts 'If you have your own Twitter consumer key/secret, you may replace'
|
60
|
+
puts 'the defaults before running `twitterpunch --authorize`.'
|
61
|
+
end
|
41
62
|
|
42
|
-
|
63
|
+
def save
|
64
|
+
puts @config.to_yaml
|
65
|
+
puts
|
66
|
+
print "Save configuration [y/N]? "
|
67
|
+
return unless STDIN.gets.strip.downcase == 'y'
|
68
|
+
File.open(@configfile, 'w') {|f| f.write(@config.to_yaml) }
|
43
69
|
end
|
44
70
|
|
45
71
|
def defaults
|
72
|
+
puts "Generating default configuration options..."
|
46
73
|
{
|
47
74
|
:messages => [
|
48
75
|
"Hello there",
|
@@ -54,7 +81,7 @@ module Twitterpunch
|
|
54
81
|
},
|
55
82
|
:hashtag => "Twitterpunch",
|
56
83
|
:photodir => "~/Pictures/twitterpunch/",
|
57
|
-
:logfile => '~/.twitterpunch.log',
|
84
|
+
:logfile => '~/.twitterpunch/activity.log',
|
58
85
|
}
|
59
86
|
end
|
60
87
|
end
|
data/lib/twitterpunch/queue.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitterpunch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Ford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: twitter
|
@@ -70,61 +70,73 @@ description: "Twitterpunch\n===============\n\nTwitterpunch is designed to work
|
|
70
70
|
PhotoBooth and OS X Folder Actions.\nWhen this script is called with the name of
|
71
71
|
an image file, it will post the\nimage to Twitter, along with a message randomly
|
72
72
|
chosen from a list and a\nspecified hashtag.\n\nIf you call the script with the
|
73
|
-
|
73
|
+
`--stream` argument instead, it will listen\nfor tweets to that hashtag and download
|
74
74
|
them to a specified directory. If\nthe tweet came from another user, Twitterpunch
|
75
|
-
will speak it aloud.\n\
|
76
|
-
|
77
|
-
|
78
|
-
\
|
79
|
-
\
|
80
|
-
\
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
the
|
94
|
-
|
95
|
-
\
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
\
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
the
|
108
|
-
|
109
|
-
|
110
|
-
it
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
75
|
+
will speak it aloud.\n\nTypically, you'll run one copy on an OSX laptop with PhotoBooth,
|
76
|
+
and a separate\ncopy on another machine (either Windows or OSX) for the viewer.
|
77
|
+
You can also use\na mobile device as a remote control, if you like. This will allow
|
78
|
+
the user to\nenter a custom message for each photo that gets tweeted out, if they'd
|
79
|
+
like.\n\n\nConfiguration\n===========\n\nConfigure the program via the `~/.twitterpunch/config.yaml`
|
80
|
+
YAML file. This file\nshould look similar to the example below.\n\n ---\n :twitter:
|
81
|
+
\ # twitter configuration\n :consumer_key: <consumer
|
82
|
+
key>\n :consumer_secret: <consumer secret>\n :access_token: <access token>\n
|
83
|
+
\ :access_token_secret: <access secret>\n :messages: #
|
84
|
+
list of messages to attach\n - Hello there # to outgoing
|
85
|
+
tweets\n - I'm a posting fool\n - minimally viable product\n :hashtag:
|
86
|
+
Twitterpunch # The hashtag to post and listen to\n :handle:
|
87
|
+
Twitterpunch # The twitter username to post as\n :photodir:
|
88
|
+
~/Pictures/twitterpunch/ # Where to save downloaded images\n :logfile: ~/.twitterpunch/activity.log
|
89
|
+
\ # Where to save logs\n :viewer: # Use the built-in
|
90
|
+
slideshow viewer\n :count: 5 # How many images
|
91
|
+
to have onscreen at once\n\n1. Generate a skeleton configuration file\n * `twitterpunch
|
92
|
+
--configure`\n1. Edit the configuration file as needed. You'll be prompted with
|
93
|
+
the path.\n * If you have your own Twitter application credentials, you're welcome
|
94
|
+
to use them.\n1. Authorize the application with the Twitter API.\n * `twitterpunch
|
95
|
+
--authorize`\n\n\nUsage \n==========\n\n### Using OS X PhotoBooth\n\n1. Start PhotoBooth
|
96
|
+
at least once to generate its library.\n1. Install the Twitterpunch Folder Action\n
|
97
|
+
\ * `twitterpunch --install`\n * It may claim that it could not be attached,
|
98
|
+
fear not.\n1. Profit!\n * _and by that, I mean take some shots with PhotoBooth!_\n\n####
|
99
|
+
Using the remote web app\n\n1. Run the app with `twitterpunch --remote`\n1. Browse
|
100
|
+
to the app with http://{address}:8080\n1. [optional] If on an iOS device, add to
|
101
|
+
your homescreen\n * This will give you \"app behaviour\", such as full screen,
|
102
|
+
and a nice icon\n\n#### Troubleshooting.\n\n1. Make sure the folder action is installed
|
103
|
+
properly\n 1. Use the Finder to navigate to `~/Pictures/`\n 1. Right click
|
104
|
+
on the `Photo Booth Library` icon and choose _Show Package Contents_.\n 1. Right
|
105
|
+
click on the `Pictures` folder and choose `Services > Folder Actions Setup`\n 1.
|
106
|
+
Make sure that the `Twitterpunch` action is attached.\n1. Install the folder action\n
|
107
|
+
\ 1. Open the `resources` folder of this gem.\n * Likely to be found in
|
108
|
+
`/Library/Ruby/Gems/{version}/gems/twitterpunch-#{version}/resources/`.\n 1.
|
109
|
+
Double click on the `Twitterpunch` folder action and install it.\n * It may
|
110
|
+
claim that it could not be attached, fear not.\n\n\n### Using something besides
|
111
|
+
PhotoBooth\n\nConfigure the program you are using for your photo shoot to call Twitterpunch\neach
|
112
|
+
time it snaps a photo. Pass the name of the new photo as a command line\nargument.
|
113
|
+
\ Alternatively, you could batch them, as Twitterpunch can accept\nmultiple files
|
114
|
+
at once.\n\n [ben@ganymede] ~ $ twitterpunch photo.jpg [photo2.jpg photo3.jpg
|
115
|
+
photo4.jpg]\n\n\n### Viewing the Twitter stream\n\nTwitterpunch will run on OS X
|
116
|
+
or Windows equally well. Simply configure it on the\ncomputer that will act as the
|
117
|
+
Twitter display and then run in streaming mode.\n\n [ben@ganymede] ~ $ twitterpunch
|
118
|
+
--stream\n\nThere are two modes that Twitterpunch can operate in.\n\n1. If a `:hashtag`
|
119
|
+
is defined then all images tweeted to the configured hashtag\n will be displayed
|
120
|
+
in the slideshow.\n1. Otherwise, Twitterpunch will stream the `:handle` Twitter
|
121
|
+
user's stream and\n display all images either posted by that user or addressed
|
122
|
+
to that user. With\n protected tweets, you can have rudimentary access control.\n\nIn
|
123
|
+
either mode, tweets that come from any other user will also be spoken aloud.\n\nIf
|
124
|
+
you don't want to use the built-in slideshow viewer, you can disable it by\nremoving
|
125
|
+
the `:viewer` key from your `~/.twitterpunch/config.yaml` config file.\nTwitterpunch
|
126
|
+
will then simply download the tweeted images and save them into the\n`:photodir`
|
127
|
+
directory. You can then use anything you like to view them.\n\nThere are currently
|
128
|
+
two decent viewing options I am aware of.\n\n* Windows background image:\n *
|
129
|
+
Configure the Windows background to randomly cycle through photos in a directory.\n
|
130
|
+
\ * Hide desktop icons.\n * Hide the taskbar.\n * Disable screensaver and
|
131
|
+
power savings.\n * Drawbacks: You're using Windows and you have to install Ruby
|
132
|
+
& RubyGems manually.\n* OS X screensaver:\n * Choose one of the sexy screensavers
|
133
|
+
and configure it to show photos from the `:photodir`\n * Set screensaver to a
|
134
|
+
super short timeout.\n * Disable power savings.\n * Drawbacks: The screensaver
|
135
|
+
doesn't reload dynamically, so I have to kick it\n and you'll see it reloading
|
136
|
+
each time a new tweet comes in.\n\n\nLimitations\n===========\n\n* It currently
|
137
|
+
requires manual setup for Folder Actions.\n* Rubygame is kind of a pain to set up.\n\n\nContact\n=======\n\n*
|
138
|
+
Author: Ben Ford\n* Email: binford2k@gmail.com\n* Twitter: @binford2k\n* IRC (Freenode):
|
139
|
+
binford2k\n"
|
128
140
|
email: binford2k@gmail.com
|
129
141
|
executables:
|
130
142
|
- twitterpunch
|
@@ -152,8 +164,9 @@ files:
|
|
152
164
|
- views/index.erb
|
153
165
|
- public/touch-icon-ipad-retina.png
|
154
166
|
- public/touch-icon-iphone-retina.png
|
155
|
-
homepage:
|
156
|
-
licenses:
|
167
|
+
homepage: https://github.com/binford2k/twitterpunch
|
168
|
+
licenses:
|
169
|
+
- MIT
|
157
170
|
metadata: {}
|
158
171
|
post_install_message: |2+
|
159
172
|
|