diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-03-09 16:29:03 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-03-09 16:29:03 (GMT) |
commit | 6c5d28ecf516cca2ad317983fade3dbf0061d6e6 (patch) | |
tree | 2bcc93351c62201baedd738c46bfceffe6fd12f6 /shell | |
parent | a5d303f9ff96cb17a4fb10e611314e7c1c440c7e (diff) |
Save also the sugar session display and use it in sugar-activity.
Diffstat (limited to 'shell')
-rwxr-xr-x | shell/sugar-activity | 21 | ||||
-rwxr-xr-x | shell/sugar-shell | 11 |
2 files changed, 19 insertions, 13 deletions
diff --git a/shell/sugar-activity b/shell/sugar-activity index 04fed66..7757a76 100755 --- a/shell/sugar-activity +++ b/shell/sugar-activity @@ -18,6 +18,16 @@ import sys import os +from ConfigParser import ConfigParser + +from sugar import env + +# Setup the environment so that we run inside the Sugar shell +cp = ConfigParser() +cp.read([env.get_profile_path("session.info")]) +os.environ['DBUS_SESSION_BUS_ADDRESS'] = cp.get('Session', 'dbus_address') +os.environ['DISPLAY'] = cp.get('Session', 'display') +del cp import gtk import dbus @@ -26,15 +36,6 @@ import dbus.glib from sugar.activity import bundleregistry from sugar.activity import activityfactory from sugar.activity import activityfactoryservice -from sugar import env - -def _setup_bus_address(): - '''Use the bus address of the running Sugar''' - bus_file = os.path.join(env.get_profile_path(), "session_bus_address") - f = open(bus_file, "r") - bus_name = f.read() - f.close() - os.environ['DBUS_SESSION_BUS_ADDRESS'] = bus_name def _success_cb(handler, exit): if exit: @@ -47,8 +48,6 @@ def _error_cb(handler, err): def print_help(self): sys.exit(0) -_setup_bus_address() - bundle = None if len(sys.argv) > 1: diff --git a/shell/sugar-shell b/shell/sugar-shell index 4b67e96..277030d 100755 --- a/shell/sugar-shell +++ b/shell/sugar-shell @@ -18,6 +18,7 @@ import sys import os +from ConfigParser import ConfigParser if len(sys.argv) == 2: sys.path.insert(0, sys.argv[1]) @@ -55,9 +56,15 @@ if not key or not len(key): # # WARNING!!! this is going away at some near future point, do not rely on it # -dsba_file = os.path.join(env.get_profile_path(), "session_bus_address") +dsba_file = os.path.join(env.get_profile_path(), "session.info") f = open(dsba_file, "w") -f.write(os.environ["DBUS_SESSION_BUS_ADDRESS"]) + +cp = ConfigParser() +cp.add_section('Session') +cp.set('Session', 'dbus_address', os.environ['DBUS_SESSION_BUS_ADDRESS']) +cp.set('Session', 'display', gtk.gdk.display_get_default().get_name()) +cp.write(f) + f.close() model = ShellModel() |