25 lines
		
	
	
		
			576 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			576 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
# If -f, then put computer to sleep.
 | 
						|
# Otherwise, lock screen and turn off monitor.
 | 
						|
 | 
						|
if [[ $1 = -f ]]; then
 | 
						|
    echo "Going to sleep..."
 | 
						|
    case $OSTYPE in
 | 
						|
        darwin*) pmset sleepnow ;;
 | 
						|
        linux*)  systemctl suspend ;;
 | 
						|
    esac
 | 
						|
else
 | 
						|
    echo "Shutting my eyes..."
 | 
						|
    case $OSTYPE in
 | 
						|
        darwin*) sleep 1; pmset displaysleepnow ;;
 | 
						|
        linux*)
 | 
						|
            if command -v slock >/dev/null; then
 | 
						|
                pgrep slock >/dev/null || slock &
 | 
						|
            fi
 | 
						|
            sleep 1
 | 
						|
            xset dpms force off
 | 
						|
            ;;
 | 
						|
    esac
 | 
						|
fi
 |