Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > 29c78007c50813a0dbef9b67b68c85de > files > 2

acpid-2.0.34-1.mga9.src.rpm

diff -Nru a/samples/powerbtn/powerbtn.sh b/samples/powerbtn/powerbtn.sh
--- a/samples/powerbtn/powerbtn.sh	2018-06-19 04:17:40.000000000 +0200
+++ b/samples/powerbtn/powerbtn.sh	2018-09-23 10:34:47.519273996 +0200
@@ -56,11 +56,18 @@
 PMS="$PMS gsd-power"
 
 # If one of those is running or any of several others,
-if pidof x $PMS > /dev/null ||
-	( test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon) ||
-	( test "$XUSER" != "" && test -x /usr/bin/qdbus && test -r /proc/$(pgrep -n kded4)/environ && su - $XUSER -c "eval $(echo -n 'export '; cat /proc/$(pgrep -n kded4)/environ |tr '\0' '\n'|grep DBUS_SESSION_BUS_ADDRESS); qdbus org.kde.kded" | grep -q powerdevil) ; then
-	# Get out as the power manager that is running will take care of things.
-    exit
+if pidof x $PMS > /dev/null; then
+        exit
+elif test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon; then
+        exit
+elif test "$XUSER" != "" && test -x /usr/bin/qdbus; then
+        kded4pid=$(pgrep -n -u $XUSER kded4)
+        if test "$kded4pid" != ""; then
+                dbusaddr=$(su - $XUSER -c "grep -z DBUS_SESSION_BUS_ADDRESS /proc/$kded4pid/environ")
+                if test "$dbusaddr" != "" && su - $XUSER -c "export $dbusaddr; qdbus org.kde.kded" | grep -q powerdevil; then
+                        exit
+                fi
+        fi
 fi
 
 # No power managment system appears to be running.  Just initiate a plain