34 lines
		
	
	
		
			584 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			584 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env ssm
							 | 
						||
| 
								 | 
							
								# vim: ft=sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								service_respawn='true'
							 | 
						||
| 
								 | 
							
								service_command="$HOME/bin/lockd"
							 | 
						||
| 
								 | 
							
								service_args=( i3lock-extra -s -o ~/pics/lock.png -g -p )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function do_notify {
							 | 
						||
| 
								 | 
							
									declare output; var output
							 | 
						||
| 
								 | 
							
									output = "$( "$@" )"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if output; then
							 | 
						||
| 
								 | 
							
										notify-send "ssm ($service_name)" "$output"
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function start_or_lock {
							 | 
						||
| 
								 | 
							
									if status; then
							 | 
						||
| 
								 | 
							
										notify-send 'ssm' "Starting $service_name"
							 | 
						||
| 
								 | 
							
										start
							 | 
						||
| 
								 | 
							
									else
							 | 
						||
| 
								 | 
							
										notify-send 'ssm' "Locking..."
							 | 
						||
| 
								 | 
							
										kill -USR1 "$service_pid"
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function toggle {
							 | 
						||
| 
								 | 
							
									if status; then
							 | 
						||
| 
								 | 
							
										do_notify "$0" "$service_name" stop
							 | 
						||
| 
								 | 
							
									else
							 | 
						||
| 
								 | 
							
										do_notify "$0" "$service_name" start
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								}
							 |