Convert screenshot.sh to nix's writeShellApplication
This commit is contained in:
parent
c6651a7eb6
commit
88c6138463
5 changed files with 41 additions and 40 deletions
36
hosts/totsugeki/desktop/scripts/screenshot.nix
Normal file
36
hosts/totsugeki/desktop/scripts/screenshot.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{ pkgs }:
|
||||
|
||||
pkgs.writeShellApplication {
|
||||
name = "screenshot";
|
||||
runtimeInputs = with pkgs; [
|
||||
dunst
|
||||
grim
|
||||
libjxl
|
||||
slurp
|
||||
wl-clipboard
|
||||
xdg-user-dirs
|
||||
];
|
||||
text = ''
|
||||
usage() {
|
||||
echo "Usage: screenshot { full | section }"
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -n 1 || usage
|
||||
|
||||
FILE_NAME=$(date +'Screenshot_%Y%m%d_%H%M%S')
|
||||
TEMPORARY_PATH="/tmp/$FILE_NAME.png"
|
||||
SCREENSHOT_PATH="$(xdg-user-dir PICTURES)/$FILE_NAME.jxl"
|
||||
if [ "$1" == "full" ]; then
|
||||
grim "$TEMPORARY_PATH"
|
||||
elif [ "$1" == "section" ]; then
|
||||
grim -g "$(slurp -b '#000000aa' -w 0)" "$TEMPORARY_PATH"
|
||||
else
|
||||
usage
|
||||
fi
|
||||
wl-copy < "$TEMPORARY_PATH"
|
||||
cjxl "$TEMPORARY_PATH" "$SCREENSHOT_PATH"
|
||||
dunstify --raw_icon="$TEMPORARY_PATH" "Captura de pantalla realizada" "Guardada como $FILE_NAME.jxl"
|
||||
rm "$TEMPORARY_PATH"
|
||||
'';
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue