74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| case $LANG in
 | |
| 	de*)
 | |
| 		SUMMARY="Screenshot gemacht"
 | |
| 		BUTTON_TEXT="Bild ansehen"
 | |
| 		;;
 | |
| 	es*)
 | |
| 		SUMMARY="Captura de pantalla tomada"
 | |
| 		BUTTON_TEXT="Ver imagen"
 | |
| 		;;
 | |
| 	fr*)
 | |
| 		SUMMARY="Capture d'écran prise"
 | |
| 		BUTTON_TEXT="Voir l'image"
 | |
| 		;;
 | |
| 	hr*)
 | |
| 		SUMMARY="Snimka zaslona snimljena"
 | |
| 		BUTTON_TEXT="Pogledati sliku"
 | |
| 		;;
 | |
| 	it*)
 | |
| 		SUMMARY="Screenshot acquisito"
 | |
| 		BUTTON_TEXT="Guarda l'immagine"
 | |
| 		;;
 | |
| 	zh*)
 | |
| 		SUMMARY="截图"
 | |
| 		BUTTON_TEXT="看图片"
 | |
| 		;;
 | |
| 	*)
 | |
| 		SUMMARY="Screenshot taken"
 | |
| 		BUTTON_TEXT="View image"
 | |
| 		;;
 | |
| esac
 | |
| 
 | |
| notify() {
 | |
| 	IMAGE="$1"
 | |
| 	ACTION_COMMAND="exo-open $IMAGE"
 | |
| 
 | |
| 	NOTIFICATION_ID=$(gdbus call \
 | |
| 		--session \
 | |
| 		--dest org.freedesktop.Notifications \
 | |
| 		--object-path /org/freedesktop/Notifications \
 | |
| 		--method org.freedesktop.Notifications.Notify \
 | |
| 		'' 0 "$IMAGE" "$SUMMARY" '' \
 | |
| 		"[\"Open\", \"$BUTTON_TEXT\"]" '{}' 'int32 -1' \
 | |
| 		| sed 's/(uint32 \([0-9]\+\),)/\1/g')
 | |
| 
 | |
| 	GDBUS_MONITOR_PID=/tmp/notify-action-dbus-monitor.$$.pid
 | |
| 
 | |
| 	(
 | |
| 		gdbus monitor --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications &
 | |
| 		echo $! >&3
 | |
| 	) 3>"$GDBUS_MONITOR_PID" | while read -r line; do
 | |
| 		if echo "$line" | grep "NotificationClosed (uint32 $NOTIFICATION_ID" > /dev/null; then
 | |
| 			break
 | |
| 		elif echo "$line" | grep "ActionInvoked (uint32 $NOTIFICATION_ID" > /dev/null; then
 | |
| 			$ACTION_COMMAND
 | |
| 			break
 | |
| 		fi
 | |
| 	done
 | |
| 	kill $(cat "$GDBUS_MONITOR_PID")
 | |
| 	rm "$GDBUS_MONITOR_PID"
 | |
| }
 | |
| 
 | |
| paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga
 | |
| 
 | |
| if [ $# -eq 0 ]
 | |
| then
 | |
| 	FILE="Screenshot_$(date +%F_%H_%M_%S).png"
 | |
| 	xfce4-screenshooter -fs "$(xdg-user-dir PICTURES)/$FILE"
 | |
| 	notify "$(xdg-user-dir PICTURES)/$FILE"
 | |
| else
 | |
| 	xfce4-screenshooter $@
 | |
| fi
 | 
