Implement viewing of the scrollback buffer in a separate window

This commit is contained in:
Kovid Goyal
2016-12-10 12:59:20 +05:30
parent 41c63917c8
commit 9a7b23fd23
8 changed files with 106 additions and 20 deletions

View File

@@ -27,6 +27,7 @@ class Window:
def __init__(self, tab, child, opts, args):
self.tabref = weakref.ref(tab)
self.override_title = None
self.last_mouse_cursor_pos = 0, 0
self.destroyed = False
self.click_queue = deque(maxlen=3)
@@ -117,11 +118,12 @@ class Window:
self.write_to_child(b'\x1b[O')
def title_changed(self, new_title):
self.title = sanitize_title(new_title or appname)
t = self.tabref()
if t is not None:
t.title_changed(self)
glfw_post_empty_event()
if self.override_title is not None:
self.title = sanitize_title(new_title or appname)
t = self.tabref()
if t is not None:
t.title_changed(self)
glfw_post_empty_event()
def icon_changed(self, new_icon):
pass # TODO: Implement this
@@ -260,6 +262,10 @@ class Window:
# actions {{{
def show_scrollback(self):
data = self.char_grid.get_scrollback_as_ansi()
get_boss().display_scrollback(data)
def paste(self, text):
if text and not self.destroyed:
if isinstance(text, str):