-
Notifications
You must be signed in to change notification settings - Fork 0
/
honk
executable file
·146 lines (140 loc) · 2.85 KB
/
honk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/bin/bash
honk="
___
,-'' '.
,' _ e )'-._
/ ,' '-._<.===-'
/ /
/ ;
_.--.__ / ;
('._ _.-'' '--' |
<_ '-'' \
<'- :
(__ <__. ;
'-. '-.__. _.' /
\ '-.__,-' _,'
'._ , /__,-'
''._\__,'< <____
| | '----.'.
| | \ '.
; |___ \-''
\ --<
'.'.<
'-'"
manual="
Honk:
honk
|-> help -h --help
| this text
|
|-> watch -w --watch
| start the watcher
|
|-> select -s --select
| select from last copied items
|
|-> copy -c --copy
| copy from stdin to clipboard
|
|-> paste -p --paste
| paste from clipboard to stdout
|
|-> clean -C --clean
| reset clipboard file
|
|-> size -ß --size
| print the size of the clipboardfile
|
|-> dump -D --dump
| dump the whole clipboardfile
|
|-> install -I --install
| install honk to /usr/sbin/honk
|
|-> update -U --update
| update honk to master version (wget required)
|
|-> honk
Just honk -H --honk
"
function watchClipboard {
while(true) do
XC="$(tail -n 4 $HOME/.clipboard)"
XD="$(xclip -r -o)"
XE="$(tail -n 1 $HOME/.clipboard)"
if [[ $XD != $XE ]]
then
echo -e "$XC\n$(xclip -r -o)" > $HOME/.clipboard
echo "Updated clipboard"
fi
sleep 1
done
}
function selectFromClipboard {
cat $HOME/.clipboard | dmenu | xclip
exit 0
}
case $1 in
'help'|'-h'|'--help')
echo -e "$manual" | less
exit 0
;;
'watch'|'-w'|'--watch')
echo "Listening for clipboard"
watchClipboard
exit 1
;;
'select'|'-s'|'--select')
selectFromClipboard
exit 1
;;
'copy'|'-c'|'--copy')
xclip < /dev/stdin
echo "Jo."
exit 0
;;
'paste'|'-p'|'--paste')
xclip -o > /dev/stdout
exit 0
;;
'clean'|'-C'|'--clean')
cat /dev/null > $HOME/.clipboard
exit 0
;;
'size'|'-ß'|'--size')
echo -n "Your clipboard has a size of "
ls -sh $HOME/.clipboard | awk '{print $1}'
exit 0
;;
'dump'|'-D'|'--dump')
cat $HOME/.clipboard
exit 0
;;
'install'|'-I'|'--install')
cp $0 /usr/sbin && \
touch $HOME/.clipboard && \
clear && \
echo "Now you can add:" && \
echo -e "\texec --no-startup-id honk watch" && \
echo "to your i3 config or" && \
echo -e "\thonk watch" && \
echo "to your autostart." && \
honk honk && \
read
exit 0
;;
'update'|'-U'|'--update')
wget https://raw.githubusercontent.com/nk-designz/honk/master/honk && \
less ./honk && \
bash ./honk install
rm ./honk
exit 0
;;
'honk'|'H'|'--honk')
echo -e "$honk"
exit 0
;;
*)
esac
echo "$1 is not a valid option.\nRun $0 help|-h|--help for help"
selectFromClipboard