Browse Source

Use D-Bus for power management operations

Frans Bergman 4 years ago
parent
commit
60eaed50d5
1 changed files with 30 additions and 4 deletions
  1. 30 4
      .scripts/exit_menu.sh

+ 30 - 4
.scripts/exit_menu.sh

@@ -15,19 +15,45 @@ case $CHOICE in
         ~/.scripts/lock.sh; xset dpms force standby
         ;;
     "Sleep")
-        ~/.scripts/lock.sh && sudo zzz
+        ~/.scripts/lock.sh && dbus-send \
+            --system \
+            --print-reply \
+            --dest=org.freedesktop.login1 \
+            /org/freedesktop/login1 \
+            org.freedesktop.login1.Manager.Suspend \
+            boolean:false
         ;;
     "Hibernate")
-        ~/.scripts/lock.sh && sudo ZZZ
+        ~/.scripts/lock.sh && dbus-send \
+                  --system \
+                  --print-reply \
+                  --dest=org.freedesktop.login1 \
+                  /org/freedesktop/login1 \
+                  org.freedesktop.login1.Manager.Hibernate \
+                  boolean:false
         ;;
     "Exit")
         pkill Xorg
         ;;
     "Shutdown")
-        sudo poweroff
+        dbus-send \
+                  --system \
+                  --print-reply \
+                  --dest=org.freedesktop.login1 \
+                  /org/freedesktop/login1 \
+                  org.freedesktop.login1.Manager.PowerOff \
+                  boolean:false
+
         ;;
     "Reboot")
-        sudo reboot
+        dbus-send \
+                  --system \
+                  --print-reply \
+                  --dest=org.freedesktop.login1 \
+                  /org/freedesktop/login1 \
+                  org.freedesktop.login1.Manager.Reboot \
+                  boolean:false
+
         ;;
     *)
         ;;