My tree has diverged a little while pulling in these changes. also some text editors are being unhelpful here with tabs. This should be two spaces for new items and 4 for continuations.I keep getting caught out by vim auto-indenting tabs for some reason.
This commit is contained in:
commit
8c63403f1c
74
ChangeLog
74
ChangeLog
|
@ -1,3 +1,9 @@
|
||||||
|
terminator 0.9:
|
||||||
|
* Added support for ~/.terminatorrc
|
||||||
|
* Added kwybindings for terms size and scrollbar manipulation. Thanks
|
||||||
|
Emmanuel Bretelle.
|
||||||
|
|
||||||
|
|
||||||
terminator 0.8.1:
|
terminator 0.8.1:
|
||||||
* Fixed ChangeLog
|
* Fixed ChangeLog
|
||||||
* Revert URI matching behaviour to the same as gnome-terminal
|
* Revert URI matching behaviour to the same as gnome-terminal
|
||||||
|
@ -17,49 +23,53 @@ terminator 0.8:
|
||||||
terminator 0.7:
|
terminator 0.7:
|
||||||
|
|
||||||
* Fullscreen support, via a patch from Thomas Meire. Closes LP #178914
|
* Fullscreen support, via a patch from Thomas Meire. Closes LP #178914
|
||||||
* Improved behaviour when closing terminals/window. Result of work by Thomas
|
* Improved behaviour when closing terminals/window. Result of work by
|
||||||
Meire. Closes LP #161121
|
Thomas Meire. Closes LP #161121
|
||||||
* Freedesktop .desktop file and appropriate setup.py entry for installing
|
* Freedesktop .desktop file and appropriate setup.py entry for
|
||||||
it. Closes LP #178943
|
installing it. Closes LP #178943
|
||||||
* Translation support, with Spanish, Dutch, Italian and Romanian
|
* Translation support, with Spanish, Dutch, Italian and Romanian
|
||||||
translations. Closes LP #161120
|
translations. Closes LP #161120
|
||||||
* Stop clashing with gnome-terminal's paste shortcut key, move horizontal
|
* Stop clashing with gnome-terminal's paste shortcut key, move
|
||||||
splitting shortcut too, and add support for gnome-terminal's copy/paste
|
horizontal splitting shortcut too, and add support for
|
||||||
shortcuts. Closes LP #179310
|
gnome-terminal's copy/paste shortcuts. Closes LP #179310
|
||||||
* Borderless support (tell your window manager not to decorate Terminator)
|
* Borderless support (tell your window manager not to decorate
|
||||||
|
Terminator)
|
||||||
* Font zooming support. Closes LP #178792
|
* Font zooming support. Closes LP #178792
|
||||||
* Set the VTE widget to have a tooltip of its window title. This may be
|
* Set the VTE widget to have a tooltip of its window title. This may be
|
||||||
reverted if it is annoying
|
reverted if it is annoying
|
||||||
* Support GNOME Terminal profile settings for backgrounds. Closes LP #180717
|
* Support GNOME Terminal profile settings for backgrounds.
|
||||||
* Use our own default values if there is no gnome-terminal profile. Closes
|
Closes LP #180717
|
||||||
LP #179315
|
* Use our own default values if there is no gnome-terminal profile.
|
||||||
|
Closes LP #179315
|
||||||
|
|
||||||
terminator 0.6:
|
terminator 0.6:
|
||||||
|
|
||||||
* Use new gnome-terminal gconf key to find available profiles
|
* Use new gnome-terminal gconf key to find available profiles
|
||||||
* Move a few more hardcoded items to our settings array (not that it can be
|
* Move a few more hardcoded items to our settings array (not that
|
||||||
overridden yet)
|
it can be overridden yet)
|
||||||
* Fix handling of exiting child processes to properly track gnome-terminal
|
* Fix handling of exiting child processes to properly track
|
||||||
settings
|
gnome-terminal settings
|
||||||
* Add Ctrl-Tab and Ctrl-Shift-Tab as options for switching terminals (patch
|
* Add Ctrl-Tab and Ctrl-Shift-Tab as options for switching terminals
|
||||||
from Kees Cook)
|
(patch from Kees Cook)
|
||||||
* Stop using parent.show_all() when removing/adding a terminal and instead
|
* Stop using parent.show_all() when removing/adding a terminal and
|
||||||
show the actual widgets that have been created. This prevents scrollbars
|
instead show the actual widgets that have been created. This
|
||||||
from re-appearing after they have been hidden
|
prevents scrollbars from re-appearing after they have been hidden
|
||||||
|
|
||||||
terminator 0.5:
|
terminator 0.5:
|
||||||
|
|
||||||
* The terminator window is now able to resize smaller, thanks to Kees Cook
|
* The terminator window is now able to resize smaller,
|
||||||
for the fix.
|
thanks to Kees Cook for the fix.
|
||||||
* Email addresses are now matched and opened correctly. Closes LP #139015
|
* Email addresses are now matched and opened correctly.
|
||||||
|
Closes LP #139015
|
||||||
* Double clicking a URL now selects the whole URL. Closes LP #129533
|
* Double clicking a URL now selects the whole URL. Closes LP #129533
|
||||||
* The default behaviour is now to open a single 80x24 terminal rather than
|
* The default behaviour is now to open a single 80x24 terminal rather
|
||||||
four terminals in a maximised window. Closes LP #126219 and should force
|
than four terminals in a maximised window. Closes LP #126219 and
|
||||||
me to fix LP #87720
|
should force me to fix LP #87720
|
||||||
* There are now hotkeys for switching between terminals, splitting terminals
|
* There are now hotkeys for switching between terminals, splitting
|
||||||
and closing them. Closes LP #149931 and #148622(thanks to Huanghe for
|
terminals and closing them. Closes LP #149931 and #148622(thanks
|
||||||
patches for this)
|
to Huanghe for patches for this)
|
||||||
* If there is only one terminal, closing it will not produce a quit message
|
* If there is only one terminal, closing it will not produce a quit
|
||||||
|
message
|
||||||
|
|
||||||
terminator 0.4:
|
terminator 0.4:
|
||||||
|
|
||||||
|
@ -76,8 +86,8 @@ terminator 0.4:
|
||||||
|
|
||||||
terminator 0.3:
|
terminator 0.3:
|
||||||
|
|
||||||
* Implemented terminal closing, which correctly reparents its sibling (if
|
* Implemented terminal closing, which correctly reparents its sibling
|
||||||
any)
|
(if any)
|
||||||
* Updated documentation to reflect a serious bug with shells that aren't
|
* Updated documentation to reflect a serious bug with shells that aren't
|
||||||
bash (or at least zsh)
|
bash (or at least zsh)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
* Edit doc/terminatorrc.5 manpage to contain the information about the options
|
||||||
|
* Write a Tab feature for terminator
|
|
@ -53,6 +53,21 @@ Split terminals H\fBo\fRrizontally.
|
||||||
.B Ctrl+Shift+E
|
.B Ctrl+Shift+E
|
||||||
Split terminals V\fBe\fRrtically.
|
Split terminals V\fBe\fRrtically.
|
||||||
.TP
|
.TP
|
||||||
|
.B Ctrl+Shift+Right
|
||||||
|
Move first parent HPaned handle \fBRight\fR.
|
||||||
|
.TP
|
||||||
|
.B Ctrl+Shift+Left
|
||||||
|
Move first parent HPaned handle \fBLeft\fR.
|
||||||
|
.TP
|
||||||
|
.B Ctrl+Shift+Up
|
||||||
|
Move first VPaned handle \fBUp\fR.
|
||||||
|
.TP
|
||||||
|
.B Ctrl+Shift+Down
|
||||||
|
Move first VPaned handle \fBDown\fR.
|
||||||
|
.TP
|
||||||
|
.B Ctrl+Shift+S
|
||||||
|
Hide/Show \fBS\fRcrollbar.
|
||||||
|
.TP
|
||||||
.B Ctrl+Shift+N
|
.B Ctrl+Shift+N
|
||||||
Move to \fBn\fRext terminal.
|
Move to \fBn\fRext terminal.
|
||||||
.TP
|
.TP
|
||||||
|
@ -68,7 +83,7 @@ Close the current window.
|
||||||
.B F11
|
.B F11
|
||||||
Toggle fullscreen
|
Toggle fullscreen
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.BR gnome\-terminal(1),
|
.BR gnome\-terminal(1),terminatorrc(5)
|
||||||
.SH "AUTHOR"
|
.SH "AUTHOR"
|
||||||
Terminator was written by Chris Jones <cmsj@tenshu.net>
|
Terminator was written by Chris Jones <cmsj@tenshu.net>
|
||||||
.PP
|
.PP
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
.TH "TERMINATORRC" "5" "Feb 22, 2008" "Nicolas Valcarcel <nvalcarcel@ubuntu.com>" ""
|
||||||
|
.SH "NAME"
|
||||||
|
~/.terminatorrc \- the config file for terminator terminal emulator.
|
||||||
|
.SH "DESCRIPTION"
|
||||||
|
This manual page documents briefly the
|
||||||
|
.B termiatorrc config file.
|
||||||
|
.PP
|
||||||
|
\fBterminatorrc\fP is an optional file for configure the terminator termial emulator. It is used if there is no gconf PROFILE on the system for configuring the options of the terminal(s).
|
||||||
|
.SH "OPTIONS"
|
||||||
|
The options are defined one per line as \fB'OPTION = VALUE'\fR. The options are described below:
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B gt_dir
|
||||||
|
Default value: \fB/apps/gnome\-terminal\fR
|
||||||
|
.TP
|
||||||
|
.B _profile_dir
|
||||||
|
Default value: \fB%s/profiles\fR
|
||||||
|
.TP
|
||||||
|
.B allow_bold
|
||||||
|
Boolean value. Default value: \fBTrue\fR
|
||||||
|
.TP
|
||||||
|
.B silent_bell
|
||||||
|
Boolean value. Default value: \fBTrue\fR
|
||||||
|
.TP
|
||||||
|
.B background_color
|
||||||
|
Heximal RGB value for the background color. Default value: \fB#000000\fR
|
||||||
|
.TP
|
||||||
|
.B background_darkness
|
||||||
|
Number for the background darkness. Default value: \fB0.5\fR
|
||||||
|
.TP
|
||||||
|
.B background_type
|
||||||
|
Default value: \fBsolid\fR
|
||||||
|
.TP
|
||||||
|
.B backspace_binding
|
||||||
|
Default value: \fBascii\-del\fR
|
||||||
|
.TP
|
||||||
|
.B delete_binding
|
||||||
|
Default value: \fBdelete\-sequence\fR
|
||||||
|
.TP
|
||||||
|
.B cursor_blink
|
||||||
|
Boolean value. Default value: \fBFalse\fR
|
||||||
|
.TP
|
||||||
|
.B emulation
|
||||||
|
Default value: \fBxterm\fR
|
||||||
|
.TP
|
||||||
|
.B font
|
||||||
|
Value for the font time and size in the format \fBFONTNAME SIZENUMBER\fR. Default value: \fBSerif 10\fR
|
||||||
|
.TP
|
||||||
|
.B foreground_color
|
||||||
|
Hexadecimal RGB value for the font color. Default value: \fB#AAAAAA\fR
|
||||||
|
.TP
|
||||||
|
.B scrollbar_position
|
||||||
|
Scrollbar position. Options available: right, left and hidden. Default value: \fBright\fR
|
||||||
|
.TP
|
||||||
|
.B scroll_background
|
||||||
|
Boolean value. Default value: \fBTrue\fR
|
||||||
|
.TP
|
||||||
|
.B scroll_on_keystroke
|
||||||
|
Boolean value. Default value: \fBFalse\fR
|
||||||
|
.TP
|
||||||
|
.B scroll_on_output
|
||||||
|
Boolean value. Default value: \fBFalse\fR
|
||||||
|
.TP
|
||||||
|
.B scrollback_lines
|
||||||
|
Number of lines stored for the scrollbar. Default value: \fB100\fR
|
||||||
|
.TP
|
||||||
|
.B focus
|
||||||
|
Default value: \fBsloppy\fR
|
||||||
|
.TP
|
||||||
|
.B child_restart
|
||||||
|
Default value: \fBFalse\fR
|
||||||
|
.TP
|
||||||
|
.B palette
|
||||||
|
Default value: \fB#000000000000:#CDCD00000000:#0000CDCD0000:#CDCDCDCD0000:#30BF30BFA38E:#A53C212FA53C:#0000CDCDCDCD:#FAFAEBEBD7D7:#404040404040:#FFFF00000000:#0000FFFF0000:#FFFFFFFF0000:#00000000FFFF:#FFFF0000FFFF:#0000FFFFFFFF:#FFFFFFFFFFFF\fR
|
||||||
|
.TP
|
||||||
|
.B word_chars
|
||||||
|
Default value: \fB\-A\-Za\-z0\-9,./?%&#:_\fR
|
||||||
|
.TP
|
||||||
|
.B mouse_autohide
|
||||||
|
Boolean value. Default value: \fBTrue\fR
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR gnome\-terminal(1),
|
79
terminator
79
terminator
|
@ -161,6 +161,7 @@ class TerminatorTerm:
|
||||||
self._vte.connect ("key-press-event", self.on_vte_key_press)
|
self._vte.connect ("key-press-event", self.on_vte_key_press)
|
||||||
self._vte.connect ("button-press-event", self.on_vte_button_press)
|
self._vte.connect ("button-press-event", self.on_vte_button_press)
|
||||||
self._vte.connect ("popup-menu", self.on_vte_popup_menu)
|
self._vte.connect ("popup-menu", self.on_vte_popup_menu)
|
||||||
|
self._vte.connect ("composited-changed", self.on_composited_changed)
|
||||||
# self._vte.connect ("window-title-changed", self.on_vte_title_change)
|
# self._vte.connect ("window-title-changed", self.on_vte_title_change)
|
||||||
|
|
||||||
exit_action = self.gconf_client.get_string (self.profile + "/exit_action")
|
exit_action = self.gconf_client.get_string (self.profile + "/exit_action")
|
||||||
|
@ -291,8 +292,13 @@ class TerminatorTerm:
|
||||||
self._vte.set_scroll_background (self.reconf ('scroll_background'))
|
self._vte.set_scroll_background (self.reconf ('scroll_background'))
|
||||||
self._vte.set_background_transparent (False)
|
self._vte.set_background_transparent (False)
|
||||||
if background_type == "transparent":
|
if background_type == "transparent":
|
||||||
|
darkness = self.reconf ('background_darkness')
|
||||||
|
if self._vte.is_composited():
|
||||||
|
self._vte.set_background_transparent (False)
|
||||||
|
self._vte.set_opacity(int(darkness * 65535))
|
||||||
|
else:
|
||||||
self._vte.set_background_transparent (True)
|
self._vte.set_background_transparent (True)
|
||||||
self._vte.set_background_saturation (1 - (self.reconf ('background_darkness')))
|
self._vte.set_background_saturation (1 - darkness)
|
||||||
|
|
||||||
colors = palette.split (':')
|
colors = palette.split (':')
|
||||||
palette = []
|
palette = []
|
||||||
|
@ -340,6 +346,9 @@ class TerminatorTerm:
|
||||||
def on_gconf_notification (self, client, cnxn_id, entry, what):
|
def on_gconf_notification (self, client, cnxn_id, entry, what):
|
||||||
self.reconfigure_vte ()
|
self.reconfigure_vte ()
|
||||||
|
|
||||||
|
def on_composited_changed (self, widget):
|
||||||
|
self.reconfigure_vte ()
|
||||||
|
|
||||||
def on_vte_button_press (self, term, event):
|
def on_vte_button_press (self, term, event):
|
||||||
# Left mouse button should transfer focus to this vte widget
|
# Left mouse button should transfer focus to this vte widget
|
||||||
if event.button == 1:
|
if event.button == 1:
|
||||||
|
@ -404,6 +413,12 @@ class TerminatorTerm:
|
||||||
elif keyname == 'V':
|
elif keyname == 'V':
|
||||||
self._vte.paste_clipboard ()
|
self._vte.paste_clipboard ()
|
||||||
return (True)
|
return (True)
|
||||||
|
elif keyname == 'S':
|
||||||
|
self.do_scrollbar_toggle ()
|
||||||
|
return (True)
|
||||||
|
elif keyname in ('Up', 'Down', 'Left', 'Right'):
|
||||||
|
self.terminator.resizeterm (self, keyname)
|
||||||
|
return (True)
|
||||||
|
|
||||||
if keyname and (keyname == 'Tab' or keyname.endswith('_Tab')):
|
if keyname and (keyname == 'Tab' or keyname.endswith('_Tab')):
|
||||||
if event.state == gtk.gdk.CONTROL_MASK:
|
if event.state == gtk.gdk.CONTROL_MASK:
|
||||||
|
@ -477,7 +492,7 @@ class TerminatorTerm:
|
||||||
item = gtk.MenuItem ()
|
item = gtk.MenuItem ()
|
||||||
menu.append (item)
|
menu.append (item)
|
||||||
|
|
||||||
item = gtk.CheckMenuItem (_("Show scrollbar"))
|
item = gtk.CheckMenuItem (_("Show _scrollbar"))
|
||||||
item.set_active (self._scrollbar.get_property ('visible'))
|
item.set_active (self._scrollbar.get_property ('visible'))
|
||||||
item.connect ("toggled", lambda menu_item: self.do_scrollbar_toggle ())
|
item.connect ("toggled", lambda menu_item: self.do_scrollbar_toggle ())
|
||||||
menu.append (item)
|
menu.append (item)
|
||||||
|
@ -534,6 +549,13 @@ class Terminator:
|
||||||
|
|
||||||
self.window.set_property ('allow-shrink', True)
|
self.window.set_property ('allow-shrink', True)
|
||||||
|
|
||||||
|
# Set RGBA colormap if possible so VTE can use real alpha
|
||||||
|
# channels for transparency.
|
||||||
|
screen = self.window.get_screen()
|
||||||
|
colormap = screen.get_rgba_colormap()
|
||||||
|
if colormap:
|
||||||
|
self.window.set_colormap(colormap)
|
||||||
|
|
||||||
# Start out with just one terminal
|
# Start out with just one terminal
|
||||||
# FIXME: This should be really be decided from some kind of profile
|
# FIXME: This should be really be decided from some kind of profile
|
||||||
term = (TerminatorTerm (self, self.profile, self.command))
|
term = (TerminatorTerm (self, self.profile, self.command))
|
||||||
|
@ -729,6 +751,59 @@ class Terminator:
|
||||||
#self.window.set_title(self.term_list[previous]._vte.get_window_title())
|
#self.window.set_title(self.term_list[previous]._vte.get_window_title())
|
||||||
self.term_list[previous]._vte.grab_focus ()
|
self.term_list[previous]._vte.grab_focus ()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def resizeterm (self, widget, keyname):
|
||||||
|
vertical = False
|
||||||
|
if keyname in ('Up', 'Down'):
|
||||||
|
vertical = True
|
||||||
|
elif keyname in ('Left', 'Right'):
|
||||||
|
vertical = False
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
parent = self.get_first_parent_paned(widget.get_box (),vertical)
|
||||||
|
if parent == None:
|
||||||
|
return
|
||||||
|
|
||||||
|
#We have a corresponding parent pane
|
||||||
|
#
|
||||||
|
#allocation = parent.get_allocation()
|
||||||
|
|
||||||
|
if keyname in ('Up', 'Down'):
|
||||||
|
maxi = parent.get_child1().get_allocation().height + parent.get_child2().get_allocation().height - 1
|
||||||
|
|
||||||
|
else:
|
||||||
|
maxi = parent.get_child1().get_allocation().width + parent.get_child2().get_allocation().width - 1
|
||||||
|
move = 10
|
||||||
|
if keyname in ('Up', 'Left'):
|
||||||
|
move = -10
|
||||||
|
|
||||||
|
|
||||||
|
move = max(2, parent.get_position() + move)
|
||||||
|
move = min(maxi, move)
|
||||||
|
|
||||||
|
parent.set_position(move)
|
||||||
|
|
||||||
|
|
||||||
|
def get_first_parent_paned (self, widget, vertical = None):
|
||||||
|
"""This method returns the first parent pane of a widget.
|
||||||
|
if vertical is True returns the first VPaned
|
||||||
|
if vertical is False return the first Hpaned
|
||||||
|
if is None return the First Paned"""
|
||||||
|
if isinstance (widget, gtk.Window):
|
||||||
|
return None
|
||||||
|
parent = widget.get_parent()
|
||||||
|
if isinstance (parent, gtk.Paned) and vertical is None:
|
||||||
|
return parent
|
||||||
|
if isinstance (parent, gtk.VPaned) and vertical:
|
||||||
|
return parent
|
||||||
|
elif isinstance (parent, gtk.HPaned) and not vertical:
|
||||||
|
return parent
|
||||||
|
return self.get_first_parent_paned(parent, vertical)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def execute_cb (option, opt, value, parser):
|
def execute_cb (option, opt, value, parser):
|
||||||
assert value is None
|
assert value is None
|
||||||
value = []
|
value = []
|
||||||
|
|
Loading…
Reference in New Issue