twitterpunch 0.0.7 → 0.0.8
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.
- 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
|
|