lib/sup/buffer.rb in sup-0.12.1 vs lib/sup/buffer.rb in sup-0.13.0
- old
+ new
@@ -1,13 +1,9 @@
require 'etc'
require 'thread'
-begin
- require 'ncursesw'
-rescue LoadError
- require 'ncurses'
-end
+require 'ncursesw'
if defined? Ncurses
module Ncurses
def rows
lame, lamer = [], []
@@ -71,19 +67,20 @@
class InputSequenceAborted < StandardError; end
class Buffer
attr_reader :mode, :x, :y, :width, :height, :title, :atime
bool_reader :dirty, :system
- bool_accessor :force_to_top
+ bool_accessor :force_to_top, :hidden
def initialize window, mode, width, height, opts={}
@w = window
@mode = mode
@dirty = true
@focus = false
@title = opts[:title] || ""
@force_to_top = opts[:force_to_top] || false
+ @hidden = opts[:hidden] || false
@x, @y, @width, @height = 0, 0, width, height
@atime = Time.at 0
@system = opts[:system] || false
end
@@ -263,10 +260,10 @@
bufs.last.force_to_top = false
raise_to_front bufs[bufs.length - 2]
end
def rollable_buffers
- @buffers.select { |b| !b.system? || @buffers.last == b }
+ @buffers.select { |b| !(b.system? || b.hidden?) || @buffers.last == b }
end
def handle_input c
if @focus_buf
if @focus_buf.mode.in_search? && c != CONTINUE_IN_BUFFER_SEARCH_KEY[0]