From f69b9957c9a86bb278293613ac4b9ebe262c9d39 Mon Sep 17 00:00:00 2001 From: Luca Bilke Date: Wed, 24 Jul 2024 19:16:58 +0200 Subject: [PATCH] plenty of statusbar changes --- .local/libexec/cron/checkup | 2 +- .local/libexec/daemons/sbd-battery | 4 +- .local/libexec/daemons/sbd-playerctl | 3 +- .local/libexec/dwm/dmenurecord | 2 + .local/libexec/statusbar/sb-battery | 120 +- .local/libexec/statusbar/sb-cpu | 36 +- .local/libexec/statusbar/sb-disk | 3 +- .local/libexec/statusbar/sb-forecast | 27 +- .local/libexec/statusbar/sb-internet | 1 + .local/libexec/statusbar/sb-ip | 20 +- .local/libexec/statusbar/sb-memory | 2 + .local/libexec/statusbar/sb-music | 22 +- .local/libexec/statusbar/sb-nettraf | 20 +- .local/libexec/statusbar/sb-packages | 1 + .local/libexec/statusbar/sb-playerctl | 1 + .local/share/chars/emoji | 1631 ------------------------- .local/share/emoji | 261 ++++ 17 files changed, 404 insertions(+), 1752 deletions(-) delete mode 100644 .local/share/chars/emoji create mode 100644 .local/share/emoji diff --git a/.local/libexec/cron/checkup b/.local/libexec/cron/checkup index 0033ebc53..a79f466e6 100755 --- a/.local/libexec/cron/checkup +++ b/.local/libexec/cron/checkup @@ -1,6 +1,6 @@ #!/bin/sh -pkill -RTMIN+8 dwmblocks +pkill -RTMIN+1 dwmblocks askupgrade() { [ "$(notify-send -c updates --action=Yes=Yes --action=No=No " Repository Sync" "Updates available. Update now?")" = 'Yes' ] && $TERMCMD upgrades diff --git a/.local/libexec/daemons/sbd-battery b/.local/libexec/daemons/sbd-battery index ce8c80ce8..2f04cb36a 100755 --- a/.local/libexec/daemons/sbd-battery +++ b/.local/libexec/daemons/sbd-battery @@ -2,6 +2,6 @@ # battery status file is sent in as an argument from sb-battery upower --monitor-detail -i "$1" | while read -r _; do - pkill -RTMIN+3 dwmblocks - timeout 5 cat >/dev/null + pkill -RTMIN+4 dwmblocks + sleep 5 done diff --git a/.local/libexec/daemons/sbd-playerctl b/.local/libexec/daemons/sbd-playerctl index 280c4feac..3e09eec35 100755 --- a/.local/libexec/daemons/sbd-playerctl +++ b/.local/libexec/daemons/sbd-playerctl @@ -1,4 +1,5 @@ #!/bin/sh playerctl status -F | while read -r _; do - pkill -RTMIN+11 dwmblocks + # WARN: Not currently used in dwmblocks + pkill -RTMIN+11 dwmblocks done diff --git a/.local/libexec/dwm/dmenurecord b/.local/libexec/dwm/dmenurecord index a6c755083..e57b78f8f 100755 --- a/.local/libexec/dwm/dmenurecord +++ b/.local/libexec/dwm/dmenurecord @@ -11,6 +11,7 @@ updateicon() { echo "$1" >/tmp/recordingicon + # WARN: Not currently used in dwmblocks pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}" } @@ -20,6 +21,7 @@ killrecording() { kill -15 "$recpid" rm -f /tmp/recordingpid updateicon "" + # WARN: Not currently used in dwmblocks pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}" # even after SIGTERM, ffmpeg may still run, so SIGKILL it. sleep 3 diff --git a/.local/libexec/statusbar/sb-battery b/.local/libexec/statusbar/sb-battery index 338311e55..1cb7e7008 100755 --- a/.local/libexec/statusbar/sb-battery +++ b/.local/libexec/statusbar/sb-battery @@ -1,66 +1,66 @@ #!/bin/sh -. "$HOME/.local/libexec/statusbar/colors" +. "colors" [ -z "$(ls /sys/class/power_supply)" ] && exit 0 for battery in /sys/class/power_supply/BAT?*; do - pidof -x sbd-battery >/dev/null 2>&1 || "$HOME/.local/libexec/daemons/sbd-battery" "$battery" >/dev/null 2>&1 & - [ -n "${capacity+x}" ] && printf " " - capacity="$(cat "$battery/capacity" 2>&1)" - case "$(cat "$battery/status" 2>&1)" in - "Full") - icon="󰁹" - color="$fggreen" - ;; - "Not charging") - icon="󰁹" - color="$fgwhite" - ;; - "Unknown") - icon="󰂑" - color="$fgorange" - ;; - "Charging") - icon="󰂄" - color="$fgcyan" - ;; - "Discharging") - if [ "$capacity" -le 10 ]; then - icon="󰂎" - color="$fgred" - elif [ "$capacity" -le 20 ]; then - icon="󰁺" - color="$fgred" - elif [ "$capacity" -le 30 ]; then - icon="󰁻" - color="$fgwhite" - elif [ "$capacity" -le 40 ]; then - icon="󰁼" - color="$fgwhite" - elif [ "$capacity" -le 50 ]; then - icon="󰁽" - color="$fgwhite" - elif [ "$capacity" -le 60 ]; then - icon="󰁾" - color="$fgwhite" - elif [ "$capacity" -le 70 ]; then - icon="󰁿" - color="$fgwhite" - elif [ "$capacity" -le 80 ]; then - icon="󰂀" - color="$fgwhite" - elif [ "$capacity" -le 90 ]; then - icon="󰂁" - color="$fgwhite" - elif [ "$capacity" -le 100 ]; then - icon="󰂂" - color="$fgwhite" - else - icon="󰁹" - color="$fgwhite" - fi - ;; - *) exit 1 ;; - esac - printf "%b" "$icon $capacity" + pidof -x sbd-battery >/dev/null 2>&1 || "$HOME/.local/libexec/daemons/sbd-battery" "$battery" >/dev/null 2>&1 & + [ -n "${capacity+x}" ] && printf " " + capacity="$(cat "$battery/capacity" 2>&1)" + case "$(cat "$battery/status" 2>&1)" in + "Full") + icon="󰁹" + color="$fggreen" + ;; + "Not charging") + icon="󰁹" + color="$fggreen" + ;; + "Unknown") + icon="󰂑" + color="$fgorange" + ;; + "Charging") + icon="󰂄" + color="$fgcyan" + ;; + "Discharging") + if [ "$capacity" -le 10 ]; then + icon="󰂎" + color="$fgred" + elif [ "$capacity" -le 20 ]; then + icon="󰁺" + color="$fgred" + elif [ "$capacity" -le 30 ]; then + icon="󰁻" + color="$fgwhite" + elif [ "$capacity" -le 40 ]; then + icon="󰁼" + color="$fgwhite" + elif [ "$capacity" -le 50 ]; then + icon="󰁽" + color="$fgwhite" + elif [ "$capacity" -le 60 ]; then + icon="󰁾" + color="$fgwhite" + elif [ "$capacity" -le 70 ]; then + icon="󰁿" + color="$fgwhite" + elif [ "$capacity" -le 80 ]; then + icon="󰂀" + color="$fgwhite" + elif [ "$capacity" -le 90 ]; then + icon="󰂁" + color="$fgwhite" + elif [ "$capacity" -le 100 ]; then + icon="󰂂" + color="$fgwhite" + else + icon="󰁹" + color="$fgwhite" + fi + ;; + *) exit 1 ;; + esac + printf "%b" "$icon $capacity" done && printf "\\n" diff --git a/.local/libexec/statusbar/sb-cpu b/.local/libexec/statusbar/sb-cpu index 1e867fe05..e0598e883 100755 --- a/.local/libexec/statusbar/sb-cpu +++ b/.local/libexec/statusbar/sb-cpu @@ -1,5 +1,5 @@ #!/bin/sh -. "$HOME/.local/libexec/statusbar/colors" +. "colors" cache=$XDG_RUNTIME_DIR/cpubarscache @@ -13,23 +13,23 @@ printf "%b" " $temp" first=true echo "$stats" | while read -r row; do - id=${row%% *} - rest=${row#* } - total=${rest%% *} - idle=${rest##* } - case "$( - echo "$old" | - awk '{if ($1 == id) printf "%d\n", (1 - (idle - $3) / (total - $2))*100 /12.5}' \ - id="$id" total="$total" idle="$idle" 2>/dev/null - )" in - "0") col=$fggreen icon=▁ ;; - "1") col=$fggreen icon=▂ ;; - "2") col=$fggreen icon=▃ ;; - "3") col=$fgorange icon=▄ ;; - "4") col=$fgorange icon=▅ ;; - "5") col=$fgorange icon=▆ ;; - "6" | "7" | "8") col=$fgred icon=▇ ;; - esac + id=${row%% *} + rest=${row#* } + total=${rest%% *} + idle=${rest##* } + case "$( + echo "$old" | + awk '{if ($1 == id) printf "%d\n", (1 - (idle - $3) / (total - $2))*100 /12.5}' \ + id="$id" total="$total" idle="$idle" 2>/dev/null + )" in + "0") col=$fggreen icon=▁ ;; + "1") col=$fggreen icon=▂ ;; + "2") col=$fggreen icon=▃ ;; + "3") col=$fgorange icon=▄ ;; + "4") col=$fgorange icon=▅ ;; + "5") col=$fgorange icon=▆ ;; + "6" | "7" | "8") col=$fgred icon=▇ ;; + esac if [ "$col" != "$prevcol" ]; then [ "$first" != "true" ] && printf "%b" "" printf "%b" "" diff --git a/.local/libexec/statusbar/sb-disk b/.local/libexec/statusbar/sb-disk index 4347c544d..ea834c0fc 100755 --- a/.local/libexec/statusbar/sb-disk +++ b/.local/libexec/statusbar/sb-disk @@ -1,4 +1,5 @@ #!/bin/sh +. "colors" IFS=' ' @@ -15,7 +16,7 @@ for mnt in $(findmnt -Py -t "$types"); do *) icon="" ;; esac $first || printf " " - echo "${icon} $(df -h "$TARGET" | awk ' /[0-9]/ {print $3 "/" $2}')" + printf "%b" "${icon} $(df -h "$TARGET" | awk ' /[0-9]/ {print $3 "/" $2}')" first=false done printf "\n" diff --git a/.local/libexec/statusbar/sb-forecast b/.local/libexec/statusbar/sb-forecast index c99400230..cc3897626 100755 --- a/.local/libexec/statusbar/sb-forecast +++ b/.local/libexec/statusbar/sb-forecast @@ -1,5 +1,5 @@ #!/bin/sh -. "$HOME/.local/libexec/statusbar/colors" +. "colors" # NOTE: This script takes its dwmblocks update signal as an argument so that it can refresh itself (defaults to 5) # Options can be found at https://wttr.in/:help @@ -11,26 +11,27 @@ weatheropts="?FA" emojiopts="?FA&format=%c" getforecast() { - curl -sfL --retry 5 "$url$weatheropts" >"$weatherfile" || return 1 - curl -sfL "$url$emojiopts" --retry 5 | sed 's/☀️//;s/☁️//;s/⛅️//;s/⛈//;s/✨//;s/❄️//;s/🌦//;s/🌧//;s/🌨//;s/🌩//;s/🌫//;' | cut -d ' ' -f 1 >"$emojifile" || return 1 + curl -sfL --retry 5 "$url$weatheropts" >"$weatherfile" || return 1 + curl -sfL "$url$emojiopts" --retry 5 | sed 's/☀️//;s/☁️//;s/⛅️//;s/⛈//;s/✨//;s/❄️//;s/🌦//;s/🌧//;s/🌨//;s/🌩//;s/🌫//;' | cut -d ' ' -f 1 >"$emojifile" || return 1 } fresh() { - [ -s "$weatherfile" ] && [ "$(stat -c %y "$weatherfile" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] + [ -s "$weatherfile" ] && [ "$(stat -c %y "$weatherfile" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] } readfile() { - weather="$(cat "$weatherfile")" - precipitation="$(echo "$weather" | sed '16q;d' | grep -wo "[0-9]*%" | sort -rn | head -1q)" - highlow="$(echo "$weather" | sed '13q;d' | grep -o "m\\([-+]\\)*[0-9]\\+" | sed 's/[+m]//g' | sort -g | sed -e 1b -e '$!d')" - emoji="$(cat "$emojifile")" + weather="$(cat "$weatherfile")" + precipitation="$(echo "$weather" | sed '16q;d' | grep -wo "[0-9]*%" | sort -rn | head -1q)" + highlow="$(echo "$weather" | sed '13q;d' | grep -o "m\\([-+]\\)*[0-9]\\+" | sed 's/[+m]//g' | sort -g | sed -e 1b -e '$!d')" + emoji="$(cat "$emojifile")" } output() { - readfile - printf "%b" "$emoji $precipitation $(echo "$highlow" | cut -d" " -f1)° $(echo "$highlow" | cut -d" " -f2)°\n" + readfile + printf "%b" "$emoji $precipitation $(echo "$highlow" | cut -d" " -f1)° $(echo "$highlow" | cut -d" " -f2)°\n" } if fresh; then - output + output else - getforecast && pkill "-RTMIN+${1:-5}" dwmblocks & - printf "%b" " Getting Weather\n" + # WARN: Not currently used in dwmblocks + getforecast && pkill "-RTMIN+5" dwmblocks & + printf "%b" " Getting Weather\n" fi diff --git a/.local/libexec/statusbar/sb-internet b/.local/libexec/statusbar/sb-internet index a73be1591..5c95287a4 100755 --- a/.local/libexec/statusbar/sb-internet +++ b/.local/libexec/statusbar/sb-internet @@ -1,4 +1,5 @@ #!/bin/sh +. "colors" shift="" diff --git a/.local/libexec/statusbar/sb-ip b/.local/libexec/statusbar/sb-ip index 6bb353ed4..4f9aa0904 100755 --- a/.local/libexec/statusbar/sb-ip +++ b/.local/libexec/statusbar/sb-ip @@ -1,6 +1,16 @@ #!/bin/sh -# https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/ -loc_addr="$(ip route get 9.9.9.9 | head -1 | cut -d ' ' -f7)" -pub_addr="$(curl ipv4.icanhazip.com 2>/dev/null)" || exit -# flag="$(grep "flag: " "${XDG_DATA_HOME:-$HOME/.local/share}/emoji" | grep "$(geoiplookup "$addr" | sed 's/.*, //')" | sed 's/ flag: .*//')" -printf "%s %s\n" "$loc_addr" "$pub_addr" +. "colors" + +cache="${XDG_CACHE_HOME:-$HOME/.cache}/geoip" + +# loc_addr="$(ip route get 9.9.9.9 | awk 'NR==1 {print $7}')" +pub_addr="$(curl -s ipv4.icanhazip.com 2>/dev/null)" + +location="$(awk -F: -v ip="$pub_addr" '$1==ip {print $2}' "$cache")" +[ -z "$location" ] && { + location="$(curl -s "https://reallyfreegeoip.org/json/${pub_addr}" | jq -r '.country_name')" + echo "${pub_addr}:${location}" >>"$cache" +} +flag="$(awk -v loc="$location" '$0 ~ loc {print $1}' "${XDG_DATA_HOME:-$HOME/.local/share}/emoji")" + +echo "${flag} ${pub_addr}" diff --git a/.local/libexec/statusbar/sb-memory b/.local/libexec/statusbar/sb-memory index 25088c831..b5cb3c782 100755 --- a/.local/libexec/statusbar/sb-memory +++ b/.local/libexec/statusbar/sb-memory @@ -1,3 +1,5 @@ #!/bin/sh +. "colors" + printf "%b" "󰘚 " free -m | awk 'NR==2 { printf ("%2.2fG/%2.2fG\n", ($3 / 1024), ($2 / 1024)) }' diff --git a/.local/libexec/statusbar/sb-music b/.local/libexec/statusbar/sb-music index 848f6d0a3..66cd4f71b 100755 --- a/.local/libexec/statusbar/sb-music +++ b/.local/libexec/statusbar/sb-music @@ -1,15 +1,17 @@ #!/bin/sh +. "colors" + filter() { - if mpc 1>/dev/null 2>&1 && [ "$(mpc | wc -l)" -eq 3 ]; then - song=$(mpc current -f "%artist% - %title%" | xargs -0) - [ ${#song} -gt 35 ] && song="$(printf %.35s "$song")…" - mpc | awk 'NR==2' | grep -q playing && icon="󰏤" || icon="󰐊" - echo "$icon $song" - elif mpc 1>/dev/null 2>&1 && [ "$(mpc | wc -l)" -eq 1 ]; then - echo "󰓛" - else - exit 1 - fi + if mpc 1>/dev/null 2>&1 && [ "$(mpc | wc -l)" -eq 3 ]; then + song=$(mpc current -f "%artist% - %title%" | xargs -0) + [ ${#song} -gt 35 ] && song="$(printf %.35s "$song")…" + mpc | awk 'NR==2' | grep -q playing && icon="󰏤" || icon="󰐊" + echo "$icon $song" + elif mpc 1>/dev/null 2>&1 && [ "$(mpc | wc -l)" -eq 1 ]; then + echo "󰓛" + else + exit 1 + fi } pidof -x sbd-music >/dev/null 2>&1 || "$HOME/.local/libexec/daemons/sbd-music" >/dev/null 2>&1 & filter diff --git a/.local/libexec/statusbar/sb-nettraf b/.local/libexec/statusbar/sb-nettraf index b1a239fa3..3ea644c27 100755 --- a/.local/libexec/statusbar/sb-nettraf +++ b/.local/libexec/statusbar/sb-nettraf @@ -1,17 +1,17 @@ #!/bin/sh -# . "$HOME/.local/libexec/statusbar/colors" +. "colors" # TODO: Coloring based on speed update() { - sum=0 - for arg; do - read -r i <"$arg" - sum=$((sum + i)) - done - cache=$XDG_RUNTIME_DIR/${1##*/} - [ -f "$cache" ] && read -r old <"$cache" || old=0 - printf "%b" "$sum\n" >"$cache" - printf "%b" "$((sum - old))\n" + sum=0 + for arg; do + read -r i <"$arg" + sum=$((sum + i)) + done + cache=$XDG_RUNTIME_DIR/${1##*/} + [ -f "$cache" ] && read -r old <"$cache" || old=0 + printf "%b" "$sum\n" >"$cache" + printf "%b" "$((sum - old))\n" } rx=$(update /sys/class/net/[ew]*/statistics/rx_bytes) diff --git a/.local/libexec/statusbar/sb-packages b/.local/libexec/statusbar/sb-packages index 61ae09886..a715a3696 100755 --- a/.local/libexec/statusbar/sb-packages +++ b/.local/libexec/statusbar/sb-packages @@ -1,4 +1,5 @@ #!/bin/sh +. "colors" icon="" diff --git a/.local/libexec/statusbar/sb-playerctl b/.local/libexec/statusbar/sb-playerctl index 81054027d..dd3d2fb21 100755 --- a/.local/libexec/statusbar/sb-playerctl +++ b/.local/libexec/statusbar/sb-playerctl @@ -1,4 +1,5 @@ #!/bin/sh +. "colors" pidof -x sbd-playerctl >/dev/null 2>&1 || "$HOME/.local/libexec/daemons/sbd-playerctl" >/dev/null 2>&1 & [ "$(playerctl status 2>&1)" = "No players found" ] && printf "%b" "" && exit 1 diff --git a/.local/share/chars/emoji b/.local/share/chars/emoji deleted file mode 100644 index ec6318d88..000000000 --- a/.local/share/chars/emoji +++ /dev/null @@ -1,1631 +0,0 @@ -😀 grinning face -😃 grinning face with big eyes -😄 grinning face with smiling eyes -😁 beaming face with smiling eyes -😆 grinning squinting face -😅 grinning face with sweat -🤣 rolling on the floor laughing -😂 face with tears of joy -🙂 slightly smiling face -🙃 upside-down face -🫠 melting face -😉 winking face -😊 smiling face with smiling eyes -😇 smiling face with halo -🥰 smiling face with hearts -😍 smiling face with heart-eyes -🤩 star-struck -😘 face blowing a kiss -😗 kissing face -☺️ smiling face -😚 kissing face with closed eyes -😙 kissing face with smiling eyes -🥲 smiling face with tear -😋 face savoring food -😛 face with tongue -😜 winking face with tongue -🤪 zany face -😝 squinting face with tongue -🤑 money-mouth face -🤗 smiling face with open hands -🤭 face with hand over mouth -🫢 face with open eyes and hand over mouth -🫣 face with peeking eye -🤫 shushing face -🤔 thinking face -🫡 saluting face -🤐 zipper-mouth face -🤨 face with raised eyebrow -😐 neutral face -😑 expressionless face -😶 face without mouth -🫥 dotted line face -😏 smirking face -😒 unamused face -🙄 face with rolling eyes -😬 grimacing face -🤥 lying face -😌 relieved face -😔 pensive face -😪 sleepy face -🤤 drooling face -😴 sleeping face -😷 face with medical mask -🤒 face with thermometer -🤕 face with head-bandage -🤢 nauseated face -🤮 face vomiting -🤧 sneezing face -🥵 hot face -🥶 cold face -🥴 woozy face -😵 face with crossed-out eyes -🤯 exploding head -🤠 cowboy hat face -🥳 partying face -🥸 disguised face -😎 smiling face with sunglasses -🤓 nerd face -🧐 face with monocle -😕 confused face -🫤 face with diagonal mouth -😟 worried face -🙁 slightly frowning face -☹️ frowning face -😮 face with open mouth -😯 hushed face -😲 astonished face -😳 flushed face -🥺 pleading face -🥹 face holding back tears -😦 frowning face with open mouth -😧 anguished face -😨 fearful face -😰 anxious face with sweat -😥 sad but relieved face -😢 crying face -😭 loudly crying face -😱 face screaming in fear -😖 confounded face -😣 persevering face -😞 disappointed face -😓 downcast face with sweat -😩 weary face -😫 tired face -🥱 yawning face -😤 face with steam from nose -😡 pouting face -😠 angry face -🤬 face with symbols on mouth -😈 smiling face with horns -👿 angry face with horns -💀 skull -☠️ skull and crossbones -💩 pile of poo -🤡 clown face -👹 ogre -👺 goblin -👻 ghost -👽 alien -👾 alien monster -🤖 robot -😺 grinning cat -😸 grinning cat with smiling eyes -😹 cat with tears of joy -😻 smiling cat with heart-eyes -😼 cat with wry smile -😽 kissing cat -🙀 weary cat -😿 crying cat -😾 pouting cat -🙈 see-no-evil monkey -🙉 hear-no-evil monkey -🙊 speak-no-evil monkey -💋 kiss mark -💌 love letter -💘 heart with arrow -💝 heart with ribbon -💖 sparkling heart -💗 growing heart -💓 beating heart -💞 revolving hearts -💕 two hearts -💟 heart decoration -❣️ heart exclamation -💔 broken heart -❤️ red heart -🧡 orange heart -💛 yellow heart -💚 green heart -💙 blue heart -💜 purple heart -🤎 brown heart -🖤 black heart -🤍 white heart -💯 hundred points -💢 anger symbol -💥 collision -💫 dizzy -💦 sweat droplets -💨 dashing away -🕳️ hole -💣 bomb -💬 speech balloon -🗨️ left speech bubble -🗯️ right anger bubble -💭 thought balloon -💤 zzz -👋 waving hand -🤚 raised back of hand -🖐️ hand with fingers splayed -✋ raised hand -🖖 vulcan salute -🫱 rightwards hand -🫲 leftwards hand -🫳 palm down hand -🫴 palm up hand -👌 OK hand -🤌 pinched fingers -🤏 pinching hand -✌️ victory hand -🤞 crossed fingers -🫰 hand with index finger and thumb crossed -🤟 love-you gesture -🤘 sign of the horns -🤙 call me hand -👈 backhand index pointing left -👉 backhand index pointing right -👆 backhand index pointing up -🖕 middle finger -👇 backhand index pointing down -☝️ index pointing up -🫵 index pointing at the viewer -👍 thumbs up -👎 thumbs down -✊ raised fist -👊 oncoming fist -🤛 left-facing fist -🤜 right-facing fist -👏 clapping hands -🙌 raising hands -🫶 heart hands -👐 open hands -🤲 palms up together -🤝 handshake -🙏 folded hands -✍️ writing hand -💅 nail polish -🤳 selfie -💪 flexed biceps -🦾 mechanical arm -🦿 mechanical leg -🦵 leg -🦶 foot -👂 ear -🦻 ear with hearing aid -👃 nose -🧠 brain -🫀 anatomical heart -🫁 lungs -🦷 tooth -🦴 bone -👀 eyes -👁️ eye -👅 tongue -👄 mouth -🫦 biting lip -👶 baby -🧒 child -👦 boy -👧 girl -🧑 person -👱 person: blond hair -👨 man -🧔 person: beard -👩 woman -🧓 older person -👴 old man -👵 old woman -🙍 person frowning -🙎 person pouting -🙅 person gesturing NO -🙆 person gesturing OK -💁 person tipping hand -🙋 person raising hand -🧏 deaf person -🙇 person bowing -🤦 person facepalming -🤷 person shrugging -👮 police officer -🕵️ detective -💂 guard -🥷 ninja -👷 construction worker -🫅 person with crown -🤴 prince -👸 princess -👳 person wearing turban -👲 person with skullcap -🧕 woman with headscarf -🤵 person in tuxedo -👰 person with veil -🤰 pregnant woman -🫃 pregnant man -🫄 pregnant person -🤱 breast-feeding -👼 baby angel -🎅 Santa Claus -🤶 Mrs. Claus -🦸 superhero -🦹 supervillain -🧙 mage -🧚 fairy -🧛 vampire -🧜 merperson -🧝 elf -🧞 genie -🧟 zombie -🧌 troll -💆 person getting massage -💇 person getting haircut -🚶 person walking -🧍 person standing -🧎 person kneeling -🏃 person running -💃 woman dancing -🕺 man dancing -🕴️ person in suit levitating -👯 people with bunny ears -🧖 person in steamy room -🧗 person climbing -🤺 person fencing -🏇 horse racing -⛷️ skier -🏂 snowboarder -🏌️ person golfing -🏄 person surfing -🚣 person rowing boat -🏊 person swimming -⛹️ person bouncing ball -🏋️ person lifting weights -🚴 person biking -🚵 person mountain biking -🤸 person cartwheeling -🤼 people wrestling -🤽 person playing water polo -🤾 person playing handball -🤹 person juggling -🧘 person in lotus position -🛀 person taking bath -🛌 person in bed -👭 women holding hands -👫 woman and man holding hands -👬 men holding hands -💏 kiss -💑 couple with heart -👪 family -🗣️ speaking head -👤 bust in silhouette -👥 busts in silhouette -🫂 people hugging -👣 footprints -🐵 monkey face -🐒 monkey -🦍 gorilla -🦧 orangutan -🐶 dog face -🐕 dog -🦮 guide dog -🐩 poodle -🐺 wolf -🦊 fox -🦝 raccoon -🐱 cat face -🐈 cat -🦁 lion -🐯 tiger face -🐅 tiger -🐆 leopard -🐴 horse face -🐎 horse -🦄 unicorn -🦓 zebra -🦌 deer -🦬 bison -🐮 cow face -🐂 ox -🐃 water buffalo -🐄 cow -🐷 pig face -🐖 pig -🐗 boar -🐽 pig nose -🐏 ram -🐑 ewe -🐐 goat -🐪 camel -🐫 two-hump camel -🦙 llama -🦒 giraffe -🐘 elephant -🦣 mammoth -🦏 rhinoceros -🦛 hippopotamus -🐭 mouse face -🐁 mouse -🐀 rat -🐹 hamster -🐰 rabbit face -🐇 rabbit -🐿️ chipmunk -🦫 beaver -🦔 hedgehog -🦇 bat -🐻 bear -🐨 koala -🐼 panda -🦥 sloth -🦦 otter -🦨 skunk -🦘 kangaroo -🦡 badger -🐾 paw prints -🦃 turkey -🐔 chicken -🐓 rooster -🐣 hatching chick -🐤 baby chick -🐥 front-facing baby chick -🐦 bird -🐧 penguin -🕊️ dove -🦅 eagle -🦆 duck -🦢 swan -🦉 owl -🦤 dodo -🪶 feather -🦩 flamingo -🦚 peacock -🦜 parrot -🐸 frog -🐊 crocodile -🐢 turtle -🦎 lizard -🐍 snake -🐲 dragon face -🐉 dragon -🦕 sauropod -🦖 T-Rex -🐳 spouting whale -🐋 whale -🐬 dolphin -🦭 seal -🐟 fish -🐠 tropical fish -🐡 blowfish -🦈 shark -🐙 octopus -🐚 spiral shell -🪸 coral -🐌 snail -🦋 butterfly -🐛 bug -🐜 ant -🐝 honeybee -🪲 beetle -🐞 lady beetle -🦗 cricket -🪳 cockroach -🕷️ spider -🕸️ spider web -🦂 scorpion -🦟 mosquito -🪰 fly -🪱 worm -🦠 microbe -💐 bouquet -🌸 cherry blossom -💮 white flower -🪷 lotus -🏵️ rosette -🌹 rose -🥀 wilted flower -🌺 hibiscus -🌻 sunflower -🌼 blossom -🌷 tulip -🌱 seedling -🪴 potted plant -🌲 evergreen tree -🌳 deciduous tree -🌴 palm tree -🌵 cactus -🌾 sheaf of rice -🌿 herb -☘️ shamrock -🍀 four leaf clover -🍁 maple leaf -🍂 fallen leaf -🍃 leaf fluttering in wind -🪹 empty nest -🪺 nest with eggs -🍇 grapes -🍈 melon -🍉 watermelon -🍊 tangerine -🍋 lemon -🍌 banana -🍍 pineapple -🥭 mango -🍎 red apple -🍏 green apple -🍐 pear -🍑 peach -🍒 cherries -🍓 strawberry -🫐 blueberries -🥝 kiwi fruit -🍅 tomato -🫒 olive -🥥 coconut -🥑 avocado -🍆 eggplant -🥔 potato -🥕 carrot -🌽 ear of corn -🌶️ hot pepper -🫑 bell pepper -🥒 cucumber -🥬 leafy green -🥦 broccoli -🧄 garlic -🧅 onion -🍄 mushroom -🥜 peanuts -🫘 beans -🌰 chestnut -🍞 bread -🥐 croissant -🥖 baguette bread -🫓 flatbread -🥨 pretzel -🥯 bagel -🥞 pancakes -🧇 waffle -🧀 cheese wedge -🍖 meat on bone -🍗 poultry leg -🥩 cut of meat -🥓 bacon -🍔 hamburger -🍟 french fries -🍕 pizza -🌭 hot dog -🥪 sandwich -🌮 taco -🌯 burrito -🫔 tamale -🥙 stuffed flatbread -🧆 falafel -🥚 egg -🍳 cooking -🥘 shallow pan of food -🍲 pot of food -🫕 fondue -🥣 bowl with spoon -🥗 green salad -🍿 popcorn -🧈 butter -🧂 salt -🥫 canned food -🍱 bento box -🍘 rice cracker -🍙 rice ball -🍚 cooked rice -🍛 curry rice -🍜 steaming bowl -🍝 spaghetti -🍠 roasted sweet potato -🍢 oden -🍣 sushi -🍤 fried shrimp -🍥 fish cake with swirl -🥮 moon cake -🍡 dango -🥟 dumpling -🥠 fortune cookie -🥡 takeout box -🦀 crab -🦞 lobster -🦐 shrimp -🦑 squid -🦪 oyster -🍦 soft ice cream -🍧 shaved ice -🍨 ice cream -🍩 doughnut -🍪 cookie -🎂 birthday cake -🍰 shortcake -🧁 cupcake -🥧 pie -🍫 chocolate bar -🍬 candy -🍭 lollipop -🍮 custard -🍯 honey pot -🍼 baby bottle -🥛 glass of milk -☕ hot beverage -🫖 teapot -🍵 teacup without handle -🍶 sake -🍾 bottle with popping cork -🍷 wine glass -🍸 cocktail glass -🍹 tropical drink -🍺 beer mug -🍻 clinking beer mugs -🥂 clinking glasses -🥃 tumbler glass -🫗 pouring liquid -🥤 cup with straw -🧋 bubble tea -🧃 beverage box -🧉 mate -🧊 ice -🥢 chopsticks -🍽️ fork and knife with plate -🍴 fork and knife -🥄 spoon -🔪 kitchen knife -🫙 jar -🏺 amphora -🌍 globe showing Europe-Africa -🌎 globe showing Americas -🌏 globe showing Asia-Australia -🌐 globe with meridians -🗺️ world map -🗾 map of Japan -🧭 compass -🏔️ snow-capped mountain -⛰️ mountain -🌋 volcano -🗻 mount fuji -🏕️ camping -🏖️ beach with umbrella -🏜️ desert -🏝️ desert island -🏞️ national park -🏟️ stadium -🏛️ classical building -🏗️ building construction -🧱 brick -🪨 rock -🪵 wood -🛖 hut -🏘️ houses -🏚️ derelict house -🏠 house -🏡 house with garden -🏢 office building -🏣 Japanese post office -🏤 post office -🏥 hospital -🏦 bank -🏨 hotel -🏩 love hotel -🏪 convenience store -🏫 school -🏬 department store -🏭 factory -🏯 Japanese castle -🏰 castle -💒 wedding -🗼 Tokyo tower -🗽 Statue of Liberty -⛪ church -🕌 mosque -🛕 hindu temple -🕍 synagogue -⛩️ shinto shrine -🕋 kaaba -⛲ fountain -⛺ tent -🌁 foggy -🌃 night with stars -🏙️ cityscape -🌄 sunrise over mountains -🌅 sunrise -🌆 cityscape at dusk -🌇 sunset -🌉 bridge at night -♨️ hot springs -🎠 carousel horse -🛝 playground slide -🎡 ferris wheel -🎢 roller coaster -💈 barber pole -🎪 circus tent -🚂 locomotive -🚃 railway car -🚄 high-speed train -🚅 bullet train -🚆 train -🚇 metro -🚈 light rail -🚉 station -🚊 tram -🚝 monorail -🚞 mountain railway -🚋 tram car -🚌 bus -🚍 oncoming bus -🚎 trolleybus -🚐 minibus -🚑 ambulance -🚒 fire engine -🚓 police car -🚔 oncoming police car -🚕 taxi -🚖 oncoming taxi -🚗 automobile -🚘 oncoming automobile -🚙 sport utility vehicle -🛻 pickup truck -🚚 delivery truck -🚛 articulated lorry -🚜 tractor -🏎️ racing car -🏍️ motorcycle -🛵 motor scooter -🦽 manual wheelchair -🦼 motorized wheelchair -🛺 auto rickshaw -🚲 bicycle -🛴 kick scooter -🛹 skateboard -🛼 roller skate -🚏 bus stop -🛣️ motorway -🛤️ railway track -🛢️ oil drum -⛽ fuel pump -🛞 wheel -🚨 police car light -🚥 horizontal traffic light -🚦 vertical traffic light -🛑 stop sign -🚧 construction -⚓ anchor -🛟 ring buoy -⛵ sailboat -🛶 canoe -🚤 speedboat -🛳️ passenger ship -⛴️ ferry -🛥️ motor boat -🚢 ship -✈️ airplane -🛩️ small airplane -🛫 airplane departure -🛬 airplane arrival -🪂 parachute -💺 seat -🚁 helicopter -🚟 suspension railway -🚠 mountain cableway -🚡 aerial tramway -🛰️ satellite -🚀 rocket -🛸 flying saucer -🛎️ bellhop bell -🧳 luggage -⌛ hourglass done -⏳ hourglass not done -⌚ watch -⏰ alarm clock -⏱️ stopwatch -⏲️ timer clock -🕰️ mantelpiece clock -🕛 twelve o’clock -🕧 twelve-thirty -🕐 one o’clock -🕜 one-thirty -🕑 two o’clock -🕝 two-thirty -🕒 three o’clock -🕞 three-thirty -🕓 four o’clock -🕟 four-thirty -🕔 five o’clock -🕠 five-thirty -🕕 six o’clock -🕡 six-thirty -🕖 seven o’clock -🕢 seven-thirty -🕗 eight o’clock -🕣 eight-thirty -🕘 nine o’clock -🕤 nine-thirty -🕙 ten o’clock -🕥 ten-thirty -🕚 eleven o’clock -🕦 eleven-thirty -🌑 new moon -🌒 waxing crescent moon -🌓 first quarter moon -🌔 waxing gibbous moon -🌕 full moon -🌖 waning gibbous moon -🌗 last quarter moon -🌘 waning crescent moon -🌙 crescent moon -🌚 new moon face -🌛 first quarter moon face -🌜 last quarter moon face -🌡️ thermometer -☀️ sun -🌝 full moon face -🌞 sun with face -🪐 ringed planet -⭐ star -🌟 glowing star -🌠 shooting star -🌌 milky way -☁️ cloud -⛅ sun behind cloud -⛈️ cloud with lightning and rain -🌤️ sun behind small cloud -🌥️ sun behind large cloud -🌦️ sun behind rain cloud -🌧️ cloud with rain -🌨️ cloud with snow -🌩️ cloud with lightning -🌪️ tornado -🌫️ fog -🌬️ wind face -🌀 cyclone -🌈 rainbow -🌂 closed umbrella -☂️ umbrella -☔ umbrella with rain drops -⛱️ umbrella on ground -⚡ high voltage -❄️ snowflake -☃️ snowman -⛄ snowman without snow -☄️ comet -🔥 fire -💧 droplet -🌊 water wave -🎃 jack-o-lantern -🎄 Christmas tree -🎆 fireworks -🎇 sparkler -🧨 firecracker -✨ sparkles -🎈 balloon -🎉 party popper -🎊 confetti ball -🎋 tanabata tree -🎍 pine decoration -🎎 Japanese dolls -🎏 carp streamer -🎐 wind chime -🎑 moon viewing ceremony -🧧 red envelope -🎀 ribbon -🎁 wrapped gift -🎗️ reminder ribbon -🎟️ admission tickets -🎫 ticket -🎖️ military medal -🏆 trophy -🏅 sports medal -🥇 1st place medal -🥈 2nd place medal -🥉 3rd place medal -⚽ soccer ball -⚾ baseball -🥎 softball -🏀 basketball -🏐 volleyball -🏈 american football -🏉 rugby football -🎾 tennis -🥏 flying disc -🎳 bowling -🏏 cricket game -🏑 field hockey -🏒 ice hockey -🥍 lacrosse -🏓 ping pong -🏸 badminton -🥊 boxing glove -🥋 martial arts uniform -🥅 goal net -⛳ flag in hole -⛸️ ice skate -🎣 fishing pole -🤿 diving mask -🎽 running shirt -🎿 skis -🛷 sled -🥌 curling stone -🎯 bullseye -🪀 yo-yo -🪁 kite -🎱 pool 8 ball -🔮 crystal ball -🪄 magic wand -🧿 nazar amulet -🪬 hamsa -🎮 video game -🕹️ joystick -🎰 slot machine -🎲 game die -🧩 puzzle piece -🧸 teddy bear -🪅 piñata -🪩 mirror ball -🪆 nesting dolls -♠️ spade suit -♥️ heart suit -♦️ diamond suit -♣️ club suit -♟️ chess pawn -🃏 joker -🀄 mahjong red dragon -🎴 flower playing cards -🎭 performing arts -🖼️ framed picture -🎨 artist palette -🧵 thread -🪡 sewing needle -🧶 yarn -🪢 knot -👓 glasses -🕶️ sunglasses -🥽 goggles -🥼 lab coat -🦺 safety vest -👔 necktie -👕 t-shirt -👖 jeans -🧣 scarf -🧤 gloves -🧥 coat -🧦 socks -👗 dress -👘 kimono -🥻 sari -🩱 one-piece swimsuit -🩲 briefs -🩳 shorts -👙 bikini -👚 woman’s clothes -👛 purse -👜 handbag -👝 clutch bag -🛍️ shopping bags -🎒 backpack -🩴 thong sandal -👞 man’s shoe -👟 running shoe -🥾 hiking boot -🥿 flat shoe -👠 high-heeled shoe -👡 woman’s sandal -🩰 ballet shoes -👢 woman’s boot -👑 crown -👒 woman’s hat -🎩 top hat -🎓 graduation cap -🧢 billed cap -🪖 military helmet -⛑️ rescue worker’s helmet -📿 prayer beads -💄 lipstick -💍 ring -💎 gem stone -🔇 muted speaker -🔈 speaker low volume -🔉 speaker medium volume -🔊 speaker high volume -📢 loudspeaker -📣 megaphone -📯 postal horn -🔔 bell -🔕 bell with slash -🎼 musical score -🎵 musical note -🎶 musical notes -🎙️ studio microphone -🎚️ level slider -🎛️ control knobs -🎤 microphone -🎧 headphone -📻 radio -🎷 saxophone -🪗 accordion -🎸 guitar -🎹 musical keyboard -🎺 trumpet -🎻 violin -🪕 banjo -🥁 drum -🪘 long drum -📱 mobile phone -📲 mobile phone with arrow -☎️ telephone -📞 telephone receiver -📟 pager -📠 fax machine -🔋 battery -🪫 low battery -🔌 electric plug -💻 laptop -🖥️ desktop computer -🖨️ printer -⌨️ keyboard -🖱️ computer mouse -🖲️ trackball -💽 computer disk -💾 floppy disk -💿 optical disk -📀 dvd -🧮 abacus -🎥 movie camera -🎞️ film frames -📽️ film projector -🎬 clapper board -📺 television -📷 camera -📸 camera with flash -📹 video camera -📼 videocassette -🔍 magnifying glass tilted left -🔎 magnifying glass tilted right -🕯️ candle -💡 light bulb -🔦 flashlight -🏮 red paper lantern -🪔 diya lamp -📔 notebook with decorative cover -📕 closed book -📖 open book -📗 green book -📘 blue book -📙 orange book -📚 books -📓 notebook -📒 ledger -📃 page with curl -📜 scroll -📄 page facing up -📰 newspaper -🗞️ rolled-up newspaper -📑 bookmark tabs -🔖 bookmark -🏷️ label -💰 money bag -🪙 coin -💴 yen banknote -💵 dollar banknote -💶 euro banknote -💷 pound banknote -💸 money with wings -💳 credit card -🧾 receipt -💹 chart increasing with yen -✉️ envelope -📧 e-mail -📨 incoming envelope -📩 envelope with arrow -📤 outbox tray -📥 inbox tray -📦 package -📫 closed mailbox with raised flag -📪 closed mailbox with lowered flag -📬 open mailbox with raised flag -📭 open mailbox with lowered flag -📮 postbox -🗳️ ballot box with ballot -✏️ pencil -✒️ black nib -🖋️ fountain pen -🖊️ pen -🖌️ paintbrush -🖍️ crayon -📝 memo -💼 briefcase -📁 file folder -📂 open file folder -🗂️ card index dividers -📅 calendar -📆 tear-off calendar -🗒️ spiral notepad -🗓️ spiral calendar -📇 card index -📈 chart increasing -📉 chart decreasing -📊 bar chart -📋 clipboard -📌 pushpin -📍 round pushpin -📎 paperclip -🖇️ linked paperclips -📏 straight ruler -📐 triangular ruler -✂️ scissors -🗃️ card file box -🗄️ file cabinet -🗑️ wastebasket -🔒 locked -🔓 unlocked -🔏 locked with pen -🔐 locked with key -🔑 key -🗝️ old key -🔨 hammer -🪓 axe -⛏️ pick -⚒️ hammer and pick -🛠️ hammer and wrench -🗡️ dagger -⚔️ crossed swords -🔫 water pistol -🪃 boomerang -🏹 bow and arrow -🛡️ shield -🪚 carpentry saw -🔧 wrench -🪛 screwdriver -🔩 nut and bolt -⚙️ gear -🗜️ clamp -⚖️ balance scale -🦯 white cane -🔗 link -⛓️ chains -🪝 hook -🧰 toolbox -🧲 magnet -🪜 ladder -⚗️ alembic -🧪 test tube -🧫 petri dish -🧬 dna -🔬 microscope -🔭 telescope -📡 satellite antenna -💉 syringe -🩸 drop of blood -💊 pill -🩹 adhesive bandage -🩼 crutch -🩺 stethoscope -🩻 x-ray -🚪 door -🛗 elevator -🪞 mirror -🪟 window -🛏️ bed -🛋️ couch and lamp -🪑 chair -🚽 toilet -🪠 plunger -🚿 shower -🛁 bathtub -🪤 mouse trap -🪒 razor -🧴 lotion bottle -🧷 safety pin -🧹 broom -🧺 basket -🧻 roll of paper -🪣 bucket -🧼 soap -🫧 bubbles -🪥 toothbrush -🧽 sponge -🧯 fire extinguisher -🛒 shopping cart -🚬 cigarette -⚰️ coffin -🪦 headstone -⚱️ funeral urn -🗿 moai -🪧 placard -🪪 identification card -🏧 ATM sign -🚮 litter in bin sign -🚰 potable water -♿ wheelchair symbol -🚹 men’s room -🚺 women’s room -🚻 restroom -🚼 baby symbol -🚾 water closet -🛂 passport control -🛃 customs -🛄 baggage claim -🛅 left luggage -⚠️ warning -🚸 children crossing -⛔ no entry -🚫 prohibited -🚳 no bicycles -🚭 no smoking -🚯 no littering -🚱 non-potable water -🚷 no pedestrians -📵 no mobile phones -🔞 no one under eighteen -☢️ radioactive -☣️ biohazard -⬆️ up arrow -↗️ up-right arrow -➡️ right arrow -↘️ down-right arrow -⬇️ down arrow -↙️ down-left arrow -⬅️ left arrow -↖️ up-left arrow -↕️ up-down arrow -↔️ left-right arrow -↩️ right arrow curving left -↪️ left arrow curving right -⤴️ right arrow curving up -⤵️ right arrow curving down -🔃 clockwise vertical arrows -🔄 counterclockwise arrows button -🔙 BACK arrow -🔚 END arrow -🔛 ON! arrow -🔜 SOON arrow -🔝 TOP arrow -🛐 place of worship -⚛️ atom symbol -🕉️ om -✡️ star of David -☸️ wheel of dharma -☯️ yin yang -✝️ latin cross -☦️ orthodox cross -☪️ star and crescent -☮️ peace symbol -🕎 menorah -🔯 dotted six-pointed star -♈ Aries -♉ Taurus -♊ Gemini -♋ Cancer -♌ Leo -♍ Virgo -♎ Libra -♏ Scorpio -♐ Sagittarius -♑ Capricorn -♒ Aquarius -♓ Pisces -⛎ Ophiuchus -🔀 shuffle tracks button -🔁 repeat button -🔂 repeat single button -▶️ play button -⏩ fast-forward button -⏭️ next track button -⏯️ play or pause button -◀️ reverse button -⏪ fast reverse button -⏮️ last track button -🔼 upwards button -⏫ fast up button -🔽 downwards button -⏬ fast down button -⏸️ pause button -⏹️ stop button -⏺️ record button -⏏️ eject button -🎦 cinema -🔅 dim button -🔆 bright button -📶 antenna bars -📳 vibration mode -📴 mobile phone off -♀️ female sign -♂️ male sign -⚧️ transgender symbol -✖️ multiply -➕ plus -➖ minus -➗ divide -🟰 heavy equals sign -♾️ infinity -‼️ double exclamation mark -⁉️ exclamation question mark -❓ red question mark -❔ white question mark -❕ white exclamation mark -❗ red exclamation mark -〰️ wavy dash -💱 currency exchange -💲 heavy dollar sign -⚕️ medical symbol -♻️ recycling symbol -⚜️ fleur-de-lis -🔱 trident emblem -📛 name badge -🔰 Japanese symbol for beginner -⭕ hollow red circle -✅ check mark button -☑️ check box with check -✔️ check mark -❌ cross mark -❎ cross mark button -➰ curly loop -➿ double curly loop -〽️ part alternation mark -✳️ eight-spoked asterisk -✴️ eight-pointed star -❇️ sparkle -©️ copyright -®️ registered -™️ trade mark -#️⃣ keycap: # -*️⃣ keycap: * -0️⃣ keycap: 0 -1️⃣ keycap: 1 -2️⃣ keycap: 2 -3️⃣ keycap: 3 -4️⃣ keycap: 4 -5️⃣ keycap: 5 -6️⃣ keycap: 6 -7️⃣ keycap: 7 -8️⃣ keycap: 8 -9️⃣ keycap: 9 -🔟 keycap: 10 -🔠 input latin uppercase -🔡 input latin lowercase -🔢 input numbers -🔣 input symbols -🔤 input latin letters -🅰️ A button (blood type) -🆎 AB button (blood type) -🅱️ B button (blood type) -🆑 CL button -🆒 COOL button -🆓 FREE button -ℹ️ information -🆔 ID button -Ⓜ️ circled M -🆕 NEW button -🆖 NG button -🅾️ O button (blood type) -🆗 OK button -🅿️ P button -🆘 SOS button -🆙 UP! button -🆚 VS button -🈁 Japanese “here” button -🈂️ Japanese “service charge” button -🈷️ Japanese “monthly amount” button -🈶 Japanese “not free of charge” button -🈯 Japanese “reserved” button -🉐 Japanese “bargain” button -🈹 Japanese “discount” button -🈚 Japanese “free of charge” button -🈲 Japanese “prohibited” button -🉑 Japanese “acceptable” button -🈸 Japanese “application” button -🈴 Japanese “passing grade” button -🈳 Japanese “vacancy” button -㊗️ Japanese “congratulations” button -㊙️ Japanese “secret” button -🈺 Japanese “open for business” button -🈵 Japanese “no vacancy” button -🔴 red circle -🟠 orange circle -🟡 yellow circle -🟢 green circle -🔵 blue circle -🟣 purple circle -🟤 brown circle -⚫ black circle -⚪ white circle -🟥 red square -🟧 orange square -🟨 yellow square -🟩 green square -🟦 blue square -🟪 purple square -🟫 brown square -⬛ black large square -⬜ white large square -◼️ black medium square -◻️ white medium square -◾ black medium-small square -◽ white medium-small square -▪️ black small square -▫️ white small square -🔶 large orange diamond -🔷 large blue diamond -🔸 small orange diamond -🔹 small blue diamond -🔺 red triangle pointed up -🔻 red triangle pointed down -💠 diamond with a dot -🔘 radio button -🔳 white square button -🔲 black square button -🏁 chequered flag -🚩 triangular flag -🎌 crossed flags -🏴 black flag -🏳️ white flag -🇦🇨 flag: Ascension Island -🇦🇩 flag: Andorra -🇦🇪 flag: United Arab Emirates -🇦🇫 flag: Afghanistan -🇦🇬 flag: Antigua & Barbuda -🇦🇮 flag: Anguilla -🇦🇱 flag: Albania -🇦🇲 flag: Armenia -🇦🇴 flag: Angola -🇦🇶 flag: Antarctica -🇦🇷 flag: Argentina -🇦🇸 flag: American Samoa -🇦🇹 flag: Austria -🇦🇺 flag: Australia -🇦🇼 flag: Aruba -🇦🇽 flag: Åland Islands -🇦🇿 flag: Azerbaijan -🇧🇦 flag: Bosnia & Herzegovina -🇧🇧 flag: Barbados -🇧🇩 flag: Bangladesh -🇧🇪 flag: Belgium -🇧🇫 flag: Burkina Faso -🇧🇬 flag: Bulgaria -🇧🇭 flag: Bahrain -🇧🇮 flag: Burundi -🇧🇯 flag: Benin -🇧🇱 flag: St. Barthélemy -🇧🇲 flag: Bermuda -🇧🇳 flag: Brunei -🇧🇴 flag: Bolivia -🇧🇶 flag: Caribbean Netherlands -🇧🇷 flag: Brazil -🇧🇸 flag: Bahamas -🇧🇹 flag: Bhutan -🇧🇻 flag: Bouvet Island -🇧🇼 flag: Botswana -🇧🇾 flag: Belarus -🇧🇿 flag: Belize -🇨🇦 flag: Canada -🇨🇨 flag: Cocos (Keeling) Islands -🇨🇩 flag: Congo - Kinshasa -🇨🇫 flag: Central African Republic -🇨🇬 flag: Congo - Brazzaville -🇨🇭 flag: Switzerland -🇨🇮 flag: Côte d’Ivoire -🇨🇰 flag: Cook Islands -🇨🇱 flag: Chile -🇨🇲 flag: Cameroon -🇨🇳 flag: China -🇨🇴 flag: Colombia -🇨🇵 flag: Clipperton Island -🇨🇷 flag: Costa Rica -🇨🇺 flag: Cuba -🇨🇻 flag: Cape Verde -🇨🇼 flag: Curaçao -🇨🇽 flag: Christmas Island -🇨🇾 flag: Cyprus -🇨🇿 flag: Czechia -🇩🇪 flag: Germany -🇩🇬 flag: Diego Garcia -🇩🇯 flag: Djibouti -🇩🇰 flag: Denmark -🇩🇲 flag: Dominica -🇩🇴 flag: Dominican Republic -🇩🇿 flag: Algeria -🇪🇦 flag: Ceuta & Melilla -🇪🇨 flag: Ecuador -🇪🇪 flag: Estonia -🇪🇬 flag: Egypt -🇪🇭 flag: Western Sahara -🇪🇷 flag: Eritrea -🇪🇸 flag: Spain -🇪🇹 flag: Ethiopia -🇪🇺 flag: European Union -🇫🇮 flag: Finland -🇫🇯 flag: Fiji -🇫🇰 flag: Falkland Islands -🇫🇲 flag: Micronesia -🇫🇴 flag: Faroe Islands -🇫🇷 flag: France -🇬🇦 flag: Gabon -🇬🇧 flag: United Kingdom -🇬🇩 flag: Grenada -🇬🇪 flag: Georgia -🇬🇫 flag: French Guiana -🇬🇬 flag: Guernsey -🇬🇭 flag: Ghana -🇬🇮 flag: Gibraltar -🇬🇱 flag: Greenland -🇬🇲 flag: Gambia -🇬🇳 flag: Guinea -🇬🇵 flag: Guadeloupe -🇬🇶 flag: Equatorial Guinea -🇬🇷 flag: Greece -🇬🇸 flag: South Georgia & South Sandwich Islands -🇬🇹 flag: Guatemala -🇬🇺 flag: Guam -🇬🇼 flag: Guinea-Bissau -🇬🇾 flag: Guyana -🇭🇰 flag: Hong Kong SAR China -🇭🇲 flag: Heard & McDonald Islands -🇭🇳 flag: Honduras -🇭🇷 flag: Croatia -🇭🇹 flag: Haiti -🇭🇺 flag: Hungary -🇮🇨 flag: Canary Islands -🇮🇩 flag: Indonesia -🇮🇪 flag: Ireland -🇮🇱 flag: Israel -🇮🇲 flag: Isle of Man -🇮🇳 flag: India -🇮🇴 flag: British Indian Ocean Territory -🇮🇶 flag: Iraq -🇮🇷 flag: Iran -🇮🇸 flag: Iceland -🇮🇹 flag: Italy -🇯🇪 flag: Jersey -🇯🇲 flag: Jamaica -🇯🇴 flag: Jordan -🇯🇵 flag: Japan -🇰🇪 flag: Kenya -🇰🇬 flag: Kyrgyzstan -🇰🇭 flag: Cambodia -🇰🇮 flag: Kiribati -🇰🇲 flag: Comoros -🇰🇳 flag: St. Kitts & Nevis -🇰🇵 flag: North Korea -🇰🇷 flag: South Korea -🇰🇼 flag: Kuwait -🇰🇾 flag: Cayman Islands -🇰🇿 flag: Kazakhstan -🇱🇦 flag: Laos -🇱🇧 flag: Lebanon -🇱🇨 flag: St. Lucia -🇱🇮 flag: Liechtenstein -🇱🇰 flag: Sri Lanka -🇱🇷 flag: Liberia -🇱🇸 flag: Lesotho -🇱🇹 flag: Lithuania -🇱🇺 flag: Luxembourg -🇱🇻 flag: Latvia -🇱🇾 flag: Libya -🇲🇦 flag: Morocco -🇲🇨 flag: Monaco -🇲🇩 flag: Moldova -🇲🇪 flag: Montenegro -🇲🇫 flag: St. Martin -🇲🇬 flag: Madagascar -🇲🇭 flag: Marshall Islands -🇲🇰 flag: North Macedonia -🇲🇱 flag: Mali -🇲🇲 flag: Myanmar (Burma) -🇲🇳 flag: Mongolia -🇲🇴 flag: Macao SAR China -🇲🇵 flag: Northern Mariana Islands -🇲🇶 flag: Martinique -🇲🇷 flag: Mauritania -🇲🇸 flag: Montserrat -🇲🇹 flag: Malta -🇲🇺 flag: Mauritius -🇲🇻 flag: Maldives -🇲🇼 flag: Malawi -🇲🇽 flag: Mexico -🇲🇾 flag: Malaysia -🇲🇿 flag: Mozambique -🇳🇦 flag: Namibia -🇳🇨 flag: New Caledonia -🇳🇪 flag: Niger -🇳🇫 flag: Norfolk Island -🇳🇬 flag: Nigeria -🇳🇮 flag: Nicaragua -🇳🇱 flag: Netherlands -🇳🇴 flag: Norway -🇳🇵 flag: Nepal -🇳🇷 flag: Nauru -🇳🇺 flag: Niue -🇳🇿 flag: New Zealand -🇴🇲 flag: Oman -🇵🇦 flag: Panama -🇵🇪 flag: Peru -🇵🇫 flag: French Polynesia -🇵🇬 flag: Papua New Guinea -🇵🇭 flag: Philippines -🇵🇰 flag: Pakistan -🇵🇱 flag: Poland -🇵🇲 flag: St. Pierre & Miquelon -🇵🇳 flag: Pitcairn Islands -🇵🇷 flag: Puerto Rico -🇵🇸 flag: Palestinian Territories -🇵🇹 flag: Portugal -🇵🇼 flag: Palau -🇵🇾 flag: Paraguay -🇶🇦 flag: Qatar -🇷🇪 flag: Réunion -🇷🇴 flag: Romania -🇷🇸 flag: Serbia -🇷🇺 flag: Russia -🇷🇼 flag: Rwanda -🇸🇦 flag: Saudi Arabia -🇸🇧 flag: Solomon Islands -🇸🇨 flag: Seychelles -🇸🇩 flag: Sudan -🇸🇪 flag: Sweden -🇸🇬 flag: Singapore -🇸🇭 flag: St. Helena -🇸🇮 flag: Slovenia -🇸🇯 flag: Svalbard & Jan Mayen -🇸🇰 flag: Slovakia -🇸🇱 flag: Sierra Leone -🇸🇲 flag: San Marino -🇸🇳 flag: Senegal -🇸🇴 flag: Somalia -🇸🇷 flag: Suriname -🇸🇸 flag: South Sudan -🇸🇹 flag: São Tomé & Príncipe -🇸🇻 flag: El Salvador -🇸🇽 flag: Sint Maarten -🇸🇾 flag: Syria -🇸🇿 flag: Eswatini -🇹🇦 flag: Tristan da Cunha -🇹🇨 flag: Turks & Caicos Islands -🇹🇩 flag: Chad -🇹🇫 flag: French Southern Territories -🇹🇬 flag: Togo -🇹🇭 flag: Thailand -🇹🇯 flag: Tajikistan -🇹🇰 flag: Tokelau -🇹🇱 flag: Timor-Leste -🇹🇲 flag: Turkmenistan -🇹🇳 flag: Tunisia -🇹🇴 flag: Tonga -🇹🇷 flag: Turkey -🇹🇹 flag: Trinidad & Tobago -🇹🇻 flag: Tuvalu -🇹🇼 flag: Taiwan -🇹🇿 flag: Tanzania -🇺🇦 flag: Ukraine -🇺🇬 flag: Uganda -🇺🇲 flag: U.S. Outlying Islands -🇺🇳 flag: United Nations -🇺🇸 flag: United States -🇺🇾 flag: Uruguay -🇺🇿 flag: Uzbekistan -🇻🇦 flag: Vatican City -🇻🇨 flag: St. Vincent & Grenadines -🇻🇪 flag: Venezuela -🇻🇬 flag: British Virgin Islands -🇻🇮 flag: U.S. Virgin Islands -🇻🇳 flag: Vietnam -🇻🇺 flag: Vanuatu -🇼🇫 flag: Wallis & Futuna -🇼🇸 flag: Samoa -🇽🇰 flag: Kosovo -🇾🇪 flag: Yemen -🇾🇹 flag: Mayotte -🇿🇦 flag: South Africa -🇿🇲 flag: Zambia -🇿🇼 flag: Zimbabwe -🏴󠁧󠁢󠁥󠁮󠁧󠁿 flag: England -🏴󠁧󠁢󠁳󠁣󠁴󠁿 flag: Scotland -🏴󠁧󠁢󠁷󠁬󠁳󠁿 flag: Wales - diff --git a/.local/share/emoji b/.local/share/emoji new file mode 100644 index 000000000..9d26cf650 --- /dev/null +++ b/.local/share/emoji @@ -0,0 +1,261 @@ +🇦🇨 Ascension Island +🇦🇩 Andorra +🇦🇪 United Arab Emirates +🇦🇫 Afghanistan +🇦🇬 Antigua & Barbuda +🇦🇮 Anguilla +🇦🇱 Albania +🇦🇲 Armenia +🇦🇴 Angola +🇦🇶 Antarctica +🇦🇷 Argentina +🇦🇸 American Samoa +🇦🇹 Austria +🇦🇺 Australia +🇦🇼 Aruba +🇦🇽 Åland Islands +🇦🇿 Azerbaijan +🇧🇦 Bosnia & Herzegovina +🇧🇧 Barbados +🇧🇩 Bangladesh +🇧🇪 Belgium +🇧🇫 Burkina Faso +🇧🇬 Bulgaria +🇧🇭 Bahrain +🇧🇮 Burundi +🇧🇯 Benin +🇧🇱 St. Barthélemy +🇧🇲 Bermuda +🇧🇳 Brunei +🇧🇴 Bolivia +🇧🇶 Caribbean Netherlands +🇧🇷 Brazil +🇧🇸 Bahamas +🇧🇹 Bhutan +🇧🇻 Bouvet Island +🇧🇼 Botswana +🇧🇾 Belarus +🇧🇿 Belize +🇨🇦 Canada +🇨🇨 Cocos (Keeling) Islands +🇨🇩 Congo - Kinshasa +🇨🇫 Central African Republic +🇨🇬 Congo - Brazzaville +🇨🇭 Switzerland +🇨🇮 Côte d’Ivoire +🇨🇰 Cook Islands +🇨🇱 Chile +🇨🇲 Cameroon +🇨🇳 China +🇨🇴 Colombia +🇨🇵 Clipperton Island +🇨🇷 Costa Rica +🇨🇺 Cuba +🇨🇻 Cape Verde +🇨🇼 Curaçao +🇨🇽 Christmas Island +🇨🇾 Cyprus +🇨🇿 Czechia +🇩🇪 Germany +🇩🇬 Diego Garcia +🇩🇯 Djibouti +🇩🇰 Denmark +🇩🇲 Dominica +🇩🇴 Dominican Republic +🇩🇿 Algeria +🇪🇦 Ceuta & Melilla +🇪🇨 Ecuador +🇪🇪 Estonia +🇪🇬 Egypt +🇪🇭 Western Sahara +🇪🇷 Eritrea +🇪🇸 Spain +🇪🇹 Ethiopia +🇪🇺 European Union +🇫🇮 Finland +🇫🇯 Fiji +🇫🇰 Falkland Islands +🇫🇲 Micronesia +🇫🇴 Faroe Islands +🇫🇷 France +🇬🇦 Gabon +🇬🇧 United Kingdom +🇬🇩 Grenada +🇬🇪 Georgia +🇬🇫 French Guiana +🇬🇬 Guernsey +🇬🇭 Ghana +🇬🇮 Gibraltar +🇬🇱 Greenland +🇬🇲 Gambia +🇬🇳 Guinea +🇬🇵 Guadeloupe +🇬🇶 Equatorial Guinea +🇬🇷 Greece +🇬🇸 South Georgia & South Sandwich Islands +🇬🇹 Guatemala +🇬🇺 Guam +🇬🇼 Guinea-Bissau +🇬🇾 Guyana +🇭🇰 Hong Kong SAR China +🇭🇲 Heard & McDonald Islands +🇭🇳 Honduras +🇭🇷 Croatia +🇭🇹 Haiti +🇭🇺 Hungary +🇮🇨 Canary Islands +🇮🇩 Indonesia +🇮🇪 Ireland +🇮🇱 Israel +🇮🇲 Isle of Man +🇮🇳 India +🇮🇴 British Indian Ocean Territory +🇮🇶 Iraq +🇮🇷 Iran +🇮🇸 Iceland +🇮🇹 Italy +🇯🇪 Jersey +🇯🇲 Jamaica +🇯🇴 Jordan +🇯🇵 Japan +🇰🇪 Kenya +🇰🇬 Kyrgyzstan +🇰🇭 Cambodia +🇰🇮 Kiribati +🇰🇲 Comoros +🇰🇳 St. Kitts & Nevis +🇰🇵 North Korea +🇰🇷 South Korea +🇰🇼 Kuwait +🇰🇾 Cayman Islands +🇰🇿 Kazakhstan +🇱🇦 Laos +🇱🇧 Lebanon +🇱🇨 St. Lucia +🇱🇮 Liechtenstein +🇱🇰 Sri Lanka +🇱🇷 Liberia +🇱🇸 Lesotho +🇱🇹 Lithuania +🇱🇺 Luxembourg +🇱🇻 Latvia +🇱🇾 Libya +🇲🇦 Morocco +🇲🇨 Monaco +🇲🇩 Moldova +🇲🇪 Montenegro +🇲🇫 St. Martin +🇲🇬 Madagascar +🇲🇭 Marshall Islands +🇲🇰 North Macedonia +🇲🇱 Mali +🇲🇲 Myanmar (Burma) +🇲🇳 Mongolia +🇲🇴 Macao SAR China +🇲🇵 Northern Mariana Islands +🇲🇶 Martinique +🇲🇷 Mauritania +🇲🇸 Montserrat +🇲🇹 Malta +🇲🇺 Mauritius +🇲🇻 Maldives +🇲🇼 Malawi +🇲🇽 Mexico +🇲🇾 Malaysia +🇲🇿 Mozambique +🇳🇦 Namibia +🇳🇨 New Caledonia +🇳🇪 Niger +🇳🇫 Norfolk Island +🇳🇬 Nigeria +🇳🇮 Nicaragua +🇳🇱 Netherlands +🇳🇴 Norway +🇳🇵 Nepal +🇳🇷 Nauru +🇳🇺 Niue +🇳🇿 New Zealand +🇴🇲 Oman +🇵🇦 Panama +🇵🇪 Peru +🇵🇫 French Polynesia +🇵🇬 Papua New Guinea +🇵🇭 Philippines +🇵🇰 Pakistan +🇵🇱 Poland +🇵🇲 St. Pierre & Miquelon +🇵🇳 Pitcairn Islands +🇵🇷 Puerto Rico +🇵🇸 Palestinian Territories +🇵🇹 Portugal +🇵🇼 Palau +🇵🇾 Paraguay +🇶🇦 Qatar +🇷🇪 Réunion +🇷🇴 Romania +🇷🇸 Serbia +🇷🇺 Russia +🇷🇼 Rwanda +🇸🇦 Saudi Arabia +🇸🇧 Solomon Islands +🇸🇨 Seychelles +🇸🇩 Sudan +🇸🇪 Sweden +🇸🇬 Singapore +🇸🇭 St. Helena +🇸🇮 Slovenia +🇸🇯 Svalbard & Jan Mayen +🇸🇰 Slovakia +🇸🇱 Sierra Leone +🇸🇲 San Marino +🇸🇳 Senegal +🇸🇴 Somalia +🇸🇷 Suriname +🇸🇸 South Sudan +🇸🇹 São Tomé & Príncipe +🇸🇻 El Salvador +🇸🇽 Sint Maarten +🇸🇾 Syria +🇸🇿 Eswatini +🇹🇦 Tristan da Cunha +🇹🇨 Turks & Caicos Islands +🇹🇩 Chad +🇹🇫 French Southern Territories +🇹🇬 Togo +🇹🇭 Thailand +🇹🇯 Tajikistan +🇹🇰 Tokelau +🇹🇱 Timor-Leste +🇹🇲 Turkmenistan +🇹🇳 Tunisia +🇹🇴 Tonga +🇹🇷 Turkey +🇹🇹 Trinidad & Tobago +🇹🇻 Tuvalu +🇹🇼 Taiwan +🇹🇿 Tanzania +🇺🇦 Ukraine +🇺🇬 Uganda +🇺🇲 U.S. Outlying Islands +🇺🇳 United Nations +🇺🇸 United States +🇺🇾 Uruguay +🇺🇿 Uzbekistan +🇻🇦 Vatican City +🇻🇨 St. Vincent & Grenadines +🇻🇪 Venezuela +🇻🇬 British Virgin Islands +🇻🇮 U.S. Virgin Islands +🇻🇳 Vietnam +🇻🇺 Vanuatu +🇼🇫 Wallis & Futuna +🇼🇸 Samoa +🇽🇰 Kosovo +🇾🇪 Yemen +🇾🇹 Mayotte +🇿🇦 South Africa +🇿🇲 Zambia +🇿🇼 Zimbabwe +🏴󠁧󠁢󠁥󠁮󠁧󠁿 England +🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scotland +🏴󠁧󠁢󠁷󠁬󠁳󠁿 Wales