diff options
Diffstat (limited to 'tools/desktop/takeshot')
-rwxr-xr-x | tools/desktop/takeshot | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tools/desktop/takeshot b/tools/desktop/takeshot new file mode 100755 index 0000000..3fefff0 --- /dev/null +++ b/tools/desktop/takeshot | |||
@@ -0,0 +1,78 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | ## Copyright (C) 2020-2022 Aditya Shakya <adi1090x@gmail.com> | ||
4 | ## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3 | ||
5 | |||
6 | ## Script to take screenshots with maim | ||
7 | |||
8 | time=`date +%Y-%m-%d-%H-%M-%S` | ||
9 | geometry=`xrandr | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'` | ||
10 | dir="`xdg-user-dir PICTURES`/Screenshots" | ||
11 | file="Screenshot_${time}_${geometry}.png" | ||
12 | |||
13 | # notify and view screenshot | ||
14 | notify_view () { | ||
15 | dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Copied to clipboard." | ||
16 | viewnior ${dir}/"$file" | ||
17 | if [[ -e "$dir/$file" ]]; then | ||
18 | dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Screenshot Saved." | ||
19 | else | ||
20 | dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Screenshot Deleted." | ||
21 | fi | ||
22 | } | ||
23 | |||
24 | # countdown | ||
25 | countdown () { | ||
26 | for sec in `seq $1 -1 1`; do | ||
27 | dunstify -t 1000 --replace=699 -i /usr/share/archcraft/icons/dunst/timer.png "Taking shot in : $sec" | ||
28 | sleep 1 | ||
29 | done | ||
30 | } | ||
31 | |||
32 | # take shots | ||
33 | shotnow () { | ||
34 | cd ${dir} && maim -u -f png | tee "$file" | xclip -selection clipboard -t image/png | ||
35 | notify_view | ||
36 | } | ||
37 | |||
38 | shot5 () { | ||
39 | countdown '5' | ||
40 | sleep 1 && cd ${dir} && maim -u -f png | tee "$file" | xclip -selection clipboard -t image/png | ||
41 | notify_view | ||
42 | } | ||
43 | |||
44 | shot10 () { | ||
45 | countdown '10' | ||
46 | sleep 1 && cd ${dir} && maim -u -f png | tee "$file" | xclip -selection clipboard -t image/png | ||
47 | notify_view | ||
48 | } | ||
49 | |||
50 | shotwin () { | ||
51 | cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | tee "$file" | xclip -selection clipboard -t image/png | ||
52 | notify_view | ||
53 | } | ||
54 | |||
55 | shotarea () { | ||
56 | cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.855 | tee "$file" | xclip -selection clipboard -t image/png | ||
57 | notify_view | ||
58 | } | ||
59 | |||
60 | if [[ ! -d "$dir" ]]; then | ||
61 | mkdir -p "$dir" | ||
62 | fi | ||
63 | |||
64 | if [[ "$1" == "--now" ]]; then | ||
65 | shotnow | ||
66 | elif [[ "$1" == "--in5" ]]; then | ||
67 | shot5 | ||
68 | elif [[ "$1" == "--in10" ]]; then | ||
69 | shot10 | ||
70 | elif [[ "$1" == "--win" ]]; then | ||
71 | shotwin | ||
72 | elif [[ "$1" == "--area" ]]; then | ||
73 | shotarea | ||
74 | else | ||
75 | echo -e "Available Options : --now --in5 --in10 --win --area" | ||
76 | fi | ||
77 | |||
78 | exit 0 | ||