Move screenshot keybindings to rofi menu
This commit is contained in:
@@ -28,13 +28,13 @@ super + shift + s
|
|||||||
super + {F2,F3}
|
super + {F2,F3}
|
||||||
brictl {dec,inc} 10
|
brictl {dec,inc} 10
|
||||||
|
|
||||||
# Screenshot (fullscreen, selection, focused window)
|
# Screenshot (fullscreen, selection, active window)
|
||||||
{_,shift,super} + @Print
|
@Print
|
||||||
scrot {_,-s,-u} -e "mv \$f $CAPTURE"
|
printscreen
|
||||||
|
|
||||||
# Screen record
|
# Screen record
|
||||||
ctrl + @Print
|
ctrl + @Print
|
||||||
aliases screencast "$CAPTURE/$(date '+%Y-%m-%d-%H%M%S_1280x720_screencast')"
|
aliases screencast
|
||||||
|
|
||||||
# Volume
|
# Volume
|
||||||
XF86Audio{LowerVolume,RaiseVolume,Mute}
|
XF86Audio{LowerVolume,RaiseVolume,Mute}
|
||||||
|
|||||||
+5
-2
@@ -67,7 +67,10 @@ screencast() {
|
|||||||
# Kill with SIGKILL, just in case it is still running
|
# Kill with SIGKILL, just in case it is still running
|
||||||
pkill -9 ffmpeg
|
pkill -9 ffmpeg
|
||||||
else
|
else
|
||||||
NAME=${1:-"output"}
|
width=1280
|
||||||
|
height=720
|
||||||
|
NAME=${1:-"$CAPTURE/$(date '+%Y-%m-%d-%H%M%S')_${width}x${height}_ffmpeg"}
|
||||||
|
|
||||||
[ -n "$2" ] && AUDIO_CODEC="-c:a aac"
|
[ -n "$2" ] && AUDIO_CODEC="-c:a aac"
|
||||||
[ -n "$2" ] && AUDIO_SOURCE="-f pulse -ac 2 -i $2" # 1 = system, 2 = mic
|
[ -n "$2" ] && AUDIO_SOURCE="-f pulse -ac 2 -i $2" # 1 = system, 2 = mic
|
||||||
|
|
||||||
@@ -76,7 +79,7 @@ screencast() {
|
|||||||
-threads 8 \
|
-threads 8 \
|
||||||
-f x11grab \
|
-f x11grab \
|
||||||
-framerate 30 \
|
-framerate 30 \
|
||||||
-s 1280x720 \
|
-s "${width}x${height}" \
|
||||||
-i "$DISPLAY.0+640,180" \
|
-i "$DISPLAY.0+640,180" \
|
||||||
$AUDIO_SOURCE \
|
$AUDIO_SOURCE \
|
||||||
-r 30 \
|
-r 30 \
|
||||||
|
|||||||
Executable
+47
@@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Take a screenshot with the configured program
|
||||||
|
# Depends: scrot / maim / magick
|
||||||
|
|
||||||
|
# User-config---------------------------
|
||||||
|
|
||||||
|
# scrot / maim / magick import
|
||||||
|
screenshotter="scrot"
|
||||||
|
|
||||||
|
# --------------------------------------
|
||||||
|
|
||||||
|
if [ "$screenshotter" = "scrot" ]; then
|
||||||
|
fullscreen=""
|
||||||
|
selection="-s"
|
||||||
|
activeWindow="-u"
|
||||||
|
filename="-e 'mv \$f $CAPTURE'"
|
||||||
|
|
||||||
|
elif [ "$screenshotter" = "maim" ]; then
|
||||||
|
fullscreen=""
|
||||||
|
selection="-s"
|
||||||
|
activeWindow="-i \$(xdotool getactivewindow)"
|
||||||
|
filename="$CAPTURE/$(date '+%Y-%m-%d-%H%M%S')_maim.png"
|
||||||
|
elif [ "$screenshotter" = "magick import" ] || [ "$screenshotter" = "import" ]; then
|
||||||
|
fullscreen="-window root"
|
||||||
|
selection=""
|
||||||
|
activeWindow="-window \$(xdotool getactivewindow)"
|
||||||
|
filename="$CAPTURE/$(date '+%Y-%m-%d-%H%M%S')_import.png"
|
||||||
|
else
|
||||||
|
echo "Printscreen configuration is invalid"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
options="\
|
||||||
|
Selection
|
||||||
|
Active Window
|
||||||
|
Fullscreen"
|
||||||
|
|
||||||
|
choice=$(echo "$options" | rofi -no-fixed-num-lines -dmenu -i -p "Screenshot") || exit 0
|
||||||
|
|
||||||
|
command="$screenshotter"
|
||||||
|
[ "$choice" = "Selection" ] && command="$command $selection"
|
||||||
|
[ "$choice" = "Active Window" ] && command="$command $activeWindow"
|
||||||
|
[ "$choice" = "Fullscreen" ] && command="$command $fullscreen"
|
||||||
|
command="$command $filename"
|
||||||
|
|
||||||
|
eval "$command"
|
||||||
Reference in New Issue
Block a user