diff --git a/bin/.gitignore b/bin/.gitignore index 10c2d342..2a3ce74c 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1 +1,2 @@ -sugar-native-factory +sugar-control-panel +sugar-shell diff --git a/bin/sugar-activity b/bin/sugar-activity old mode 100755 new mode 100644 diff --git a/bin/sugar-backup b/bin/sugar-backup old mode 100755 new mode 100644 diff --git a/bin/sugar-control-panel.in b/bin/sugar-control-panel.in new file mode 100644 index 00000000..922f95c1 --- /dev/null +++ b/bin/sugar-control-panel.in @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# Copyright (C) 2008, 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 sys + +sys.path.insert(0, '@prefix@/share/sugar/shell') + +from controlpanel.cmd import main + +main() + + diff --git a/bin/sugar-install-bundle b/bin/sugar-install-bundle old mode 100755 new mode 100644 diff --git a/bin/sugar-shell.in b/bin/sugar-shell.in new file mode 100644 index 00000000..2b73c4ae --- /dev/null +++ b/bin/sugar-shell.in @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# Copyright (C) 2008, 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 sys + +sys.path.insert(0, '@prefix@/share/sugar/shell') + +from main import main + +main() + + diff --git a/configure.ac b/configure.ac index b8d98288..4c91829c 100644 --- a/configure.ac +++ b/configure.ac @@ -41,8 +41,10 @@ AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes) AC_CONFIG_FILES([ bin/sugar +bin/sugar-control-panel +bin/sugar-shell shell/config.py -], [chmod +x sugar]) +]) AC_OUTPUT([ Makefile diff --git a/shell/Makefile.am b/shell/Makefile.am index e3e97109..c1b7f786 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -2,8 +2,9 @@ SUBDIRS = controlpanel hardware model view intro sugardir = $(pkgdatadir)/shell sugar_PYTHON = \ - config.py \ + config.py \ logsmanager.py \ + main.py \ shellservice.py confdir = $(pkgdatadir)/shell diff --git a/shell/controlpanel/Makefile.am b/shell/controlpanel/Makefile.am index b7721707..f89132c5 100644 --- a/shell/controlpanel/Makefile.am +++ b/shell/controlpanel/Makefile.am @@ -1,4 +1,5 @@ sugardir = $(pkgdatadir)/shell/controlpanel sugar_PYTHON = \ __init__.py \ + cmd.py \ control.py diff --git a/bin/sugar-control-panel b/shell/controlpanel/cmd.py old mode 100755 new mode 100644 similarity index 96% rename from bin/sugar-control-panel rename to shell/controlpanel/cmd.py index 5399a552..634faa94 --- a/bin/sugar-control-panel +++ b/shell/controlpanel/cmd.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - # Copyright (C) 2007, One Laptop Per Child # # This library is free software; you can redistribute it and/or @@ -23,8 +21,6 @@ from gettext import gettext as _ from sugar import env -sys.path.insert(0, env.get_shell_path()) - from controlpanel import control def cmd_help(): @@ -82,6 +78,3 @@ def main(): method(*args) except Exception, e: print _("sugar-control-panel: %s"% e) - -if __name__ == '__main__': - main() diff --git a/bin/sugar-shell b/shell/main.py old mode 100755 new mode 100644 similarity index 91% rename from bin/sugar-shell rename to shell/main.py index b8f44a35..350ce467 --- a/bin/sugar-shell +++ b/shell/main.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # Copyright (C) 2006, Red Hat, Inc. # # This program is free software; you can redistribute it and/or modify @@ -33,8 +32,6 @@ from sugar import env from sugar import logger from sugar.profile import get_profile -sys.path.insert(0, env.get_shell_path()) - from view.Shell import Shell from model.shellmodel import ShellModel from shellservice import ShellService @@ -102,6 +99,9 @@ def main(): _start_matchbox() _setup_translations() + hw_manager = hardwaremanager.get_manager() + hw_manager.startup() + icons_path = env.get_data_path('icons') gtk.icon_theme_get_default().append_search_path(icons_path) @@ -131,7 +131,8 @@ def main(): print RuntimeError("%s connection manager not found!" % cm_name) while not check_cm(cm['busname']): - print "Waiting for %s on: DBUS_SESSION_BUS_ADDRESS=%s" %(cm_name, os.environ["DBUS_SESSION_BUS_ADDRESS"]) + print "Waiting for %s on: DBUS_SESSION_BUS_ADDRESS=%s" % \ + (cm_name, os.environ["DBUS_SESSION_BUS_ADDRESS"]) try: time.sleep(5) except KeyboardInterrupt: @@ -142,18 +143,6 @@ def main(): shell = Shell(model) service = ShellService(shell) -if __name__ == '__main__': - # running the gtk.main outside of the main() function allows us to - # profile startup times. To profile startup times replace the following - # call to main with: - # import cProfile - # cProfile.run('main()', '/home/olpc/sugar-startup.stats') - - main() - - hw_manager = hardwaremanager.get_manager() - hw_manager.startup() - try: gtk.main() except KeyboardInterrupt: