Group lockscreen and display suspension related code

This commit is contained in:
2020-09-08 14:08:54 +02:00
parent 48aaf76c8a
commit f80f2be784
6 changed files with 3 additions and 3 deletions

View File

@ -0,0 +1,29 @@
package lockscreen
import (
"os/exec"
"strings"
)
// XDG uses qdbus to monitor the freedesktop screensaver status
type XDG struct {}
// IsActive checks whether the screen is locked (checks if the screensaver is active)
func (XDG) IsActive() (bool, error) {
cmd := exec.Command("qdbus",
"org.kde.screensaver",
"/ScreenSaver",
"org.freedesktop.ScreenSaver.GetActive",
)
outputBytes, err := cmd.CombinedOutput()
if err != nil {
return false, err
}
output := string(outputBytes)
if strings.HasPrefix(output, "true") {
return true, nil
}
return false, nil
}