Some fixes from Egmont patch-o-rama

* Fix rotate terminals under tabs, and (gtk3-only) focus loss on rotate
* Change the scroll_on_output default to false
* Remove unsupported utmp for now, till alternative solution
* Fix the "Run command as login shell"
This commit is contained in:
Stephen Boddy 2015-12-01 02:18:12 +01:00
commit 07ba88e3d2
7 changed files with 34 additions and 50 deletions

View File

@ -12,6 +12,8 @@ terminator GTK3:
LP#1518111) LP#1518111)
* Update TERM/COLORTERM to more modern values (Egmont Koblinger, * Update TERM/COLORTERM 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 a GI version warning for Notify library (Mattias Eriksson) * Fix a GI version warning for Notify library (Mattias Eriksson)
@ -42,7 +44,11 @@ terminator GTK3:
Koblinger, LP#1518596) Koblinger, LP#1518596)
* Fix right-click for mouse aware apps ((Egmont Koblinger, * Fix right-click for mouse aware apps ((Egmont Koblinger,
LP#1518700) LP#1518700)
* Fix rotate terminals under tabs, and (gtk3-only) focus loss on
rotate (Egmont Koblinger, LP#1316573, LP#1520360)
* Remove unsupported utmp for now, till alternative solution
* Fix the "Run command as login shell" (Egmont Koblinger,
LP#1520991)
terminator 0.97: terminator 0.97:
* Allow font dimming in inactive terminals * Allow font dimming in inactive terminals

View File

@ -420,7 +420,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 scrollback_lines .B scrollback_lines
Number of scrollback lines to keep around. You can scroll back in the terminal by this number of lines; lines that don't fit in the scrollback are discarded. Warning: with large values, rewrapping on resize might be slow. Number of scrollback lines to keep around. You can scroll back in the terminal by this number of lines; lines that don't fit in the scrollback are discarded. Warning: with large values, rewrapping on resize might be slow.

View File

@ -220,7 +220,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',
@ -229,7 +229,6 @@ DEFAULTS = {
#729fcf:#ad7fa8:#34e2e2:#eeeeec', #729fcf:#ad7fa8:#34e2e2:#eeeeec',
'word_chars' : ',./?%&#:_', 'word_chars' : ',./?%&#:_',
'mouse_autohide' : True, 'mouse_autohide' : True,
'update_records' : True,
'login_shell' : False, 'login_shell' : False,
'use_custom_command' : False, 'use_custom_command' : False,
'custom_command' : '', 'custom_command' : '',

View File

@ -1962,7 +1962,7 @@
<object class="GtkTable" id="table5"> <object class="GtkTable" id="table5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="n_rows">5</property> <property name="n_rows">4</property>
<property name="n_columns">2</property> <property name="n_columns">2</property>
<property name="column_spacing">12</property> <property name="column_spacing">12</property>
<property name="row_spacing">6</property> <property name="row_spacing">6</property>
@ -1982,24 +1982,6 @@
<property name="y_options"/> <property name="y_options"/>
</packing> </packing>
</child> </child>
<child>
<object class="GtkCheckButton" id="update_records_checkbutton">
<property name="label" translatable="yes">_Update login records when command is launched</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_update_records_checkbutton_toggled" swapped="no"/>
</object>
<packing>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="y_options"/>
</packing>
</child>
<child> <child>
<object class="GtkCheckButton" id="use_custom_command_checkbutton"> <object class="GtkCheckButton" id="use_custom_command_checkbutton">
<property name="label" translatable="yes">Ru_n a custom command instead of my shell</property> <property name="label" translatable="yes">Ru_n a custom command instead of my shell</property>
@ -2013,8 +1995,8 @@
</object> </object>
<packing> <packing>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">2</property> <property name="top_attach">1</property>
<property name="bottom_attach">3</property> <property name="bottom_attach">2</property>
<property name="y_options"/> <property name="y_options"/>
</packing> </packing>
</child> </child>
@ -2029,8 +2011,8 @@
<property name="mnemonic_widget">custom_command_entry</property> <property name="mnemonic_widget">custom_command_entry</property>
</object> </object>
<packing> <packing>
<property name="top_attach">3</property> <property name="top_attach">2</property>
<property name="bottom_attach">4</property> <property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property> <property name="x_options">GTK_FILL</property>
<property name="y_options"/> <property name="y_options"/>
</packing> </packing>
@ -2046,8 +2028,8 @@
<property name="mnemonic_widget">exit_action_combobox</property> <property name="mnemonic_widget">exit_action_combobox</property>
</object> </object>
<packing> <packing>
<property name="top_attach">4</property> <property name="top_attach">3</property>
<property name="bottom_attach">5</property> <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property> <property name="x_options">GTK_FILL</property>
<property name="y_options"/> <property name="y_options"/>
</packing> </packing>
@ -2067,8 +2049,8 @@
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">3</property> <property name="top_attach">2</property>
<property name="bottom_attach">4</property> <property name="bottom_attach">3</property>
<property name="y_options"/> <property name="y_options"/>
</packing> </packing>
</child> </child>
@ -2089,8 +2071,8 @@
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">4</property> <property name="top_attach">3</property>
<property name="bottom_attach">5</property> <property name="bottom_attach">4</property>
<property name="y_options"/> <property name="y_options"/>
</packing> </packing>
</child> </child>

View File

@ -454,9 +454,6 @@ class PrefsEditor:
# Login shell # Login shell
widget = guiget('login_shell_checkbutton') widget = guiget('login_shell_checkbutton')
widget.set_active(self.config['login_shell']) widget.set_active(self.config['login_shell'])
# Login records
widget = guiget('update_records_checkbutton')
widget.set_active(self.config['update_records'])
# Use Custom command # Use Custom command
widget = guiget('use_custom_command_checkbutton') widget = guiget('use_custom_command_checkbutton')
widget.set_active(self.config['use_custom_command']) widget.set_active(self.config['use_custom_command'])
@ -740,11 +737,6 @@ class PrefsEditor:
self.config['login_shell'] = widget.get_active() self.config['login_shell'] = widget.get_active()
self.config.save() self.config.save()
def on_update_records_checkbutton_toggled(self, widget):
"""Update records setting changed"""
self.config['update_records'] = widget.get_active()
self.config.save()
def on_scroll_background_checkbutton_toggled(self, widget): def on_scroll_background_checkbutton_toggled(self, widget):
"""Scroll background setting changed""" """Scroll background setting changed"""
self.config['scroll_background'] = widget.get_active() self.config['scroll_background'] = widget.get_active()

View File

@ -1334,8 +1334,6 @@ class Terminal(Gtk.VBox):
self.cwd = cwd self.cwd = cwd
def spawn_child(self, widget=None, respawn=False, debugserver=False): def spawn_child(self, widget=None, respawn=False, debugserver=False):
update_records = self.config['update_records']
login = self.config['login_shell']
args = [] args = []
shell = None shell = None
command = None command = None
@ -1407,11 +1405,12 @@ class Terminal(Gtk.VBox):
envv.append('TERMINATOR_DBUS_PATH=%s' % self.terminator.dbus_path) envv.append('TERMINATOR_DBUS_PATH=%s' % self.terminator.dbus_path)
dbg('Forking shell: "%s" with args: %s' % (shell, args)) dbg('Forking shell: "%s" with args: %s' % (shell, args))
args.insert(0, shell)
result, self.pid = self.vte.spawn_sync(Vte.PtyFlags.DEFAULT, result, self.pid = self.vte.spawn_sync(Vte.PtyFlags.DEFAULT,
self.cwd, self.cwd,
args, args,
envv, envv,
GLib.SpawnFlags.DO_NOT_REAP_CHILD, GLib.SpawnFlags.FILE_AND_ARGV_ZERO | GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None, None,
None, None,
None) None)

View File

@ -479,10 +479,10 @@ class Window(Container, Gtk.Window):
for term in order: for term in order:
container.add(term) container.add(term)
container.show_all() container.show_all()
sibling.grab_focus()
while Gtk.events_pending(): while Gtk.events_pending():
Gtk.main_iteration_do(False) Gtk.main_iteration_do(False)
sibling.grab_focus()
self.set_pos_by_ratio = False self.set_pos_by_ratio = False
@ -535,7 +535,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:
@ -546,10 +552,10 @@ class Window(Container, Gtk.Window):
for p in paned: for p in paned:
p.rotate(widget, clockwise) p.rotate(widget, clockwise)
self.show_all() self.show_all()
widget.grab_focus()
while Gtk.events_pending(): while Gtk.events_pending():
Gtk.main_iteration_do(False) Gtk.main_iteration_do(False)
widget.grab_focus()
self.set_pos_by_ratio = False self.set_pos_by_ratio = False
def get_visible_terminals(self): def get_visible_terminals(self):