Merge branch containing huge number of fixes from Egmont
* Make Zoom/Maximize inactive if a single terminal * Add dimming for 256 colour palettes * Update TERM to more modern values * Correct some British spelt translated strings to American * Fix the palette for inactive terminals after Prefs window * Fix copy on selection to work on already open terminals * Fix warning trying to import the __init__.py file as a plugin * Fix unwanted seperator size change, and increase granularity of dim/transparent sliders * Fix cwd when new term spawned from a symlinked directory - has no impact, just keeping code aligned * Correct terminator_config man page regarding scrollback
This commit is contained in:
commit
fa3a6cb674
29
ChangeLog
29
ChangeLog
|
@ -1,6 +1,7 @@
|
||||||
terminator trunk:
|
terminator trunk:
|
||||||
* Features
|
Features
|
||||||
* Enhancements
|
|
||||||
|
Enhancements
|
||||||
* As part of GTK3 fixup, some backported improvements to the DBus
|
* As part of GTK3 fixup, some backported improvements to the DBus
|
||||||
interface, and remotinator (Steve Boddy)
|
interface, and remotinator (Steve Boddy)
|
||||||
* Can now open a window or tab using remotinator
|
* Can now open a window or tab using remotinator
|
||||||
|
@ -17,7 +18,14 @@ terminator trunk:
|
||||||
(Steve Boddy)
|
(Steve Boddy)
|
||||||
* Updated and grouped default shortcuts in man page (Steve Boddy)
|
* Updated and grouped default shortcuts in man page (Steve Boddy)
|
||||||
* Added smart copy mode switch to prefs (Steve Boddy, LP#1223129)
|
* Added smart copy mode switch to prefs (Steve Boddy, LP#1223129)
|
||||||
* Bug fixes
|
* Make Zoom/Maximize inactive if a single terminal (Egmont
|
||||||
|
Koblinger, LP#1518081)
|
||||||
|
* Add dimming for 256 colour palettes (Egmont Koblinger,
|
||||||
|
LP#1518111)
|
||||||
|
* Update TERM to more modern values (Egmont Koblinger,
|
||||||
|
LP#1518557)
|
||||||
|
|
||||||
|
Bug fixes
|
||||||
* Fix for those not running IBus, where the IBus workaround caused
|
* Fix for those not running IBus, where the IBus workaround caused
|
||||||
broken keys in other keymaps set with non-IBus tools (Steve
|
broken keys in other keymaps set with non-IBus tools (Steve
|
||||||
Boddy, LP#1494606)
|
Boddy, LP#1494606)
|
||||||
|
@ -29,6 +37,21 @@ terminator trunk:
|
||||||
* Fix focus dimming so when set to 1.0, it doesn't trash temporary
|
* Fix focus dimming so when set to 1.0, it doesn't trash temporary
|
||||||
palette changes by applications. Not needed in gtk3 (Steve Boddy,
|
palette changes by applications. Not needed in gtk3 (Steve Boddy,
|
||||||
LP#1512905)
|
LP#1512905)
|
||||||
|
* Correct some British spelt translated strings to American
|
||||||
|
(Egmont Koblinger, LP#1518085)
|
||||||
|
* Fix the palette for inactive terminals after Prefs window
|
||||||
|
(Egmont Koblinger, LP#1518108)
|
||||||
|
* Fix copy on selection to work on already open terminals (Egmont
|
||||||
|
Koblinger, LP#1518109)
|
||||||
|
* Fix warning trying to import the __init__.py file as a plugin
|
||||||
|
(Egmont Koblinger, LP#1518065)
|
||||||
|
* Fix unwanted seperator size change, and increase granularity of
|
||||||
|
dim/transparent sliders (Egmont Koblinger, LP#1518114)
|
||||||
|
* Fix cwd when new term spawned from a symlinked directory - has
|
||||||
|
no impact, just keeping code aligned (Egmont Koblinger,
|
||||||
|
LP#1518554)
|
||||||
|
* Correct terminator_config man page regarding scrollback (Egmont
|
||||||
|
Koblinger, LP#1518559)
|
||||||
|
|
||||||
terminator 0.98:
|
terminator 0.98:
|
||||||
* Features
|
* Features
|
||||||
|
|
|
@ -418,9 +418,9 @@ Default value: \fBblock\fR
|
||||||
Sets what type of terminal should be emulated.
|
Sets what type of terminal should be emulated.
|
||||||
Default value: \fBxterm\fR
|
Default value: \fBxterm\fR
|
||||||
.TP
|
.TP
|
||||||
.B xterm
|
.B term
|
||||||
This translates into the value that will be set for TERM in the environment of your terminals.
|
This translates into the value that will be set for TERM in the environment of your terminals.
|
||||||
Default value: \fBxterm\fR
|
Default value: \fBxterm-256color\fR
|
||||||
.TP
|
.TP
|
||||||
.B colorterm
|
.B colorterm
|
||||||
This translates into the value that will be set for COLORTERM in the environment of your terminals.
|
This translates into the value that will be set for COLORTERM in the environment of your terminals.
|
||||||
|
@ -463,11 +463,11 @@ Whether or not the mouse wheel scrolls alternate screen buffers (man, vim, mutt,
|
||||||
Default value: \fBTrue\fR
|
Default value: \fBTrue\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. Be careful with this setting; it's the primary factor in determining how much memory the terminal will use.
|
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.
|
||||||
Default value: \fB500\fR
|
Default value: \fB500\fR
|
||||||
.TP
|
.TP
|
||||||
.B scrollback_infinite
|
.B scrollback_infinite
|
||||||
If this is set to True, scrollback_lines will be ignored and VTE will continue to allocate RAM for scrollback history.
|
If this is set to True, scrollback_lines will be ignored and VTE will keep the entire scrollback history.
|
||||||
Default value: \fBFalse\fR
|
Default value: \fBFalse\fR
|
||||||
.TP
|
.TP
|
||||||
.B focus_on_close
|
.B focus_on_close
|
||||||
|
@ -531,4 +531,5 @@ Window objects may not have a parent attribute. \fBEvery\fR other object must sp
|
||||||
Terminator plugins can add their own configuration to the config file, and will appear as a sub-section. Please refer to the documentation of individual plugins for more information.
|
Terminator plugins can add their own configuration to the config file, and will appear as a sub-section. Please refer to the documentation of individual plugins for more information.
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.BR gnome\-terminal(1), http://www.voidspace.org.uk/python/configobj.html
|
.TP
|
||||||
|
\fBterminator\fP(1), http://www.voidspace.org.uk/python/configobj.html
|
||||||
|
|
|
@ -217,7 +217,7 @@ DEFAULTS = {
|
||||||
'cursor_shape' : 'block',
|
'cursor_shape' : 'block',
|
||||||
'cursor_color' : '#aaaaaa',
|
'cursor_color' : '#aaaaaa',
|
||||||
'emulation' : 'xterm',
|
'emulation' : 'xterm',
|
||||||
'term' : 'xterm',
|
'term' : 'xterm-256color',
|
||||||
'colorterm' : 'gnome-terminal',
|
'colorterm' : 'gnome-terminal',
|
||||||
'font' : 'Mono 10',
|
'font' : 'Mono 10',
|
||||||
'foreground_color' : '#aaaaaa',
|
'foreground_color' : '#aaaaaa',
|
||||||
|
|
|
@ -49,7 +49,7 @@ def parse_options():
|
||||||
parser.add_option('-v', '--version', action='store_true', dest='version',
|
parser.add_option('-v', '--version', action='store_true', dest='version',
|
||||||
help=_('Display program version'))
|
help=_('Display program version'))
|
||||||
parser.add_option('-m', '--maximise', action='store_true', dest='maximise',
|
parser.add_option('-m', '--maximise', action='store_true', dest='maximise',
|
||||||
help=_('Maximise the window'))
|
help=_('Maximize the window'))
|
||||||
parser.add_option('-f', '--fullscreen', action='store_true',
|
parser.add_option('-f', '--fullscreen', action='store_true',
|
||||||
dest='fullscreen', help=_('Make the window fill the screen'))
|
dest='fullscreen', help=_('Make the window fill the screen'))
|
||||||
parser.add_option('-b', '--borderless', action='store_true',
|
parser.add_option('-b', '--borderless', action='store_true',
|
||||||
|
|
|
@ -86,6 +86,8 @@ class PluginRegistry(borg.Borg):
|
||||||
sys.path.remove(plugindir)
|
sys.path.remove(plugindir)
|
||||||
continue
|
continue
|
||||||
for plugin in files:
|
for plugin in files:
|
||||||
|
if plugin == '__init__.py':
|
||||||
|
continue
|
||||||
pluginpath = os.path.join(plugindir, plugin)
|
pluginpath = os.path.join(plugindir, plugin)
|
||||||
if os.path.isfile(pluginpath) and plugin[-3:] == '.py':
|
if os.path.isfile(pluginpath) and plugin[-3:] == '.py':
|
||||||
dbg('PluginRegistry::load_plugins: Importing plugin %s' %
|
dbg('PluginRegistry::load_plugins: Importing plugin %s' %
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
<col id="0" translatable="yes">Black on white</col>
|
<col id="0" translatable="yes">Black on white</col>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<col id="0" translatable="yes">Grey on black</col>
|
<col id="0" translatable="yes">Gray on black</col>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<col id="0" translatable="yes">Green on black</col>
|
<col id="0" translatable="yes">Green on black</col>
|
||||||
|
@ -864,10 +864,12 @@
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkHScale" id="inactive_color_offset">
|
<object class="GtkHScale" id="inactive_color_offset">
|
||||||
|
<property name="width_request">100</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="adjustment">adjustment7</property>
|
<property name="adjustment">adjustment7</property>
|
||||||
<property name="round_digits">1</property>
|
<property name="round_digits">2</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
<property name="value_pos">left</property>
|
<property name="value_pos">left</property>
|
||||||
<signal name="change-value" handler="on_inactive_color_offset_change_value" swapped="no"/>
|
<signal name="change-value" handler="on_inactive_color_offset_change_value" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
|
@ -2955,7 +2957,8 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="adjustment">background_darkness_scale</property>
|
<property name="adjustment">background_darkness_scale</property>
|
||||||
<property name="round_digits">1</property>
|
<property name="round_digits">2</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
<property name="value_pos">bottom</property>
|
<property name="value_pos">bottom</property>
|
||||||
<signal name="change-value" handler="on_darken_background_scale_change_value" swapped="no"/>
|
<signal name="change-value" handler="on_darken_background_scale_change_value" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
@ -116,7 +116,7 @@ class PrefsEditor:
|
||||||
'resize_right' : _('Resize the terminal right'),
|
'resize_right' : _('Resize the terminal right'),
|
||||||
'move_tab_right' : _('Move the tab right'),
|
'move_tab_right' : _('Move the tab right'),
|
||||||
'move_tab_left' : _('Move the tab left'),
|
'move_tab_left' : _('Move the tab left'),
|
||||||
'toggle_zoom' : _('Maximise terminal'),
|
'toggle_zoom' : _('Maximize terminal'),
|
||||||
'scaled_zoom' : _('Zoom terminal'),
|
'scaled_zoom' : _('Zoom terminal'),
|
||||||
'next_tab' : _('Switch to the next tab'),
|
'next_tab' : _('Switch to the next tab'),
|
||||||
'prev_tab' : _('Switch to the previous tab'),
|
'prev_tab' : _('Switch to the previous tab'),
|
||||||
|
@ -861,9 +861,12 @@ class PrefsEditor:
|
||||||
self.config['scrollbar_position'] = value
|
self.config['scrollbar_position'] = value
|
||||||
self.config.save()
|
self.config.save()
|
||||||
|
|
||||||
def on_darken_background_scale_change_value(self, widget, scroll, value):
|
def on_darken_background_scale_change_value(self, widget, scroll, _value_not_rounded):
|
||||||
"""Background darkness setting changed"""
|
"""Background darkness setting changed"""
|
||||||
self.config['background_darkness'] = round(value, 2)
|
value = widget.get_value() # This one is rounded according to the UI.
|
||||||
|
if value > 1.0:
|
||||||
|
value = 1.0
|
||||||
|
self.config['background_darkness'] = value
|
||||||
self.config.save()
|
self.config.save()
|
||||||
|
|
||||||
def on_background_image_filechooser_file_set(self, widget):
|
def on_background_image_filechooser_file_set(self, widget):
|
||||||
|
@ -1020,16 +1023,18 @@ class PrefsEditor:
|
||||||
self.config['title_transmit_fg_color'] = color2hex(widget)
|
self.config['title_transmit_fg_color'] = color2hex(widget)
|
||||||
self.config.save()
|
self.config.save()
|
||||||
|
|
||||||
def on_inactive_color_offset_change_value(self, widget, scroll, value):
|
def on_inactive_color_offset_change_value(self, widget, scroll, _value_not_rounded):
|
||||||
"""Inactive color offset setting changed"""
|
"""Inactive color offset setting changed"""
|
||||||
|
value = widget.get_value() # This one is rounded according to the UI.
|
||||||
if value > 1.0:
|
if value > 1.0:
|
||||||
value = 1.0
|
value = 1.0
|
||||||
self.config['inactive_color_offset'] = round(value, 2)
|
self.config['inactive_color_offset'] = value
|
||||||
self.config.save()
|
self.config.save()
|
||||||
|
|
||||||
def on_handlesize_change_value(self, widget, scroll, value):
|
def on_handlesize_change_value(self, widget, scroll, _value_not_rounded):
|
||||||
"""Handle size changed"""
|
"""Handle size changed"""
|
||||||
value = int(value)
|
value = widget.get_value() # This one is rounded according to the UI.
|
||||||
|
value = int(value) # Cast to int.
|
||||||
if value > 5:
|
if value > 5:
|
||||||
value = 5
|
value = 5
|
||||||
self.config['handle_size'] = value
|
self.config['handle_size'] = value
|
||||||
|
|
|
@ -339,6 +339,10 @@ class Terminal(gtk.VBox):
|
||||||
self.vte.match_remove(self.matches[name])
|
self.vte.match_remove(self.matches[name])
|
||||||
del(self.matches[name])
|
del(self.matches[name])
|
||||||
|
|
||||||
|
def maybe_copy_clipboard(self):
|
||||||
|
if self.config['copy_on_selection']:
|
||||||
|
self.vte.copy_clipboard()
|
||||||
|
|
||||||
def connect_signals(self):
|
def connect_signals(self):
|
||||||
"""Connect all the gtk signals and drag-n-drop mechanics"""
|
"""Connect all the gtk signals and drag-n-drop mechanics"""
|
||||||
|
|
||||||
|
@ -375,10 +379,8 @@ class Terminal(gtk.VBox):
|
||||||
self.vte.connect('drag-data-received',
|
self.vte.connect('drag-data-received',
|
||||||
self.on_drag_data_received, self)
|
self.on_drag_data_received, self)
|
||||||
|
|
||||||
# FIXME: Shouldn't this be in configure()?
|
|
||||||
if self.config['copy_on_selection']:
|
|
||||||
self.cnxids.new(self.vte, 'selection-changed',
|
self.cnxids.new(self.vte, 'selection-changed',
|
||||||
lambda widget: self.vte.copy_clipboard())
|
lambda widget: self.maybe_copy_clipboard())
|
||||||
|
|
||||||
if self.composite_support:
|
if self.composite_support:
|
||||||
self.vte.connect('composited-changed', self.reconfigure)
|
self.vte.connect('composited-changed', self.reconfigure)
|
||||||
|
@ -667,18 +669,39 @@ class Terminal(gtk.VBox):
|
||||||
getattr(self.fgcolor_inactive, "blue")))
|
getattr(self.fgcolor_inactive, "blue")))
|
||||||
colors = self.config['palette'].split(':')
|
colors = self.config['palette'].split(':')
|
||||||
self.palette_active = []
|
self.palette_active = []
|
||||||
self.palette_inactive = []
|
|
||||||
for color in colors:
|
for color in colors:
|
||||||
if color:
|
if color:
|
||||||
newcolor = gtk.gdk.color_parse(color)
|
newcolor = gtk.gdk.color_parse(color)
|
||||||
newcolor_inactive = newcolor.copy()
|
|
||||||
for bit in ['red', 'green', 'blue']:
|
|
||||||
setattr(newcolor_inactive, bit,
|
|
||||||
getattr(newcolor_inactive, bit) * factor)
|
|
||||||
self.palette_active.append(newcolor)
|
self.palette_active.append(newcolor)
|
||||||
self.palette_inactive.append(newcolor_inactive)
|
if len(colors) == 16:
|
||||||
|
# RGB values for indices 16..255 copied from vte source in order to dim them
|
||||||
|
shades = [0, 95, 135, 175, 215, 255]
|
||||||
|
for r in xrange(0, 6):
|
||||||
|
for g in xrange(0, 6):
|
||||||
|
for b in xrange(0, 6):
|
||||||
|
newcolor = gtk.gdk.Color(shades[r] / 255.0,
|
||||||
|
shades[g] / 255.0,
|
||||||
|
shades[b] / 255.0)
|
||||||
|
self.palette_active.append(newcolor)
|
||||||
|
for y in xrange(8, 248, 10):
|
||||||
|
newcolor = gtk.gdk.Color(y / 255.0,
|
||||||
|
y / 255.0,
|
||||||
|
y / 255.0)
|
||||||
|
self.palette_active.append(newcolor)
|
||||||
|
self.palette_active = self.palette_active[:255]
|
||||||
|
self.palette_inactive = []
|
||||||
|
for color in self.palette_active:
|
||||||
|
newcolor = gtk.gdk.Color()
|
||||||
|
for bit in ['red', 'green', 'blue']:
|
||||||
|
setattr(newcolor, bit,
|
||||||
|
getattr(color, bit) * factor)
|
||||||
|
self.palette_inactive.append(newcolor)
|
||||||
|
if self.terminator.last_focused_term == self:
|
||||||
self.vte.set_colors(self.fgcolor_active, self.bgcolor,
|
self.vte.set_colors(self.fgcolor_active, self.bgcolor,
|
||||||
self.palette_active)
|
self.palette_active)
|
||||||
|
else:
|
||||||
|
self.vte.set_colors(self.fgcolor_inactive, self.bgcolor,
|
||||||
|
self.palette_inactive)
|
||||||
self.set_cursor_color()
|
self.set_cursor_color()
|
||||||
if hasattr(self.vte, 'set_cursor_shape'):
|
if hasattr(self.vte, 'set_cursor_shape'):
|
||||||
self.vte.set_cursor_shape(getattr(vte, 'CURSOR_SHAPE_' +
|
self.vte.set_cursor_shape(getattr(vte, 'CURSOR_SHAPE_' +
|
||||||
|
@ -1384,6 +1407,7 @@ class Terminal(gtk.VBox):
|
||||||
envv = []
|
envv = []
|
||||||
envv.append('TERM=%s' % self.config['term'])
|
envv.append('TERM=%s' % self.config['term'])
|
||||||
envv.append('COLORTERM=%s' % self.config['colorterm'])
|
envv.append('COLORTERM=%s' % self.config['colorterm'])
|
||||||
|
envv.append('PWD=%s' % self.cwd)
|
||||||
envv.append('TERMINATOR_UUID=%s' % self.uuid.urn)
|
envv.append('TERMINATOR_UUID=%s' % self.uuid.urn)
|
||||||
if self.terminator.dbus_name:
|
if self.terminator.dbus_name:
|
||||||
envv.append('TERMINATOR_DBUS_NAME=%s' % self.terminator.dbus_name)
|
envv.append('TERMINATOR_DBUS_NAME=%s' % self.terminator.dbus_name)
|
||||||
|
|
|
@ -150,12 +150,16 @@ class TerminalPopupMenu(object):
|
||||||
menu.append(gtk.MenuItem())
|
menu.append(gtk.MenuItem())
|
||||||
|
|
||||||
if not terminal.is_zoomed():
|
if not terminal.is_zoomed():
|
||||||
|
sensitive = not terminal.get_toplevel() == terminal.get_parent()
|
||||||
|
|
||||||
item = gtk.MenuItem(_('_Zoom terminal'))
|
item = gtk.MenuItem(_('_Zoom terminal'))
|
||||||
item.connect('activate', terminal.zoom)
|
item.connect('activate', terminal.zoom)
|
||||||
|
item.set_sensitive(sensitive)
|
||||||
menu.append(item)
|
menu.append(item)
|
||||||
|
|
||||||
item = gtk.MenuItem(_('Ma_ximise terminal'))
|
item = gtk.MenuItem(_('Ma_ximize terminal'))
|
||||||
item.connect('activate', terminal.maximise)
|
item.connect('activate', terminal.maximise)
|
||||||
|
item.set_sensitive(sensitive)
|
||||||
menu.append(item)
|
menu.append(item)
|
||||||
|
|
||||||
menu.append(gtk.MenuItem())
|
menu.append(gtk.MenuItem())
|
||||||
|
|
|
@ -25,6 +25,7 @@ class Terminator(Borg):
|
||||||
groups = None
|
groups = None
|
||||||
config = None
|
config = None
|
||||||
keybindings = None
|
keybindings = None
|
||||||
|
last_focused_term = None
|
||||||
|
|
||||||
origcwd = None
|
origcwd = None
|
||||||
dbus_path = None
|
dbus_path = None
|
||||||
|
|
Loading…
Reference in New Issue