Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/terminal.py
diff options
context:
space:
mode:
authorEduardo Silva <edsiper@gmail.com>2007-12-08 21:11:26 (GMT)
committer Eduardo Silva <edsiper@gmail.com>2007-12-08 21:11:26 (GMT)
commit7a6ea48f01e906903d57630d407e4e1bd6719f31 (patch)
tree49be593923ab99ce1040a77f36b856eabb1abbd4 /terminal.py
parentdb8dd23d85f4beed98307abf709b66b6e2a3da48 (diff)
Add 'copy to clipboard' support
Diffstat (limited to 'terminal.py')
-rw-r--r--terminal.py34
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()