sugar-toolkit-gtk3/sugar-emulator
2007-02-14 15:34:34 +01:00

62 lines
1.9 KiB
Python
Executable File

#!/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
if len(sys.argv) == 1:
program = 'sugar-shell'
else:
program = sys.argv[1]
width = height = -1
if gtk.gdk.screen_width() / 4 * 3 == gtk.gdk.screen_height():
fullscreen = (gtk.gdk.screen_width() <= 1200 or
gtk.gdk.screen_height() <= 900)
else:
fullscreen = False
height = min(1200, gtk.gdk.screen_height() - 50)
width = height * 4 / 3
emulator = Emulator(width, height, fullscreen)
emulator.start()
if sourcedir:
program = os.path.join(os.path.join(sourcedir, 'shell'), program)
os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session', program, sourcedir)
else:
os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session', program)