fix nerdfont rofi finder
This commit is contained in:
parent
c657bf51f7
commit
150e55fb99
8
.config/rofi/scripts/icon-picker.sh
Executable file
8
.config/rofi/scripts/icon-picker.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Run Rofi with the nerd-font-cheat script as the source for the modi
|
||||||
|
rofi -modi "nerdfont:~/.config/rofi/scripts/nerd-fonts.sh,emoji" -show nerdfont -emoji-mode copy -monitor -1
|
||||||
|
|
||||||
|
# Copy the selected icon to the clipboard
|
||||||
|
# echo "$selected_icon" | xclip -selection clipboard
|
||||||
|
|
69
.config/rofi/scripts/nerd-fonts.sh
Executable file
69
.config/rofi/scripts/nerd-fonts.sh
Executable file
@ -0,0 +1,69 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# icons cache file
|
||||||
|
ICONS_FILE="$HOME/.cache/nf-cheat.txt"
|
||||||
|
|
||||||
|
# url of icon sheet
|
||||||
|
URL="https://raw.githubusercontent.com/groovykiwi/rofi-nerdfont/master/nerd-font-cheatsheet.txt"
|
||||||
|
|
||||||
|
# get current time
|
||||||
|
CURRENT_TIME=$(date +%s)
|
||||||
|
|
||||||
|
# send notifications
|
||||||
|
function notify() {
|
||||||
|
if [ "$(command -v notify-send)" ]; then
|
||||||
|
notify-send "$1" "$2"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# download icons
|
||||||
|
function download() {
|
||||||
|
notify `basename "$0"` 'downloading nerd-font icons list'
|
||||||
|
|
||||||
|
echo "" > "$ICONS_FILE"
|
||||||
|
|
||||||
|
# echo url to terminal and download the cheat sheet
|
||||||
|
echo "Downloading: $URL"
|
||||||
|
icons=$(curl -s "$URL")
|
||||||
|
|
||||||
|
echo "$icons" >> "$ICONS_FILE"
|
||||||
|
|
||||||
|
notify `basename "$0"` "icons downloaded"
|
||||||
|
}
|
||||||
|
|
||||||
|
# download icons file if it doesn't exist or is older than 5 days
|
||||||
|
if [ ! -f "$ICONS_FILE" ] || [ $((CURRENT_TIME - `stat -c %Y $ICONS_FILE`)) -gt 432000 ]; then
|
||||||
|
download
|
||||||
|
fi
|
||||||
|
|
||||||
|
function rofinf() {
|
||||||
|
icons=$(cat "$ICONS_FILE")
|
||||||
|
line=$(echo "$icons" | rofi -monitor -1 -dmenu -p " nerd-font " -i -font "JetBrainsMonoNL Nerd Font Mono" -width 100 -location 0 -lines 15 -kb-accept-entry Return | cut -d" " -f2 | tr '\n' ' ' | sed 's/⠀//g; s/\s//g' | xclip -selection clipboard)
|
||||||
|
exit_code=$?
|
||||||
|
|
||||||
|
line=($line)
|
||||||
|
}
|
||||||
|
|
||||||
|
selection="$@"
|
||||||
|
|
||||||
|
if [ -z "$selection" ]
|
||||||
|
then
|
||||||
|
readarray -t icons < "$ICONS_FILE"
|
||||||
|
|
||||||
|
for icon in "${icons[@]}"; do
|
||||||
|
echo "$icon"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
coproc $(echo "$selection" | cut -d" " -f2 | tr '\n' ' ' | sed 's/⠀//g; s/\s//g' | xclip -selection clipboard)
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
--download)
|
||||||
|
download
|
||||||
|
;;
|
||||||
|
--rofi)
|
||||||
|
rofinf
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
x
Reference in New Issue
Block a user