sugar-toolkit-gtk3/sugar-emulator
2006-12-14 17:21:46 -05:00

81 lines
2.4 KiB
Python
Executable File

#!/usr/bin/python
# Copyright (C) 2006, Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import os
import sys
sourcedir = os.path.abspath(os.path.dirname(__file__))
if os.path.isfile(os.path.join(sourcedir, 'sugar/__uninstalled__.py')):
print 'Running sugar from ' + sourcedir + ' ...'
sys.path.insert(0, sourcedir)
else:
print 'Running the installed sugar...'
sourcedir = None
from sugar import env
from sugar import util
if sourcedir:
if os.environ.has_key('PYTHONPATH'):
old_path = os.environ['PYTHONPATH']
os.environ['PYTHONPATH'] = sourcedir + ':' + old_path
else:
os.environ['PYTHONPATH'] = sourcedir
bin_path = sourcedir
bin_path += ':' + os.path.join(sourcedir, 'shell')
bin_path += ':' + os.path.join(sourcedir, 'services/presence')
bin_path += ':' + os.path.join(sourcedir, 'services/clipboard')
if os.environ.has_key('PATH'):
old_path = os.environ['PATH']
os.environ['PATH'] = bin_path + ':' + old_path
else:
os.environ['PATH'] = bin_path
bin = os.path.join(sourcedir,
'services/presence/sugar-presence-service')
util.write_service('org.laptop.Presence', bin,
env.get_user_service_dir())
bin = os.path.join(sourcedir,
'services/clipboard/sugar-clipboard')
util.write_service('org.laptop.Clipboard', bin,
env.get_user_service_dir())
bin = os.path.join(sourcedir,
'services/datastore/sugar-data-store')
util.write_service('org.laptop.sugar.DataStore', bin,
env.get_user_service_dir())
from sugar.emulator import Emulator
program = 'sugar-shell'
fullscreen = False
for i in range(1, len(sys.argv)):
if sys.argv[i] == '-fullscreen':
fullscreen = True
else:
program = sys.argv[i]
emulator = Emulator(fullscreen)
emulator.start()
os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session', program)