screenshot/recording tool upd

This commit is contained in:
2026-02-10 15:42:25 +01:00
parent 7414910b00
commit b265756aee
2 changed files with 97 additions and 85 deletions

View File

@@ -1015,13 +1015,14 @@ case $LANG in
SEC15="Za 15 sekund"
BACK="wróć"
OPEN_SCR_DIR="Otwórz katalog ze zrzutami ekranu"
OPTIMIZE_IMG="Optymalizacja obrazków (online)"
CANCEL="Anuluj"
SCRNREC="Nagrywanie pulpitu"
FULLREC="Pełny ekran"
AREA="Obszar lub okno"
SETTINGS="Ustawienia"
SCROTSETTINGS="Zrzuty ekranu"
EXTENSION="Typ obrazka (rozszerzenie)"
EXTENSION="Typ obrazka (rozszerzenie) dla zrzutu ekranu"
VIDEOSETTINGS="Ustawienia nagrywania"
AUDIO="Dźwięk"
FORMAT="Kontener (rozszerzenie)"
@@ -1043,13 +1044,14 @@ case $LANG in
SEC15="En 15 segundos"
BACK="atrás"
OPEN_SCR_DIR="Abrir carpeta de capturas"
OPTIMIZE_IMG="Optimize images (online)"
CANCEL="Cancelar"
SCRNREC="Grabador Captura Pantalla"
FULLREC="Pantalla Completa "
AREA="Área seleccionada o Ventana"
SETTINGS="Ajustes"
SCROTSETTINGS="Screenshot settings"
EXTENSION="File type (extension)"
EXTENSION="File type (extension) for screenshot"
VIDEOSETTINGS="Ajustes de Grabación"
AUDIO="Audio"
FORMAT="Formato de archivo (extension)"
@@ -1071,14 +1073,15 @@ case $LANG in
SEC15="In 15 seconds"
BACK="back"
OPEN_SCR_DIR="Open screenshot directory"
OPTIMIZE_IMG="Optimize images (online)"
CANCEL="Cancel"
SCRNREC="Screen recording"
FULLREC="Full screen "
AREA="Selected Area or Window"
SETTINGS="Settings"
SCROTSETTINGS="Screenshot settings"
EXTENSION="File type (extension)"
VIDEOSETTINGS="Recording settings"
EXTENSION="File type (extension) for screenshot"
VIDEOSETTINGS="Desktop Recording settings"
AUDIO="Audio"
FORMAT="Container (file extension)"
FRAMERATE="Framerate (fps)"
@@ -1143,90 +1146,97 @@ else
fi
mkconfigfile
cat <<EOF > ${MENU_ITEMS}
@icon,,$((jgtools_padding + 4)),$((jgtools_padding + 4)),340,100,4,left,top,,,$THUMB
^sep($SCRNSHOTS <small>($EXT)</small>)
 $FULLSCR,^root(full)
 $ACTIVE_WIN,^root(window)
 $ACTIVE_WIN_NO_DECOR,^root(borderless)
 $SELECTED,^root(selected)
out+=("^sep($SCRNSHOTS <small>[$EXT]</small>)")
out+=(" <big></big> $FULLSCR,^root(full)")
out+=(" <big></big> $ACTIVE_WIN,^root(window)")
out+=(" <big></big> $ACTIVE_WIN_NO_DECOR,^root(borderless)")
out+=(" <big></big> $SELECTED,^root(selected)")
#  Multimonitor, scrot -m $IMG -e $VIEW
^sep()
$OPEN_SCR_DIR,xdg-open $(xdg-user-dir PICTURES)/screenshots
^sep($SCRNREC <small>($container ${AUD} $framerate fps)</small>)
 $FULLREC,mb-screenrec -f
 $AREA,mb-screenrec -a
^sep()
out+=("^sep()")
out+=(" <big></big> $OPEN_SCR_DIR,xdg-open $(xdg-user-dir PICTURES)/screenshots")
out+=("^sep()")
out+=(" <big></big> $OPTIMIZE_IMG <big></big>,xdg-open https://squoosh.app")
 $OPEN_REC_DIR,xdg-open $(xdg-user-dir VIDEOS)/Recordings
^sep()
 $SETTINGS,^checkout(settings)
^sep()
 $CANCEL <small>esc</small>,exit 1
^tag(full)
^sep($FULLSCR )
 $NOW,scrot $IMG -e $VIEW
 $SEC5,scrot -d 5 $IMG -e $VIEW
 $SEC10,scrot -d 10 $IMG -e $VIEW
 $SEC15,scrot -d 15 $IMG -e $VIEW
^sep()
${arrow_string_left} $BACK,^back()
^tag(window)
^sep($ACTIVE_WIN )
 $NOW,scrot -d 1 -u -b $IMG -e $VIEW
 $SEC5,scrot -d 5 -u -b $IMG -e $VIEW
 $SEC10,scrot -d 10 -u -b $IMG -e $VIEW
 $SEC15,scrot -d 15 -u -b $IMG -e $VIEW
