@@ -4,6 +4,7 @@ const Gtk = imports.gi.Gtk;
44const Clutter = imports . gi . Clutter ;
55const Pango = imports . gi . Pango ;
66const St = imports . gi . St ;
7+ const GnomeSession = imports . misc . gnomeSession ;
78const { SignalManager} = imports . misc . signalManager ;
89const windowTracker = imports . gi . Cinnamon . WindowTracker . get_default ( ) ;
910
@@ -258,6 +259,7 @@ class DirectApplet extends Applet.TextIconApplet {
258259 this . setAllowedLayout ( Applet . AllowedLayout . BOTH ) ;
259260 this . on_orientation_changed ( orientation ) ;
260261
262+ this . sessionManager = new GnomeSession . SessionManager ( ) ;
261263 this . signals = new SignalManager ( null ) ;
262264 this . appSystem = Cinnamon . AppSystem . get_default ( ) ;
263265 this . appFavorites = getAppFavorites ( ) ;
@@ -892,6 +894,23 @@ class DirectApplet extends Applet.TextIconApplet {
892894 } ) ) ;
893895 }
894896 }
897+
898+ //system items
899+ this . systemSection . addMenuItem ( new PopupMenu . PopupSeparatorMenuItem ( ) ) ;
900+ let logoutItem = new PopupMenu . PopupIconMenuItem ( _ ( "Logout" ) , "system-log-out" , St . IconType . SYMBOLIC ) ;
901+ logoutItem . _icon . set_icon_size ( this . iconSize ) ;
902+ this . systemSection . addMenuItem ( logoutItem ) ;
903+ logoutItem . connect ( "activate" , Lang . bind ( this , function ( ) {
904+ this . menu . close ( ) ;
905+ this . sessionManager . LogoutRemote ( 0 ) ;
906+ } ) ) ;
907+ let quitItem = new PopupMenu . PopupIconMenuItem ( _ ( "Quit" ) , "system-shutdown" , St . IconType . SYMBOLIC ) ;
908+ quitItem . _icon . set_icon_size ( this . iconSize ) ;
909+ this . systemSection . addMenuItem ( quitItem ) ;
910+ quitItem . connect ( "activate" , Lang . bind ( this , function ( ) {
911+ this . menu . close ( ) ;
912+ this . sessionManager . ShutdownRemote ( ) ;
913+ } ) ) ;
895914 }
896915
897916 buildCustomSection ( ) {
0 commit comments