Files
2026-04-30 02:11:36 +03:00

78 lines
1.5 KiB
Bash

#!/bin/bash
# =========================
# CONFIG
# =========================
DIR="$HOME/Pictures/Screenshots"
DEVICE_NAME="" # Optional
SOUND="/usr/share/sounds/freedesktop/stereo/screen-capture.oga"
# =========================
# SETUP
# =========================
mkdir -p "$DIR"
TIME=$(date +"%d-%m-%Y_%H-%M-%S")
FILE="$DIR/Screenshot_${TIME}.png"
# =========================
# SCREENSHOT
# =========================
if ! grim - | tee "$FILE" | wl-copy; then
notify-send "❌ Screenshot failed"
exit 1
fi
# =========================
# PLAY SOUND
# =========================
if [ -f "$SOUND" ]; then
paplay "$SOUND" &
fi
# =========================
# FILE READY CHECK
# =========================
for i in {1..10}; do
[ -f "$FILE" ] && break
sleep 0.2
done
# =========================
# KDE CONNECT READY
# =========================
if ! pgrep -x kdeconnectd >/dev/null; then
kdeconnectd &
sleep 2
fi
# =========================
# DEVICE DETECTION
# =========================
if [ -n "$DEVICE_NAME" ]; then
DEVICE_ID=$(kdeconnect-cli -a | grep "$DEVICE_NAME" | cut -d':' -f1)
else
DEVICE_ID=$(kdeconnect-cli -a --id-only | head -n 1)
fi
# =========================
# SEND FILE
# =========================
if [ -n "$DEVICE_ID" ]; then
if kdeconnect-cli -d "$DEVICE_ID" --share "$FILE"; then
notify-send "Sent to your phone" "$(basename "$FILE")"
else
notify-send "⚠️ Send failed" "Saved locally"
fi
else
notify-send "⚠️ No device found" "Saved locally"
fi