^sep()
${arrow_string_left} $BACK,^back()
^tag(borderless)
^sep($ACTIVE_WIN_NO_DECOR)
 $NOW,scrot -d 1 -u $IMG -e $VIEW
 $SEC5,scrot -d 5 -u $IMG -e $VIEW
 $SEC10,scrot -d 10 -u $IMG -e $VIEW
 $SEC15,scrot -d 15 -u $IMG -e $VIEW
^sep()
${arrow_string_left} $BACK,^back()
^tag(selected)
^sep($SELECTED)
 $NOW,"""maim -s -l -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}"""
 $SEC5,"""maim -s -l --delay=5 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}"""
 $SEC10,"""maim -s -l --delay=10 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}"""
 $SEC15,"""maim -s -l --delay=15 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}"""
^sep()
${arrow_string_left} $BACK,^back()
^tag(settings)
^sep($SCROTSETTINGS)
$EXTENSION [ <b>${EXT}</b> ],^checkout(imgext)
^sep($VIDEOSETTINGS)
$AUDIO [ <b>${AUD}</b> ],^checkout(audio)
$FORMAT [ <b>${container}</b> ],^checkout(format)
$FRAMERATE [ <b>${framerate}</b> ],^checkout(framerate)
^sep()
 $EDIT_CONF_FILE,xdg-open $CNF_FILE
