aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/desktop/takeshot
diff options
context:
space:
mode:
authorHsieh Chin Fan <typebrook@gmail.com>2022-04-20 00:16:31 +0800
committerHsieh Chin Fan <typebrook@gmail.com>2022-04-20 00:16:31 +0800
commit067029d83ed8a4c5590436da76e9afb780dcadc0 (patch)
treeb634c504f72f836f3b9bcb22c57000672fabf168 /tools/desktop/takeshot
parenta3922a45cf7e86fa80abaa40015f2ec081c9c9e7 (diff)
Update
Diffstat (limited to 'tools/desktop/takeshot')
-rwxr-xr-xtools/desktop/takeshot78
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
8time=`date +%Y-%m-%d-%H-%M-%S`
9geometry=`xrandr | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'`
10dir="`xdg-user-dir PICTURES`/Screenshots"
11file="Screenshot_${time}_${geometry}.png"
12
13# notify and view screenshot
14notify_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
25countdown () {
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
33shotnow () {
34 cd ${dir} && maim -u -f png | tee "$file" | xclip -selection clipboard -t image/png
35 notify_view
36}
37
38shot5 () {
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
44shot10 () {
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
50shotwin () {
51 cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | tee "$file" | xclip -selection clipboard -t image/png
52 notify_view
53}
54
55shotarea () {
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
60if [[ ! -d "$dir" ]]; then
61 mkdir -p "$dir"
62fi
63
64if [[ "$1" == "--now" ]]; then
65 shotnow
66elif [[ "$1" == "--in5" ]]; then
67 shot5
68elif [[ "$1" == "--in10" ]]; then
69 shot10
70elif [[ "$1" == "--win" ]]; then
71 shotwin
72elif [[ "$1" == "--area" ]]; then
73 shotarea
74else
75 echo -e "Available Options : --now --in5 --in10 --win --area"
76fi
77
78exit 0