Skip to main content

Interactive fuzzy-searchable unicode table using lotabout/skim

Project description

skim-unicode-table

Interactive fuzzy-searchable Unicode table using lotabout's skim.

Can be used to quickly search for a character and copy it to the clipboard.

Demo video

https://user-images.githubusercontent.com/3827982/127855578-b052bf0b-f4e5-4686-b171-5e5fea784326.mov

Installation

Install via pip:

(NOTE: If prebuilt wheels are not available for your operating system, installation will take a long time and use a lot of space because it has to compile a fork of skim from scratch.)

pip install skim-unicode-table

This will put two scripts into pip's preferred binary directory: skim-unicode-table and skim-unicode-table-xsel. The former just displays the table and prints the selected character and its various names separated by two spaces when the user presses Enter, then exits. The latter also copies the selected character into the clipboard using xsel (check if this is installed!), which might not work on all platforms. If it doesn't work, you can try to build your own script for copying the character into the clipboard using skim-unicode-table.

Optional dependencies

  • atanunq's viu: Required for enlarged character previews like in the demo video above to work. Make sure it can be found from PATH.

Launching in new terminal window

The most common setup will probably be to bind skim-unicode-table-xsel to a hotkey that launches it in a new terminal window. How to do this depends on the specific terminal emulator used (there is no unified CLI, unfortunately).

In gnome-terminal's case, it would be (absolute path in case pip's preferred binary installation folder isn't in PATH for the application that handles hotkeys, commonly the window manager):

gnome-terminal -- /path/to/skim-unicode-table-xsel

Development notes

Why use a forked skim?

fuzzy-matcher (used internally by skim) had default scoring that didn't seem very suitable for this use case, as it kept returning something unexpected as the best match, so I had to tweak it a bit and fork skim so that it uses this modified version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

skim_unicode_table-0.1.21-cp311-cp311-manylinux_2_24_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64

skim_unicode_table-0.1.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

skim_unicode_table-0.1.21-cp310-cp310-manylinux_2_24_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

skim_unicode_table-0.1.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

skim_unicode_table-0.1.21-cp39-cp39-manylinux_2_24_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

skim_unicode_table-0.1.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

skim_unicode_table-0.1.21-cp38-cp38-manylinux_2_24_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

skim_unicode_table-0.1.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

skim_unicode_table-0.1.21-cp37-cp37m-manylinux_2_24_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

skim_unicode_table-0.1.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page