diff options
author | Eduardo Silva <edsiper@gmail.com> | 2007-12-08 21:11:26 (GMT) |
---|---|---|
committer | Eduardo Silva <edsiper@gmail.com> | 2007-12-08 21:11:26 (GMT) |
commit | 7a6ea48f01e906903d57630d407e4e1bd6719f31 (patch) | |
tree | 49be593923ab99ce1040a77f36b856eabb1abbd4 /terminal.py | |
parent | db8dd23d85f4beed98307abf709b66b6e2a3da48 (diff) |
Add 'copy to clipboard' support
Diffstat (limited to 'terminal.py')
-rw-r--r-- | terminal.py | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/terminal.py b/terminal.py index 6bb2018..2212a24 100644 --- a/terminal.py +++ b/terminal.py @@ -50,31 +50,53 @@ class TerminalActivity(activity.Activity): self.set_toolbox(toolbox) self.show_all() - + + vte_terminal = terminal.get_vte_terminal() + terminal_toolbar = TerminalToolbar(vte_terminal) + toolbox.add_toolbar(_('Options'), terminal_toolbar) + terminal_toolbar.show() + # Dirty hide() toolbar = toolbox.get_activity_toolbar() toolbar.share.hide() toolbar.keep.hide() + +class TerminalToolbar(gtk.Toolbar): + def __init__(self, vte): + gtk.Toolbar.__init__(self) + self._vte = vte + + copy = ToolButton('edit-copy') + copy.connect('clicked', self._on_copy_clicked_cb) + self.insert(copy, -1) + copy.show() + + def _on_copy_clicked_cb(self, widget): + self._vte.copy_clipboard() + class Terminal(gtk.HBox): def __init__(self): gtk.HBox.__init__(self, False, 4) - vte = VTE() - vte.show() + self._vte = VTE() + self._vte.show() - scrollbar = gtk.VScrollbar(vte.get_adjustment()) + scrollbar = gtk.VScrollbar(self._vte.get_adjustment()) scrollbar.show() - self.pack_start(vte) + self.pack_start(self._vte) self.pack_start(scrollbar, False, False, 0) + def get_vte_terminal(self): + return self._vte + class VTE(vte.Terminal): def __init__(self): vte.Terminal.__init__(self) self._configure_vte() self.connect("child-exited", lambda term: term.fork_command()) - + gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD) os.chdir(os.environ["HOME"]) self.fork_command() |