Sha256: f3376e09eb37708d120d404fd495a79d84865d29354b326f38e7975680be3be6

Contents?: true

Size: 525 Bytes

Versions: 1

Compression:

Stored size: 525 Bytes

Contents

module Zeus
  class Client
    module Winsize

      attr_reader :winch

      def set_winsize
        $stdout.tty? and @master.winsize = $stdout.winsize
      end

      def make_winch_channel
        @winch, winch_ = IO.pipe
        trap("WINCH") { winch_ << "\0" }
      end

      def handle_winch
        @winch.read(1)
        set_winsize
        begin
          Process.kill("WINCH", pid) if pid
        rescue Errno::ESRCH
          exit # the remote process died. Just quit.
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zeus-0.4.6 lib/zeus/client/winsize.rb