{ coreutils, dmenu, gnused, writeShellScriptBin, writeText, xdotool, ... }: let # from http://asciimoji.com/ emoticons = writeText "emoticons" '' ¯\(°_o)/¯ | dunno lol shrug dlol ¯\_(ツ)_/¯ | dunno lol shrug dlol ( ͡° ͜ʖ ͡°) | lenny ¯\_( ͡° ͜ʖ ͡°)_/¯ | lenny shrug dlol ( ゚д゚) | aaah sad noo ヽ(^o^)丿 | hi yay yey hello (^o^; | ups hehe (^∇^) | yay yey ┗(`皿´)┛ | angry argh ヾ(^_^) byebye!! | bye <(^.^<) <(^.^)> (>^.^)> (7^.^)7 (>^.^<) | dance (-.-)Zzz... | sleep (∩╹□╹∩) | oh noes woot ™ | tm ζ | zeta (╯°□°)╯ ┻━┻ | table flip (」゜ロ゜)」 | why woot (= ФェФ=) | cat (。◕‿‿◕。) | cute ☜(゚ヮ゚☜) | you x⸑x | dead ☉ ‿ ⚆ | derp (҂◡_◡) ᕤ | endure (*・‿・)ノ⌒*:・゚✧ | glitter (⌐⊙_⊙) | nerd WHΣИ $HΛLL WΣ MΣΣ† ΛGΛ|И? | when shall we meet again ✔ | check (◕ᴥ◕ʋ) | dog (ノ◕ヮ◕)ノ*:・゚✧ | excited (❍ᴥ❍ʋ) | jake dog L(° O °L) | lol o()xxxx[{::::::::::::::::::> | sword (ÒДÓױ) | what wat Yᵒᵘ Oᶰˡʸ Lᶤᵛᵉ Oᶰᶜᵉ | yolo ⊹╰(⌣ʟ⌣)╯⊹ | zen @}-,-`- | rose ''; in writeShellScriptBin "emoticons" '' set -efu data=$(${coreutils}/bin/cat ${emoticons}) emoticon=$(echo "$data" | ${dmenu}/bin/dmenu -l 10 | ${gnused}/bin/sed 's/ | .*//') ${xdotool}/bin/xdotool type -- "$emoticon" exit 0 ''