Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ################################################################################
- ################################################################################
- # Name: kde_lockscreen.sh
- # Usage:
- # Description:
- # Created: 2018-05-11
- # Copyright 2014, Victor Mendonca - http://victormendonca.com
- # - https://github.com/victorbrca
- # License: Released under the terms of the GNU GPL license v3
- ################################################################################
- ################################################################################
- #-------------------------------------------------------------------------------
- # Sets variables
- #-------------------------------------------------------------------------------
- log="/home/victor/bin/var/log/kde_lockscreen_${HOSTNAME}.log"
- #-------------------------------------------------------------------------------
- # Functions
- #-------------------------------------------------------------------------------
- _logMe () {
- echo -e "$(date)\t-\t${1}" >> "$log"
- }
- _getMonitorStatus () {
- monitor_status=$(xset -q | grep Monitor | awk '{print $NF}')
- if [[ ! "$monitor_status" ]] ; then
- _logMe "Could not set status"
- sleep 10
- fi
- }
- _lockScreen () {
- qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
- }
- _getLockScreenStatus () {
- # true - active
- # false - disactive
- screensaver_status=$(qdbus org.freedesktop.ScreenSaver /ScreenSaver GetActive)
- }
- _main () {
- # set -x
- while true ; do
- _getMonitorStatus
- case "$monitor_status" in
- Off|Standby|Suspend)
- _getLockScreenStatus
- if [[ "$screensaver_status" == true ]] ; then
- sleep 10
- continue
- fi
- cnt=0
- while (( $cnt < 120 )) ; do
- _getMonitorStatus
- if [[ "$monitor_status" == "On" ]] ; then
- continue 2
- fi
- let cnt+=1
- sleep 1
- done
- _lockScreen
- echo "locked"
- ;;
- esac
- sleep 5
- done
- }
- #-------------------------------------------------------------------------------
- # Starts script
- #-------------------------------------------------------------------------------
- _main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement