86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.6 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())
 | |
| 
 | |
| 	bin = os.path.join(sourcedir,
 | |
| 					  'services/console/sugar-console')
 | |
| 	util.write_service('org.laptop.sugar.Console', 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)
 | 
