Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/Session.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-08-11 09:37:35 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-08-11 09:37:35 (GMT)
commitcb47f17b31dde57823d46d974e983aa7fe7cad98 (patch)
treed97b9c32ab156a4052b49c6e90b37d53ca95c011 /shell/Session.py
parent27456ff7231b65ffc4409f76b167110e32790626 (diff)
Move session stuff to his own package
Diffstat (limited to 'shell/Session.py')
-rw-r--r--shell/Session.py82
1 files changed, 0 insertions, 82 deletions
diff --git a/shell/Session.py b/shell/Session.py
deleted file mode 100644
index 985f1af..0000000
--- a/shell/Session.py
+++ /dev/null
@@ -1,82 +0,0 @@
-import os
-import gtk
-import gobject
-import time
-import dbus
-import dbus.dbus_bindings
-
-from sugar.presence import PresenceService
-from Shell import Shell
-from Process import Process
-import sugar.env
-
-class DbusProcess(Process):
- def __init__(self):
- config = sugar.env.get_dbus_config()
- cmd = "dbus-daemon --print-address --config-file %s" % config
- Process.__init__(self, cmd)
-
- def get_name(self):
- return 'Dbus'
-
- def start(self):
- Process.start(self, True)
- dbus_file = os.fdopen(self._stdout)
- addr = dbus_file.readline()
- addr = addr.strip()
- dbus_file.close()
- os.environ["DBUS_SESSION_BUS_ADDRESS"] = addr
-
-class MatchboxProcess(Process):
- def __init__(self):
- options = '-use_titlebar no'
-
- kbd_config = os.path.join(sugar.env.get_data_dir(), 'kbdconfig')
- options += ' -kbdconfig %s' % kbd_config
-
- command = 'matchbox-window-manager %s' % options
- print command
- Process.__init__(self, command)
-
- def get_name(self):
- return 'Matchbox'
-
-class PresenceServiceProcess(Process):
- def __init__(self):
- Process.__init__(self, "sugar-presence-service")
-
- def get_name(self):
- return "PresenceService"
-
- def start(self):
- Process.start(self)
- bus = dbus.Bus()
- ret = False
- # Wait for the presence service to start up
- while not ret:
- ret = dbus.dbus_bindings.bus_name_has_owner(bus._connection, PresenceService.DBUS_SERVICE)
- time.sleep(0.2)
-
-class Session:
- """Takes care of running the shell and all the sugar processes"""
- def __init__(self, registry):
- self._registry = registry
-
- def start(self):
- """Start the session"""
- process = DbusProcess()
- process.start()
-
- process = MatchboxProcess()
- process.start()
-
- process = PresenceServiceProcess()
- process.start()
-
- shell = Shell(self._registry)
- shell.start()
-
- try:
- gtk.main()
- except KeyboardInterrupt:
- print 'Ctrl+C pressed, exiting...'