Improve notification after screenshot in Xfce
This commit is contained in:
parent
0a4d853907
commit
8e56b399fd
@ -1,12 +1,73 @@
|
||||
#!/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-send -u normal "$FILE" -i "$(xdg-user-dir PICTURES)/$FILE"
|
||||
notify "$(xdg-user-dir PICTURES)/$FILE"
|
||||
else
|
||||
xfce4-screenshooter $@
|
||||
fi
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user