From 88463281377430507de8e4465e1c92923073c5bf Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Tue, 12 Jan 2010 00:33:55 +0000 Subject: [PATCH] scrollbar toggling is now significantly more useful and consistent --- terminatorlib/terminal.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/terminatorlib/terminal.py b/terminatorlib/terminal.py index a6c11b79..26a21c49 100755 --- a/terminatorlib/terminal.py +++ b/terminatorlib/terminal.py @@ -63,6 +63,7 @@ class Terminal(gtk.VBox): vte = None terminalbox = None scrollbar = None + scrollbar_position = None titlebar = None searchbar = None @@ -158,12 +159,13 @@ class Terminal(gtk.VBox): terminalbox = gtk.HBox() self.scrollbar = gtk.VScrollbar(self.vte.get_adjustment()) - position = self.config['scrollbar_position'] + self.scrollbar.set_no_show_all(True) + self.scrollbar_position = self.config['scrollbar_position'] - if position not in ('hidden', 'disabled'): + if self.scrollbar_position not in ('hidden', 'disabled'): self.scrollbar.show() - if position == 'left': + if self.scrollbar_position == 'left': func = terminalbox.pack_end else: func = terminalbox.pack_start @@ -582,7 +584,16 @@ for %s (%s)' % (name, urlplugin.__class__.__name__)) self.vte.set_scroll_on_keystroke(self.config['scroll_on_keystroke']) self.vte.set_scroll_on_output(self.config['scroll_on_output']) - # FIXME: Do subtle scrollbar_position stuff here + if self.scrollbar_position != self.config['scrollbar_position']: + self.scrollbar_position = self.config['scrollbar_position'] + if self.config['scrollbar_position'] == 'disabled': + self.scrollbar.hide() + else: + self.scrollbar.show() + if self.config['scrollbar_position'] == 'left': + self.reorder_child(self.scrollbar, 0) + elif self.config['scrollbar_position'] == 'right': + self.reorder_child(self.vte, 0) if hasattr(self.vte, 'set_alternate_screen_scroll'): self.vte.set_alternate_screen_scroll(self.config['alternate_screen_scroll'])