Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2008-02-04 19:36:09 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2008-02-04 19:36:09 (GMT)
commitdbe42ac6d9c0be6be47d2c7545b4997070b4621f (patch)
treeb382b3af018c1ca407198db65f7332a9b17bb232 /bin
parent29fb25407fe0e6c4b3903405d612d48953293b54 (diff)
Make the shell scripts just a tiny wrapper which setup
the python path and run main().
Diffstat (limited to 'bin')
-rw-r--r--bin/.gitignore3
-rw-r--r--[-rwxr-xr-x]bin/sugar-activity0
-rw-r--r--[-rwxr-xr-x]bin/sugar-backup0
-rwxr-xr-xbin/sugar-control-panel87
-rw-r--r--bin/sugar-control-panel.in26
-rw-r--r--[-rwxr-xr-x]bin/sugar-install-bundle0
-rwxr-xr-xbin/sugar-shell164
-rw-r--r--bin/sugar-shell.in26
8 files changed, 54 insertions, 252 deletions
diff --git a/bin/.gitignore b/bin/.gitignore
index 10c2d34..2a3ce74 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
index c01b263..c01b263 100755..100644
--- a/bin/sugar-activity
+++ b/bin/sugar-activity
diff --git a/bin/sugar-backup b/bin/sugar-backup
index c90da63..c90da63 100755..100644
--- a/bin/sugar-backup
+++ b/bin/sugar-backup
diff --git a/bin/sugar-control-panel b/bin/sugar-control-panel
deleted file mode 100755
index 5399a55..0000000
--- a/bin/sugar-control-panel
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (C) 2007, One Laptop Per Child
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library 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
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-import sys
-import getopt
-from gettext import gettext as _
-
-from sugar import env
-
-sys.path.insert(0, env.get_shell_path())
-
-from controlpanel import control
-
-def cmd_help():
- print _('Usage: sugar-control-panel [ option ] key [ args ... ] \n\
- Control for the sugar environment. \n\
- Options: \n\
- -h show this help message and exit \n\
- -l list all the available options \n\
- -h key show information about this key \n\
- -g key get the current value of the key \n\
- -s key set the current value for the key \n\
- ')
-
-def main():
- try:
- opts, args = getopt.getopt(sys.argv[1:], "h:s:g:l", [])
- except getopt.GetoptError:
- cmd_help()
- sys.exit(2)
-
- output = None
- verbose = False
-
- if not opts:
- cmd_help()
- sys.exit()
-
- for opt, key in opts:
- if opt in ("-h"):
- method = getattr(control, 'set_' + key, None)
- if method is None:
- print _("sugar-control-panel: key=%s not an available option"% key)
- sys.exit()
- else:
- print method.__doc__
- if opt in ("-l"):
- elems = dir(control)
- for elem in elems:
- if elem.startswith('set_'):
- print elem[4:]
- if opt in ("-g"):
- method = getattr(control, 'print_' + key, None)
- if method is None:
- print _("sugar-control-panel: key=%s not an available option"% key)
- sys.exit()
- else:
- method()
- if opt in ("-s"):
- method = getattr(control, 'set_' + key, None)
- if method is None:
- print _("sugar-control-panel: key=%s not an available option"% key)
- sys.exit()
- else:
- try:
- method(*args)
- except Exception, e:
- print _("sugar-control-panel: %s"% e)
-
-if __name__ == '__main__':
- main()
diff --git a/bin/sugar-control-panel.in b/bin/sugar-control-panel.in
new file mode 100644
index 0000000..922f95c
--- /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
index ce28977..ce28977 100755..100644
--- a/bin/sugar-install-bundle
+++ b/bin/sugar-install-bundle
diff --git a/bin/sugar-shell b/bin/sugar-shell
deleted file mode 100755
index b8f44a3..0000000
--- a/bin/sugar-shell
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/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 sys
-import os
-from ConfigParser import ConfigParser
-import gettext
-
-# HACK we need to import numpy before gtk otherwise we traceback in
-# some locales. See http://dev.laptop.org/ticket/5559.
-import numpy
-
-import pygtk
-pygtk.require('2.0')
-import gtk
-import gobject
-
-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
-from hardware import hardwaremanager
-from intro import intro
-import logsmanager
-import config
-
-def _start_matchbox():
- cmd = ['matchbox-window-manager']
-
- cmd.extend(['-use_titlebar', 'no'])
- cmd.extend(['-theme', 'sugar'])
- cmd.extend(['-kbdconfig', env.get_shell_path('kbdconfig')])
-
- gobject.spawn_async(cmd, flags=gobject.SPAWN_SEARCH_PATH)
-
-def _save_session_info():
- # Save our DBus Session Bus address somewhere it can be found
- #
- # WARNING!!! this is going away at some near future point, do not rely on it
- #
- session_info_file = os.path.join(env.get_profile_path(), "session.info")
- f = open(session_info_file, "w")
-
- cp = ConfigParser()
- cp.add_section('Session')
- cp.set('Session', 'dbus_address', os.environ['DBUS_SESSION_BUS_ADDRESS'])
- cp.set('Session', 'display', gtk.gdk.display_get_default().get_name())
- cp.write(f)
-
- f.close()
-
-def _setup_translations():
- locale_path = os.path.join(config.prefix, 'share', 'locale')
- domain = 'sugar'
-
- gettext.bindtextdomain(domain, locale_path)
- gettext.textdomain(domain)
-
-def check_cm(bus_name):
- try:
- import dbus
- bus = dbus.SessionBus()
- bus_object = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
- name = bus_object.GetNameOwner(bus_name, dbus_interface='org.freedesktop.DBus')
- if name:
- return True
- except dbus.DBusException:
- pass
- return False
-
-def _shell_started_cb():
- # Unfreeze the display
- hw_manager = hardwaremanager.get_manager()
- hw_manager.set_dcon_freeze(0)
-
-def main():
- gobject.idle_add(_shell_started_cb)
-
- logsmanager.setup()
- logger.start('shell')
-
- _save_session_info()
- _start_matchbox()
- _setup_translations()
-
- icons_path = env.get_data_path('icons')
- gtk.icon_theme_get_default().append_search_path(icons_path)
-
- # Do initial setup if needed
- if not get_profile().is_valid():
- win = intro.IntroWindow()
- win.show_all()
- gtk.main()
-
- if os.environ.has_key("SUGAR_TP_DEBUG"):
- # Allow the user time to start up telepathy connection managers
- # using the Sugar DBus bus address
- import time
- from telepathy.client import ManagerRegistry
-
- registry = ManagerRegistry()
- registry.LoadManagers()
-
- debug_flags = os.environ["SUGAR_TP_DEBUG"].split(',')
- for cm_name in debug_flags:
- if cm_name not in ["gabble", "salut"]:
- continue
-
- try:
- cm = registry.services[cm_name]
- except KeyError:
- 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"])
- try:
- time.sleep(5)
- except KeyboardInterrupt:
- print "Got Ctrl+C, continuing..."
- break
-
- model = ShellModel()
- 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:
- print 'Ctrl+C pressed, exiting...'
-
- session_info_file = os.path.join(env.get_profile_path(), "session.info")
- os.remove(session_info_file)
-
diff --git a/bin/sugar-shell.in b/bin/sugar-shell.in
new file mode 100644
index 0000000..2b73c4a
--- /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()
+
+