#!/usr/bin/env 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 import pygtk pygtk.require('2.0') import gtk os.environ['SUGAR_EMULATOR'] = 'yes' 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 from sugar.emulator import Emulator import _sugar if len(sys.argv) == 1: if sourcedir: program = os.path.join(sourcedir, 'shell/sugar-shell') else: program = 'sugar-shell' else: program = sys.argv[1] if gtk.gdk.screen_width() < 1200 or gtk.gdk.screen_height() < 900: width = -1 height = -1 else: width = 1200 height = 900 dpi = min(_sugar.get_screen_dpi(), 96) if sourcedir: kbd_config = os.path.join(sourcedir, 'emulator/kbdconfig') else: kbd_config = os.path.join(env.get_emulator_path('kbdconfig')) emulator = Emulator(width, height, dpi) emulator.set_keyboard_config(kbd_config) emulator.start() if sourcedir: program = os.path.join(sourcedir, program) os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session', program, sourcedir) else: os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session', program)