Backport some fixes from Egmont patch-o-rama, plus one from me

* Fix rotate terminals under tabs
* Change the scroll_on_output default to false
* Fix PuTTY paste mode so Ctrl-Right-Drag terminal still works
This commit is contained in:
Stephen Boddy 2015-12-01 01:15:39 +01:00
commit 0c1e16236b
6 changed files with 34 additions and 20 deletions

View File

@ -24,6 +24,8 @@ terminator trunk:
LP#1518111) LP#1518111)
* Update TERM to more modern values (Egmont Koblinger, * Update TERM to more modern values (Egmont Koblinger,
LP#1518557) LP#1518557)
* Change the scroll_on_output default to false (Egmont Koblinger,
LP#1392822)
Bug fixes Bug fixes
* Fix for those not running IBus, where the IBus workaround caused * Fix for those not running IBus, where the IBus workaround caused
@ -52,6 +54,10 @@ terminator trunk:
LP#1518554) LP#1518554)
* Correct terminator_config man page regarding scrollback (Egmont * Correct terminator_config man page regarding scrollback (Egmont
Koblinger, LP#1518559) Koblinger, LP#1518559)
* Fix rotate terminals under tabs (Egmont Koblinger, LP#1316573,
LP#1520360)
* Fix PuTTY paste mode so Ctrl-Right-Drag terminal still works
(Steve Boddy)
terminator 0.98: terminator 0.98:
* Features * Features

View File

@ -456,7 +456,7 @@ Default value: \fBTrue\fR
.TP .TP
.B scroll_on_output \fR(boolean) .B scroll_on_output \fR(boolean)
If true, whenever there's new output the terminal will scroll to the bottom. If true, whenever there's new output the terminal will scroll to the bottom.
Default value: \fBTrue\fR Default value: \fBFalse\fR
.TP .TP
.B alternate_screen_scroll \fR(boolean) .B alternate_screen_scroll \fR(boolean)
Whether or not the mouse wheel scrolls alternate screen buffers (man, vim, mutt, etc). This is the default behavior of VTE, however Ubuntu and possbly other distributions feature patched versions of VTE where this functionality is optional. The option only effects the patched versions of VTE, otherwise it is ignored. Whether or not the mouse wheel scrolls alternate screen buffers (man, vim, mutt, etc). This is the default behavior of VTE, however Ubuntu and possbly other distributions feature patched versions of VTE where this functionality is optional. The option only effects the patched versions of VTE, otherwise it is ignored.

View File

@ -225,7 +225,7 @@ DEFAULTS = {
'scrollbar_position' : "right", 'scrollbar_position' : "right",
'scroll_background' : True, 'scroll_background' : True,
'scroll_on_keystroke' : True, 'scroll_on_keystroke' : True,
'scroll_on_output' : True, 'scroll_on_output' : False,
'scrollback_lines' : 500, 'scrollback_lines' : 500,
'scrollback_infinite' : False, 'scrollback_infinite' : False,
'exit_action' : 'close', 'exit_action' : 'close',

View File

@ -297,7 +297,9 @@ class Notebook(Container, gtk.Notebook):
break break
self.set_tab_label(widget, label) self.set_tab_label(widget, label)
self.set_tab_label_packing(term_widget, not self.config['scroll_tabbar'], gobject.idle_add(self.set_tab_label_packing,
term_widget,
not self.config['scroll_tabbar'],
not self.config['scroll_tabbar'], not self.config['scroll_tabbar'],
gtk.PACK_START) gtk.PACK_START)

View File

@ -925,11 +925,11 @@ class Terminal(gtk.VBox):
return True return True
if self.config['putty_paste_style']: if self.config['putty_paste_style']:
btn_to_paste = self.MOUSEBUTTON_RIGHT middle_click = [self.popup_menu, (widget, event)]
btn_to_context_menu = self.MOUSEBUTTON_MIDDLE right_click = [self.paste_clipboard, (True, )]
else: else:
btn_to_paste = self.MOUSEBUTTON_MIDDLE middle_click = [self.paste_clipboard, (True, )]
btn_to_context_menu = self.MOUSEBUTTON_RIGHT right_click = [self.popup_menu, (widget, event)]
if event.button == self.MOUSEBUTTON_LEFT: if event.button == self.MOUSEBUTTON_LEFT:
# Ctrl+leftclick on a URL should open it # Ctrl+leftclick on a URL should open it
@ -937,14 +937,14 @@ class Terminal(gtk.VBox):
url = self.check_for_url(event) url = self.check_for_url(event)
if url: if url:
self.open_url(url, prepare=True) self.open_url(url, prepare=True)
elif event.button == btn_to_paste: elif event.button == self.MOUSEBUTTON_MIDDLE:
# middleclick should paste the clipboard # middleclick should paste the clipboard
self.paste_clipboard(True) middle_click[0](*middle_click[1])
return(True) return(True)
elif event.button == btn_to_context_menu: elif event.button == self.MOUSEBUTTON_RIGHT:
# rightclick should display a context menu if Ctrl is not pressed # rightclick should display a context menu if Ctrl is not pressed
if event.state & gtk.gdk.CONTROL_MASK == 0: if event.state & gtk.gdk.CONTROL_MASK == 0:
self.popup_menu(widget, event) right_click[0](*right_click[1])
return(True) return(True)
return(False) return(False)

View File

@ -536,7 +536,13 @@ class Window(Container, gtk.Window):
maker = Factory() maker = Factory()
# collect all paned children in breadth-first order # collect all paned children in breadth-first order
paned = [] paned = []
for child in self.get_children(): child = self.get_child()
# If our child is a Notebook, reset to work from its visible child
if maker.isinstance(child, 'Notebook'):
pagenum = child.get_current_page()
child = child.get_nth_page(pagenum)
if maker.isinstance(child, 'Paned'): if maker.isinstance(child, 'Paned'):
paned.append(child) paned.append(child)
for p in paned: for p in paned: