Class: Screenout
- Inherits:
-
Object
- Object
- Screenout
- Defined in:
- lib/screenout.rb
Constant Summary collapse
- DEFAULT_STATUSLINE =
'%H %`%-w%{=b bw}%n %t%{-}%+w'
- DEFAULT_SCREEN_CMD =
'screen'
- SCREEN_COLOR =
{ :black => 'dd', :green => 'gw', :yellow => 'yk', :red => 'rw' }
Class Method Summary collapse
- .clear ⇒ Object
- .execute? ⇒ Boolean
- .message(msg, color = :black) ⇒ Object
- .run_screen_session? ⇒ Boolean
- .screen_cmd ⇒ Object
- .screen_cmd=(a) ⇒ Object
- .send_cmd(msg) ⇒ Object
- .statusline ⇒ Object
- .statusline=(a) ⇒ Object
Class Method Details
.clear ⇒ Object
17 18 19 |
# File 'lib/screenout.rb', line 17 def self.clear send_cmd('') end |
.execute? ⇒ Boolean
26 27 28 |
# File 'lib/screenout.rb', line 26 def self.execute? !($TESTING || !run_screen_session?) end |
.message(msg, color = :black) ⇒ Object
11 12 13 14 15 |
# File 'lib/screenout.rb', line 11 def self.(msg, color = :black) col = SCREEN_COLOR[color] msg = %Q[ %{=b #{col}} #{msg} %{-}] send_cmd(msg) end |
.run_screen_session? ⇒ Boolean
21 22 23 24 |
# File 'lib/screenout.rb', line 21 def self.run_screen_session? str = `#{screen_cmd} -ls` str.match(/(\d+) Socket/) && ($1.to_i > 0) end |
.screen_cmd ⇒ Object
33 |
# File 'lib/screenout.rb', line 33 def self.screen_cmd; @screen_cmd || DEFAULT_SCREEN_CMD.dup; end |
.screen_cmd=(a) ⇒ Object
34 |
# File 'lib/screenout.rb', line 34 def self.screen_cmd=(a); @screen_cmd = a; end |
.send_cmd(msg) ⇒ Object
36 37 38 39 40 |
# File 'lib/screenout.rb', line 36 def self.send_cmd(msg) cmd = %(#{screen_cmd} -X eval 'hardstatus alwayslastline "#{(statusline + msg).gsub('"', '\"')}"') #' stupid ruby-mode system cmd nil end |
.statusline ⇒ Object
31 |
# File 'lib/screenout.rb', line 31 def self.statusline; @statusline || DEFAULT_STATUSLINE.dup; end |
.statusline=(a) ⇒ Object
32 |
# File 'lib/screenout.rb', line 32 def self.statusline=(a); @statusline = a; end |