Class Rascut::Plugin::Screen
In: lib/rascut/plugin/screen.rb
Parent: Base

Methods

clear   error   message   run   run_screen_session?   send_cmd   start   success  

Constants

STATUS = %q[%H %`%-w%{=b bw}%n %t%{-}%+w %=]
SCREEN_CMD = 'screen'
SCREEN_COLOR = { :black => 'dd', :blue => 'bk', :green => 'gk', :red => 'rw', }

Public Instance methods

[Source]

    # File lib/rascut/plugin/screen.rb, line 43
43:       def clear
44:         send_cmd('')
45:       end

[Source]

    # File lib/rascut/plugin/screen.rb, line 27
27:       def error
28:         message 'E', :red
29:       end

[Source]

    # File lib/rascut/plugin/screen.rb, line 35
35:       def message(msg, color = :black)
36:         if run_screen_session?
37:           col = SCREEN_COLOR[color]
38:           msg = %Q[ %{=b #{col}} #{msg} %{-}]
39:           send_cmd(msg)
40:         end
41:       end

[Source]

    # File lib/rascut/plugin/screen.rb, line 17
17:       def run
18:         @command.wrapper.hooks[:compile_start] << method(:start)
19:         @command.wrapper.hooks[:compile_error] << method(:error)
20:         @command.wrapper.hooks[:compile_success] << method(:success)
21:       end

[Source]

    # File lib/rascut/plugin/screen.rb, line 47
47:       def run_screen_session?
48:         str = `#{SCREEN_CMD} -ls`
49:         str.match(/(\d+) Socket/) && ($1.to_i > 0)
50:       end

[Source]

    # File lib/rascut/plugin/screen.rb, line 52
52:       def send_cmd(msg)
53:         cmd = %Q[#{SCREEN_CMD} -X eval 'hardstatus alwayslastline "#{(STATUS + msg).gsub('"', '\"')}"']
54:         system cmd
55:       end

[Source]

    # File lib/rascut/plugin/screen.rb, line 23
23:       def start
24:         message 'C'
25:       end

[Source]

    # File lib/rascut/plugin/screen.rb, line 31
31:       def success
32:         message 'S', :blue
33:       end

[Validate]