^tag(imgext)
^sep($EXTENSION)
WebP (.webp),mb-setvar image_extension=webp ${CNF_FILE};mb-jgtools screenshot ipc
PNG (.png),mb-setvar image_extension=png ${CNF_FILE};mb-jgtools screenshot ipc
JPG (.jpg),mb-setvar image_extension=jpg ${CNF_FILE};mb-jgtools screenshot ipc
^tag(audio)
^sep($AUDIO)
$REC_AUDIO,mb-setvar record_audio=yes ${CNF_FILE};mb-jgtools screenshot ipc
$NO_AUDIO,mb-setvar record_audio=no ${CNF_FILE};mb-jgtools screenshot ipc
^tag(format)
^sep($FORMAT)
webm,mb-setvar container=webm ${CNF_FILE};mb-jgtools screenshot ipc
mkv,mb-setvar container=mkv ${CNF_FILE};mb-jgtools screenshot ipc
mp4,mb-setvar container=mp4 ${CNF_FILE};mb-jgtools screenshot ipc
^tag(framerate)
^sep($FRAMERATE)
30,mb-setvar framerate=30 ${CNF_FILE};mb-jgtools screenshot ipc
25,mb-setvar framerate=25 ${CNF_FILE};mb-jgtools screenshot ipc
24,mb-setvar framerate=24 ${CNF_FILE};mb-jgtools screenshot ipc
15,mb-setvar framerate=15 ${CNF_FILE};mb-jgtools screenshot ipc
10,mb-setvar framerate=10 ${CNF_FILE};mb-jgtools screenshot ipc
out+=("^sep($SCRNREC <small>[$container ${AUD} $framerate fps]</small>)")
out+=(" <big></big> $FULLREC,mb-screenrec -f")
out+=(" <big></big> $AREA,mb-screenrec -a")
out+=("^sep()")
out+=(" <big></big> $OPEN_REC_DIR,xdg-open $(xdg-user-dir VIDEOS)/Recordings")
out+=("^sep()")
out+=(" <big></big> $SETTINGS,^root(settings)")
#out+=("^sep()")
#out+=("  $CANCEL <small>esc</small>,exit 1")
out+=("^tag(full)")
out+=("^sep($FULLSCR )")
out+=(" <big></big> $NOW,scrot $IMG -e $VIEW")
out+=(" <big></big> $SEC5,scrot -d 5 $IMG -e $VIEW")
out+=(" <big></big> $SEC10,scrot -d 10 $IMG -e $VIEW")
out+=(" <big></big> $SEC15,scrot -d 15 $IMG -e $VIEW")
out+=("^sep()")
out+=(" <big>${arrow_string_left}</big> $BACK,^back()")
out+=("^tag(window)")
out+=("^sep($ACTIVE_WIN )")
out+=(" <big></big> $NOW,scrot -d 1 -u -b $IMG -e $VIEW")
out+=(" <big></big> $SEC5,scrot -d 5 -u -b $IMG -e $VIEW")
out+=(" <big></big> $SEC10,scrot -d 10 -u -b $IMG -e $VIEW")
out+=(" <big></big> $SEC15,scrot -d 15 -u -b $IMG -e $VIEW")
out+=("^sep()")
out+=(" <big>${arrow_string_left}</big> $BACK,^back()")
out+=("^tag(borderless)")
out+=("^sep($ACTIVE_WIN_NO_DECOR)")
out+=(" <big></big> $NOW,scrot -d 1 -u $IMG -e $VIEW")
out+=(" <big></big> $SEC5,scrot -d 5 -u $IMG -e $VIEW")
out+=(" <big></big> $SEC10,scrot -d 10 -u $IMG -e $VIEW")
out+=(" <big></big> $SEC15,scrot -d 15 -u $IMG -e $VIEW")
out+=("^sep()")
out+=(" <big>${arrow_string_left}</big> $BACK,^back()")
out+=("^tag(selected)")
out+=("^sep($SELECTED)")
out+=(" <big></big> $NOW,\"\"\"maim -s -l -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"")
out+=(" <big></big> $SEC5,\"\"\"maim -s -l --delay=5 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"")
out+=(" <big></big> $SEC10,\"\"\"maim -s -l --delay=10 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"")
out+=(" <big></big> $SEC15,\"\"\"maim -s -l --delay=15 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"")
out+=("^sep()")
out+=(" <big>${arrow_string_left}</big> $BACK,^back()")
out+=("^tag(settings)")
out+=("^sep($EXTENSION)")
[[ "${EXT}" == "webp" ]] && out+=("<big>綠</big> <b>WebP (.webp)</b>,mb-setvar image_extension=webp ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> WebP (.webp),mb-setvar image_extension=webp ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "${EXT}" == "png" ]] && out+=("<big>綠</big> <b>PNG (.png)</b>,mb-setvar image_extension=png ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> PNG (.png),mb-setvar image_extension=png ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "${EXT}" == "jpg" ]] && out+=("<big>綠</big> <b>JPG (.jpg)</b>,mb-setvar image_extension=jpg ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> JPG (.jpg),mb-setvar image_extension=jpg ${CNF_FILE};mb-jgtools screenshot ipc")
out+=("^sep($VIDEOSETTINGS)")
[[ "${AUD}" == "audio" ]] && out+=("<big></big> $REC_AUDIO,mb-setvar record_audio=no ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big></big> $REC_AUDIO,mb-setvar record_audio=yes ${CNF_FILE};mb-jgtools screenshot ipc")
out+=("$FORMAT [ <b>${container}</b> ],^checkout(format)")
out+=("$FRAMERATE [ <b>${framerate}</b> ],^checkout(framerate)")
out+=("^sep()")
out+=(" <big></big> $EDIT_CONF_FILE,xdg-open $CNF_FILE")
out+=(" <big>${arrow_string_left}</big> $BACK,^back()")
out+=("^tag(format)")
out+=("^sep($FORMAT)")
[[ "$container" == "webm" ]] && out+=("<big>綠</big> <b>WebM</b>,mb-setvar container=webm ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> WebM,mb-setvar container=webm ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "$container" == "mkv" ]] && out+=("<big>綠</big> <b>MKV</b>,mb-setvar container=mkv ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> MKV,mb-setvar container=mkv ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "$container" == "mp4" ]] && out+=("<big>綠</big> <b>MP4</b>,mb-setvar container=mp4 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> MP4,mb-setvar container=mp4 ${CNF_FILE};mb-jgtools screenshot ipc")
out+=("^tag(framerate)")
out+=("^sep($FRAMERATE)")
[[ "${framerate}" == "30" ]] && out+=("<big>綠</big> <b>30</b>,mb-setvar framerate=30 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> 30,mb-setvar framerate=30 ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "${framerate}" == "25" ]] && out+=("<big>綠</big> <b>25</b>,mb-setvar framerate=25 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> 25,mb-setvar framerate=25 ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "${framerate}" == "24" ]] && out+=("<big>綠</big> <b>24</b>,mb-setvar framerate=24 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> 24,mb-setvar framerate=24 ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "${framerate}" == "15" ]] && out+=("<big>綠</big> <b>15</b>,mb-setvar framerate=15 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> 15,mb-setvar framerate=15 ${CNF_FILE};mb-jgtools screenshot ipc")
[[ "${framerate}" == "10" ]] && out+=("<big>綠</big> <b>10</b>,mb-setvar framerate=10 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("<big>祿</big> 10,mb-setvar framerate=10 ${CNF_FILE};mb-jgtools screenshot ipc")
cat <<EOF > ${MENU_ITEMS}
@icon,,$((jgtools_padding + 4)),$((jgtools_padding + 4)),340,100,4,left,top,,,$THUMB
$(printf '%s\n' "${out[@]}")
EOF
#cat "${MENU_ITEMS}"
jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null

View File

@@ -15,7 +15,9 @@ RECDIR="$(xdg-user-dir VIDEOS)/Recordings"
mkdir -p $RECDIR
if [ "$AUDIO" == "yes" ];then
AUDIOCMD="-f pulse -ac 2 -i default"
AUDIODEV="$(pactl list sinks short | grep $(pactl get-default-sink) | cut -f1)"
AUDIOCMD="-f pulse -ac 2 -i ${AUDIODEV}"
else
AUDIOCMD=""
fi