2006-07-06 23:34:23 +02:00
|
|
|
import dbus
|
2006-07-08 15:47:51 +02:00
|
|
|
import gtk
|
2006-07-06 23:34:23 +02:00
|
|
|
import gobject
|
|
|
|
|
|
|
|
from sugar.LogWriter import LogWriter
|
|
|
|
from WindowManager import WindowManager
|
|
|
|
from ConsoleLogger import ConsoleLogger
|
|
|
|
from ActivityContainer import ActivityContainer
|
2006-07-08 11:55:33 +02:00
|
|
|
from ActivityRegistry import ActivityRegistry
|
2006-07-08 15:47:51 +02:00
|
|
|
from HomeWindow import HomeWindow
|
2006-07-06 23:34:23 +02:00
|
|
|
|
|
|
|
class Shell(gobject.GObject):
|
|
|
|
__gsignals__ = {
|
|
|
|
'close': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
|
|
|
|
([])),
|
|
|
|
}
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
gobject.GObject.__init__(self)
|
|
|
|
|
|
|
|
def start(self):
|
|
|
|
console = ConsoleLogger()
|
|
|
|
|
|
|
|
log_writer = LogWriter("Shell", False)
|
|
|
|
log_writer.start()
|
|
|
|
|
2006-07-08 15:47:51 +02:00
|
|
|
self._registry = ActivityRegistry()
|
2006-07-08 11:55:33 +02:00
|
|
|
|
2006-07-08 15:47:51 +02:00
|
|
|
root_window = gtk.Window()
|
|
|
|
root_window.set_title('Sugar')
|
|
|
|
wm = WindowManager(root_window)
|
|
|
|
wm.set_type(WindowManager.TYPE_ROOT)
|
|
|
|
wm.show()
|
|
|
|
|
|
|
|
home_window = HomeWindow(self)
|
|
|
|
home_window.set_transient_for(root_window)
|
|
|
|
wm = WindowManager(home_window)
|
|
|
|
wm.set_type(WindowManager.TYPE_POPUP)
|
|
|
|
wm.set_animation(WindowManager.ANIMATION_SLIDE_IN)
|
|
|
|
wm.set_geometry(0.1, 0.1, 0.8, 0.8)
|
|
|
|
wm.set_key(gtk.keysyms.F2)
|
|
|
|
wm.show()
|
|
|
|
|
2006-07-06 23:34:23 +02:00
|
|
|
session_bus = dbus.SessionBus()
|
|
|
|
service = dbus.service.BusName("com.redhat.Sugar.Shell", bus=session_bus)
|
|
|
|
activity_container = ActivityContainer(service, session_bus)
|
2006-07-08 15:47:51 +02:00
|
|
|
|
|
|
|
def get_registry(self):
|
|
|
|
return self._registry
|
2006-07-06 23:34:23 +02:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
shell = Shell()
|
|
|
|
shell.start()
|
|
|
|
try:
|
|
|
|
gtk.main()
|
|
|
|
except KeyboardInterrupt:
|
|
|
|
print 'Ctrl+c pressed, exiting...'
|