Browse Source

Move screenshot keybindings to rofi menu

master
Riyyi 4 years ago
parent
commit
f30eb0df6e
  1. 8
      .config/sxhkd/sxhkdrc
  2. 7
      .local/bin/aliases
  3. 47
      .local/bin/printscreen

8
.config/sxhkd/sxhkdrc

@ -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}

7
.local/bin/aliases

@ -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 \

47
.local/bin/printscreen

@ -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"
Loading…
Cancel
Save