{"id":51563161,"url":"https://github.com/coko7/latuicon","last_synced_at":"2026-07-10T12:30:55.188Z","repository":{"id":368774421,"uuid":"1271197200","full_name":"coko7/latuicon","owner":"coko7","description":"😴 TUI icon picker (emojis / kaomojis / unicode / nerd fonts) ripped from late.sh","archived":false,"fork":false,"pushed_at":"2026-07-02T05:21:45.000Z","size":165,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-02T07:13:29.340Z","etag":null,"topics":["ai","cli","emoji","emoji-picker","icon","icon-picker","kaomoji","kaomoji-picker","late-sh","latesh","latuicon","nerd-fonts","tui","unicode","unicode-picker"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coko7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-16T12:31:27.000Z","updated_at":"2026-07-02T05:21:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/coko7/latuicon","commit_stats":null,"previous_names":["coko7/latuicon"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/coko7/latuicon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Flatuicon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Flatuicon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Flatuicon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Flatuicon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coko7","download_url":"https://codeload.github.com/coko7/latuicon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Flatuicon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35331951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli","emoji","emoji-picker","icon","icon-picker","kaomoji","kaomoji-picker","late-sh","latesh","latuicon","nerd-fonts","tui","unicode","unicode-picker"],"created_at":"2026-07-10T12:30:54.638Z","updated_at":"2026-07-10T12:30:55.178Z","avatar_url":"https://github.com/coko7.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 😴 latuicon\n\n`latuicon`, the **lat**e **TUI** **icon** picker: a rip-off of the [late.sh](https://github.com/mpiorowski/late-sh) embedded icon picker.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"latuicon-demo\" src=\"assets/banner.webp\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://crates.io/crates/latuicon\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/latuicon.svg\" alt=\"Crates info\"\u003e\u003c/a\u003e\n    \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/coko7/latuicon?color=blue\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/coko7/latuicon?color=orange\" alt=\"Rust\"\u003e\n    \u003ca href=\"https://github.com/coko7/latuicon/actions/workflows/rust.yml\"\u003e\u003cimg src=\"https://github.com/coko7/latuicon/actions/workflows/rust.yml/badge.svg\" alt=\"Tests\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nA terminal UI icon picker for emoji, kaomoji, Unicode characters, and [Nerd Font](https://www.nerdfonts.com/) glyphs. Press Enter to print the selected icon to stdout; press Esc to exit without output.\n\n\u003e [!TIP]\n\u003e Want to use `latuicon` in Neovim? Check out the [`latuicon.nvim`](https://github.com/coko7/latuicon.nvim) wrapper plugin!\n\n## What's different from late.sh\n\nThe [initial commit](https://github.com/coko7/latuicon/commit/0fc806c) bootstrapped from the icon-picker component of [late.sh](https://github.com/mpiorowski/late-sh) (specifically code up until [6c670683](https://github.com/mpiorowski/late-sh/commit/6c670683e301cbef3df08683c84bc91141a0faee)). All development since then is independent.\n\nChanges and additions:\n\n- **Fuzzy search** 🪄 — word-level Levenshtein matching so small typos still find the right icon (e.g. `tumbs up` → 👍)\n- **Data files** 📂 — emoji, kaomoji, unicode, and nerd font data extracted into editable JSON files under `data/`\n- **Centered layout** 🎯 — subtitle under the title, icon-set block sized to content, search and icon list horizontally inset\n- **Standalone binary** 📦 — packaged as `latuicon`, decoupled from the late.sh monorepo\n\nDesigned for shell capture:\n\n```sh\nicon=$(latuicon)\n```\n\n## Install\n\n```sh\ncargo install latuicon\n```\n\n### From source\n\n```sh\n./scripts/deploy.sh\n```\n\nBuilds a release binary and installs it to `~/.local/bin/latuicon`.\n\n## Usage\n\n```sh\nlatuicon                          # default theme\nlatuicon --theme mocha            # specific theme\nICON_PICKER_THEME=dracula latuicon\n```\n\nPrints the chosen icon to stdout on confirm, nothing on Esc/Ctrl+C.\n\n### Desktop integration example ([Hyprland](https://hypr.land/))\n\nIn my setup, I use [`floatty.sh`](https://github.com/coko7/scripts/blob/main/global/floatty.sh) to open `latuicon` in a floating terminal window and pipe the result to the clipboard. Here is my custom Hyprland binding for it:\n\n```ini\nbindd = $mainMod, comma, laTUIcon icon picker, exec, FLOATTY_CAPTURE_OUTPUT=1 bash floatty.sh latuicon latuicon | wl-copy\n```\n\nAnd these are the Hyprland window rules for it:\n\n```ini\n# Special rules for floating/prompt terminals\nwindowrule {\n    name = floater-kitty\n    match:class = ^(floater-kitty-.*)$\n    no_anim = on\n    float = on\n    center = on\n    size = 1000 800\n}\n\nwindowrule {\n  name = floater-kitty-latuicon\n  match:class = floater-kitty-latuicon\n  size = 700 700\n}\n```\n\nPressing `$mainMod + ,` opens a floating terminal with the picker; confirming an icon copies it straight to the Wayland clipboard.\n\n## Keybindings\n\n| Key | Action |\n|-----|--------|\n| `↑` / `↓` | Navigate list |\n| `Ctrl+K` / `Ctrl+J` | Navigate list (vi-style) |\n| `PgUp` / `PgDn` | Page up / down |\n| `Ctrl+U` / `Ctrl+D` | Half-page up / down |\n| `Tab` / `Shift+Tab` | Switch tab |\n| `Enter` | Select and exit |\n| `Esc` / `Ctrl+C` | Exit without selecting |\n| Type anything | Filter by name |\n| `Ctrl+Z` | Undo search edit |\n| Mouse click | Select tab or item |\n| Double-click | Select and exit |\n| Scroll wheel | Scroll list |\n\nSearch supports full emacs cursor movement (`Ctrl+A`, `Ctrl+E`, `Ctrl+F`, `Ctrl+B`, `Ctrl+W`, `Ctrl+Y`, etc.).\n\n## Themes\n\n`contrast` (default), `late`, `purple`, `mocha`, `gruvbox`, `dracula`\n\n## Tabs\n\n- **All** — every icon from every other tab, combined into one searchable set\n- **Emoji** — common emoji + full emoji set\n- **Kaomoji** — curated kaomoji collection\n- **Unicode** — common symbols + Box Drawing, Geometric Shapes, Arrows, Math Operators, Dingbats; search supports `U+XXXX` / `0xXXXX` hex lookup and full Unicode name scan\n- **Nerd Font** — common glyphs + full Nerd Font glyph set\n\n## Credits\n\nThe project was seeded from the icon-picker component of [late.sh](https://github.com/mpiorowski/late-sh) at commit [6c670683](https://github.com/mpiorowski/late-sh/commit/6c670683e301cbef3df08683c84bc91141a0faee). Code written after the initial commit is not derived from that project.\n\nThe original icon picker was written by [@mevanlc](https://github.com/mevanlc); the late.sh project is maintained by [@mpiorowski](https://github.com/mpiorowski).\n\nSee [`THIRD_PARTY_LICENSES.md`](./THIRD_PARTY_LICENSES.md) for the license covering the derived code from the initial commit.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoko7%2Flatuicon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoko7%2Flatuicon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoko7%2Flatuicon/lists"}