Merge pull request #167 from accek/lid-closed

Disable Howdy if lid is closed
This commit is contained in:
boltgolt 2019-03-12 14:20:50 +01:00 committed by GitHub
commit 5db34e226c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

View file

@ -15,6 +15,9 @@ suppress_unknown = false
# Disable Howdy in remote shells
ignore_ssh = true
# Disable Howdy if lid is closed
ignore_closed_lid = true
# Auto dismiss lock screen on confirmation
# Will run loginctl unlock-sessions after every auth
# Experimental, can behave incorrectly on some systems

View file

@ -4,6 +4,7 @@
import subprocess
import sys
import os
import glob
# pam-python is running python 2, so we use the old module here
import ConfigParser
@ -25,6 +26,11 @@ def doAuth(pamh):
if "SSH_CONNECTION" in os.environ or "SSH_CLIENT" in os.environ or "SSHD_OPTS" in os.environ:
sys.exit(0)
# Abort if lid is closed
if config.getboolean("core", "ignore_closed_lid"):
if any('closed' in open(f).read() for f in glob.glob('/proc/acpi/button/lid/*/state')):
sys.exit(0)
# Alert the user that we are doing face detection
if config.get("core", "detection_notice") == "true":
pamh.conversation(pamh.Message(pamh.PAM_TEXT_INFO, "Attempting face detection"))