class Riffer::Rig::Terminal::Peek
Constants
- TOOL
Public Class Methods
(frame: Riffer::Rig::Terminal::Frame) → void
Source
# File lib/riffer/rig/terminal/peek.rb, line 13 def initialize(frame:) @frame = frame @mutex = Mutex.new @buffer = nil @open = false end
@rbs frame: Riffer::Rig::Terminal::Frame @rbs return: void
Public Instance Methods
(Riffer::Rig::Terminal::Key key) → void
Source
# File lib/riffer/rig/terminal/peek.rb, line 28 def press(key) return unless key.name == :ctrl_t @mutex.synchronize do buffer = @buffer return unless buffer @open = !@open @frame.peek(@open ? content(buffer) : '') end end
@rbs key: Riffer::Rig::Terminal::Key @rbs return: void
() → void
Source
# File lib/riffer/rig/terminal/peek.rb, line 41 def refresh # A key is pressed off the thread the turn runs on: without the lock, a # peek read before it was toggled off could be drawn after it was hidden. @mutex.synchronize do buffer = @buffer @frame.peek(content(buffer)) if buffer && @open end end
@rbs return: void
() → void
Source
# File lib/riffer/rig/terminal/peek.rb, line 51 def unwatch @mutex.synchronize do @buffer = nil @open = false @frame.peek('') end end
@rbs return: void
(Riffer::Rig::Terminal::TurnBuffer buffer) → void
Source
# File lib/riffer/rig/terminal/peek.rb, line 22 def watch(buffer) @mutex.synchronize { @buffer = buffer } end
@rbs buffer: Riffer::Rig::Terminal::TurnBuffer @rbs return: void