Sha256: 0d3f03d0c34857b81b9dcdc2f2fc3ba3facbf91235cb7ec791f5724e1121b676
Contents?: true
Size: 888 Bytes
Versions: 1
Compression:
Stored size: 888 Bytes
Contents
class Knj::X11VNC def initialize(args = {}) @args = ArrayExt.hash_sym(args) @open = true cmd = "x11vnc -q" cmd += " -shared" if @args[:shared] or !@args.key?(:shared) cmd += " -forever" if @args[:forever] or !@args.key?(:forever) cmd += " -rfbport #{@args[:port]}" if @args[:port] cmd += " -nolookup" if @args[:nolookup] or !@args.key?(:nolookup) print cmd + "\n" @thread = Knj::Thread.new do IO.popen(cmd) do |process| @pid = process.pid process.sync while read = process.read break if read.length == 0 #print read end @open = false @pid = nil @thread = nil end end Kernel.at_exit do self.close end end def open? return @open end def close return nil if !@thread Process.kill("HUP", @pid) if @pid @thread.exit if @thread @thread = nil @open = false @pid = nil end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
knjrbfw-0.0.8 | lib/knj/x11vnc.rb |