Move screenshot keybindings to rofi menu
This commit is contained in:
@@ -28,13 +28,13 @@ super + shift + s
|
||||
super + {F2,F3}
|
||||
brictl {dec,inc} 10
|
||||
|
||||
# Screenshot (fullscreen, selection, focused window)
|
||||
{_,shift,super} + @Print
|
||||
scrot {_,-s,-u} -e "mv \$f $CAPTURE"
|
||||
# Screenshot (fullscreen, selection, active window)
|
||||
@Print
|
||||
printscreen
|
||||
|
||||
# Screen record
|
||||
ctrl + @Print
|
||||
aliases screencast "$CAPTURE/$(date '+%Y-%m-%d-%H%M%S_1280x720_screencast')"
|
||||
aliases screencast
|
||||
|
||||
# Volume
|
||||
XF86Audio{LowerVolume,RaiseVolume,Mute}
|
||||
|
||||
+5
-2
@@ -67,7 +67,10 @@ screencast() {
|
||||
# Kill with SIGKILL, just in case it is still running
|
||||
pkill -9 ffmpeg
|
||||
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_SOURCE="-f pulse -ac 2 -i $2" # 1 = system, 2 = mic
|
||||
|
||||
@@ -76,7 +79,7 @@ screencast() {
|
||||
-threads 8 \
|
||||
-f x11grab \
|
||||
-framerate 30 \
|
||||
-s 1280x720 \
|
||||
-s "${width}x${height}" \
|
||||
-i "$DISPLAY.0+640,180" \
|
||||
$AUDIO_SOURCE \
|
||||
-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