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:
commit
07ba88e3d2
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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' : '',
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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,9 +535,15 @@ 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 maker.isinstance(child, 'Paned'):
|
|
||||||
paned.append(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'):
|
||||||
|
paned.append(child)
|
||||||
for p in paned:
|
for p in paned:
|
||||||
for child in p.get_children():
|
for child in p.get_children():
|
||||||
if child not in paned and maker.isinstance(child, 'Paned'):
|
if child not in paned and maker.isinstance(child, '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):
|
||||||
|
|
Loading…
Reference in New Issue