From 5731405901d7713182c5e1eb46b20b9377d9d8c6 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Thu, 20 Jul 2006 07:58:45 +0000 Subject: Promote terminal activity from terminal to activities. Fix api --- (limited to 'activities/terminal') diff --git a/activities/terminal/Makefile.am b/activities/terminal/Makefile.am new file mode 100644 index 0000000..a2a2397 --- /dev/null +++ b/activities/terminal/Makefile.am @@ -0,0 +1,9 @@ +sugardir = $(pkgdatadir)/activities/browser +sugar_PYTHON = \ + __init__.py \ + terminal.py + +activitydir = $(pkgdatadir)/activities/browser +activity_DATA = terminal.activity + +EXTRA_DIST = $(activity_DATA) diff --git a/activities/terminal/__init__.py b/activities/terminal/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/activities/terminal/__init__.py diff --git a/activities/terminal/terminal.activity b/activities/terminal/terminal.activity new file mode 100644 index 0000000..f0e77c8 --- /dev/null +++ b/activities/terminal/terminal.activity @@ -0,0 +1,4 @@ +[Activity] +name = Terminal +id = org.sugar.Terminal +python_module = terminal.TerminalActivity diff --git a/activities/terminal/terminal.py b/activities/terminal/terminal.py new file mode 100644 index 0000000..c9ee525 --- /dev/null +++ b/activities/terminal/terminal.py @@ -0,0 +1,61 @@ +import gtk +import vte +import pango + +from sugar.activity.Activity import Activity + +_TERMINAL_ACTIVITY_TYPE = "_terminal._tcp" + +class Terminal(gtk.HBox): + def __init__(self): + gtk.HBox.__init__(self, False, 4) + + self._vte = vte.Terminal() + self._configure_vte() + self._vte.set_size(30, 5) + self._vte.set_size_request(200, 50) + self._vte.show() + self.pack_start(self._vte) + + self._scrollbar = gtk.VScrollbar(self._vte.get_adjustment()) + self._scrollbar.show() + self.pack_start(self._scrollbar, False, False, 0) + + self._vte.connect("child-exited", lambda term: term.fork_command()) + + self._vte.fork_command() + + def _configure_vte(self): + self._vte.set_font(pango.FontDescription('Monospace 10')) + self._vte.set_colors(gtk.gdk.color_parse ('#AAAAAA'), + gtk.gdk.color_parse ('#000000'), + []) + self._vte.set_cursor_blinks(False) + self._vte.set_audible_bell(False) + self._vte.set_scrollback_lines(100) + self._vte.set_allow_bold(True) + self._vte.set_scroll_on_keystroke(False) + self._vte.set_scroll_on_output(False) + self._vte.set_emulation('xterm') + self._vte.set_visible_bell(False) + + def on_gconf_notification(self, client, cnxn_id, entry, what): + self.reconfigure_vte() + + def on_vte_button_press(self, term, event): + if event.button == 3: + self.do_popup(event) + return True + + def on_vte_popup_menu(self, term): + pass + +class TerminalActivity(Activity): + def __init__(self, service, args): + Activity.__init__(self, service) + + self.set_title("Terminal") + + terminal = Terminal() + self.add(terminal) + terminal.show() -- cgit v0.9.1