You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.0 KiB
Python

#!/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)