Cannot retrieve contributors at this time
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#!/bin/bash | |
FILEDIR=~/Downloads | |
OPTION=() | |
values=$(zenity \ | |
--title=wayland-screenshot \ | |
--text="Option" \ | |
--forms \ | |
--add-combo="Mode" \ | |
--combo-values="All screen|Specific window|Specific area" \ | |
--add-combo="Include cursor[default: no]" \ | |
--combo-values="no|yes" \ | |
--add-entry="time to wait[default: 0s]" \ | |
--add-combo="Copy to clipboard[default: yes]" \ | |
--combo-values="yes|no" \ | |
) | |
result=$? | |
mode=$(echo $values | cut -d '|' -f 1) | |
cursor=$(echo $values | cut -d '|' -f 2) | |
wait=$(echo $values | cut -d '|' -f 3) | |
clipboard=$(echo $values | cut -d '|' -f 4) | |
if [ "$result" -eq 1 ];then # select cancel | |
echo "canceling" | |
exit | |
fi | |
if [ ! -z "$cursor" ] && [ "$cursor" == yes ];then | |
OPTION+="-c" | |
fi | |
if [ -z "$mode" ] ;then # select nothing | |
echo "mode is null" | |
zenity \ | |
--title=wayland-screenshot \ | |
--width=200 \ | |
--warning \ | |
--text="Mode empty" | |
exit | |
fi | |
if [ ! -z "$wait" ];then | |
sleep $wait | |
fi | |
if [ "$mode" == "All screen" ];then # select All screen | |
true | |
elif [ "$mode" == "Specific window" ];then # select specify window | |
GEO="$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)" | |
elif [ "$mode" == "Specific area" ];then # select specfy area | |
GEO="$(slurp)" | |
else # error | |
echo $mode | |
fi | |
if [ -z "$clipboard" ] || [ "$clipboard" == yes ];then | |
if [ -z "$GEO" ]; then | |
grim $OPTION - | wl-copy; | |
else | |
grim $OPTION -g "$GEO" - | wl-copy; | |
fi | |
else | |
if [ -z "$GEO" ]; then | |
grim $OPTION $FILEDIR/Screenshot_$(date +%F_%H.%M.%S).png | |
else | |
grim $OPTION -g "$GEO" $FILEDIR/Screenshot_$(date +%F_%H.%M.%S).png | |
fi | |
fi |