Ticket #207: sl_207.patch

File sl_207.patch, 1.6 KB (added by sayamindu, 15 years ago)

Updated patch, with support for KDM

  • extensions/deviceicon/xomenu.py

    diff --git a/extensions/deviceicon/xomenu.py b/extensions/deviceicon/xomenu.py
    index 359832f..f202f2d 100644
    a b  
    1414# along with this program; if not, write to the Free Software
    1515# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    1616
     17import os
    1718from gettext import gettext as _
    1819import gconf
    1920
    class SystemPalette(Palette): 
    5455        self.menu.append(item)
    5556        item.show()
    5657
     58        if 'GDMSESSION' in os.environ or 'XDM_MANAGED' in os.environ:
     59            # We need to ensure that we are logging in to
     60            # Sugar via GDM. GDMSESSION is also present in,
     61            # for example, sugar-jhbuild running from GNOME
     62            # We don't need Logout for that
     63            if os.environ['GDMSESSION'] == 'sugar' or 'XDM_MANAGED' in \
     64                    os.environ:
     65                item = MenuItem(_('Logout'), 'go-right')
     66                item.connect('activate', self.__logout_activate_cb)
     67                self.menu.append(item)
     68                item.show()
     69
    5770        item = MenuItem(_('Restart'), 'system-restart')
    5871        item.connect('activate', self.__reboot_activate_cb)
    5972        self.menu.append(item)
    class SystemPalette(Palette): 
    6477        self.menu.append(item)
    6578        item.show()
    6679
     80    def __logout_activate_cb(self, menu_item):
     81        session_manager = get_session_manager()
     82        session_manager.logout()
     83
    6784    def __reboot_activate_cb(self, menu_item):
    6885        session_manager = get_session_manager()
    6986        session_manager.reboot()