From 2c923b9532539993c52c4b64eb2e34ae5c51ca6c Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 5 Jan 2007 12:23:28 +0100 Subject: [PATCH] Shutdown when pressing the power button on the olpc. --- shell/view/Shell.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/shell/view/Shell.py b/shell/view/Shell.py index cc653d1b..36d0cc2d 100644 --- a/shell/view/Shell.py +++ b/shell/view/Shell.py @@ -160,12 +160,19 @@ class Shell(gobject.GObject): elif key == '0x93': # Frame key self._frame.notify_key_press() elif key == '0x7C': # Power key - self._frame.notify_key_press() + self._shutdown() elif key == 'Tab': self.set_zoom_level(sugar.ZOOM_HOME) box = self._home_window.get_home_box() box.grab_and_rotate() + def _shutdown(self): + bus = dbus.SystemBus() + proxy = bus.get_object('org.freedesktop.Hal', + '/org/freedesktop/Hal/devices/computer') + mgr = dbus.Interface(proxy, 'org.freedesktop.Hal.Device.SystemPowerManagement') + mgr.Shutdown() + def _key_released_cb(self, grabber, key): if key == 'F9': self._frame.notify_key_release()