mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-01-31 04:57:57 +00:00
1388f7b7af
This script uses Oil shell as an initial test for writing scripts with Oil shell. I think it's a great starting example demonstrating the newer features such as eggexes and the new formatting of the blocks (e.g., if and while loops). Also, updated some scripts lel.
31 lines
1.2 KiB
Bash
Executable File
31 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Simply create a universal emoji selection list.
|
|
# The emoji list should be the following file:
|
|
# https://unicode.org/Public/emoji/13.0/emoji-test.txt
|
|
|
|
# Dependencies:
|
|
# * mktemp - GNU coreutils 8.31
|
|
# * wget - GNU Wget 1.20.3
|
|
# * sed - GNU sed 4.8
|
|
# * awk - GNU Awk 5.0.1
|
|
# * rofi - Version: 1.5.4
|
|
# * xclip - version 0.13
|
|
|
|
emoji_file="${XDG_DATA_HOME:-$HOME/.local/share}/emoji-list.txt"
|
|
|
|
# Checks if the emoji file is non-existent or past its modification date of at least 30 days ago (2592000 seconds).
|
|
if [[ ! -f $emoji_file ]] || test $(expr $(date "+%s") - $(date --reference="$emoji_file" "+%s")) -gt 2592000; then
|
|
notify-send "Downloading the emoji data file."
|
|
wget --output-document "$emoji_file" https://unicode.org/Public/emoji/latest/emoji-test.txt
|
|
touch $emoji_file
|
|
fi
|
|
|
|
selection=$(awk 'match($0, /([0-9A-F ]+)\s+; fully-qualified\s+# (\S+) E[[:digit:]]+.[[:digit:]]+ (.+)$/, a){print a[2], a[3]}' "$emoji_file" \
|
|
| rofi -dmenu -i -matching fuzzy -p "Choose an emoji to copy." \
|
|
| awk '{print $1}')
|
|
|
|
if [ -n "$selection" ]; then
|
|
printf "%s" "$selection" | xclip -selection clipboard && notify-send "'$(xclip -o -selection clipboard)' has been copied to clipboard."
|
|
fi
|