diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2023-11-07 03:45:18 +0100 | 
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2023-11-07 03:45:18 +0100 | 
| commit | e245030c07d68ae4f1b05b8c9dc10443bdc5bcdd (patch) | |
| tree | c043dde567edcbbe83cf0b94889a580d22e1d7cd /.local/bin/uni | |
| parent | 8834f8cb341beb8212196a53cdf8de09a7d6d5d3 (diff) | |
uni: Add the uni script for unicode input
Diffstat (limited to '.local/bin/uni')
| -rwxr-xr-x | .local/bin/uni | 27 | 
1 files changed, 27 insertions, 0 deletions
diff --git a/.local/bin/uni b/.local/bin/uni new file mode 100755 index 0000000..4be2d86 --- /dev/null +++ b/.local/bin/uni @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +setup() +{ +	curl 'https://www.unicode.org/Public/UNIDATA/UnicodeData.txt' \ +	| >"$DATA" sed -E                                             \ +		-e 's/;[^;]*//2g'                                         \ +		-e 's/\<(.)([A-Z]*)/\1\L\2/2g'                            \ +		-e '/^[^;]*;</d'                                          \ +		-e '/Compatibility/d'                                     \ +		-e '/Variation Selector/d' +} + +readonly DATA="${XDG_DATA_HOME:-$HOME/.local/share}/unicode-data" +[ -f "$DATA" ] || setup + +opt="$(cut -d';' -f2 "$DATA" | osel)" +rune="$( +	awk -vopt="$opt" -F';' \ +		'$2 == opt { printf "\\\\u%s\\\\n", $1; exit }' "$DATA" \ +	| xargs printf +)" + +wl-copy -n "$rune" && notify uni unicode 'Rune Copied' \ +	"The rune ‘$rune’ was copied to the clipboard"  |