skim-unicode-table


Nameskim-unicode-table JSON
Version 0.1.21 PyPI version JSON
download
home_pagehttps://github.com/smheidrich/skim-unicode-table
SummaryInteractive fuzzy-searchable unicode table using lotabout/skim
upload_time2023-04-23 22:15:39
maintainer
docs_urlNone
authorShahriar Heidrich
requires_python
license
keywords unicode table interactive character fuzzy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # skim-unicode-table

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

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.)

```bash
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][2]: 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):

```bash
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][3] and fork skim so that it uses
this modified version.


[1]: https://github.com/lotabout/skim "lotabout/skim on GitHub"
[2]: https://github.com/atanunq/viu "atanunq/viu on GitHub"
[3]: https://github.com/smheidrich/fuzzy-matcher/compare/master...smheidrich:for_skim_unicode#diff-2099478acb23e56398caeea19c6a315098d4d7ae4d6d642b8cbacb647ce3f2e8

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/smheidrich/skim-unicode-table",
    "name": "skim-unicode-table",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "unicode,table,interactive,character,fuzzy",
    "author": "Shahriar Heidrich",
    "author_email": "smheidrich@weltenfunktion.de",
    "download_url": "",
    "platform": null,
    "description": "# skim-unicode-table\n\nInteractive fuzzy-searchable Unicode table using [lotabout's skim][1].\n\nCan be used to quickly search for a character and copy it to the clipboard.\n\n\n## Demo video\n\nhttps://user-images.githubusercontent.com/3827982/127855578-b052bf0b-f4e5-4686-b171-5e5fea784326.mov\n\n\n## Installation\n\nInstall via pip:\n\n(**NOTE:** If prebuilt wheels are not available for your operating system,\ninstallation will take a long time and use a lot of space because it has to\ncompile a fork of skim from scratch.)\n\n```bash\npip install skim-unicode-table\n```\n\nThis will put two scripts into pip's preferred binary directory:\n`skim-unicode-table` and `skim-unicode-table-xsel`. The former just displays\nthe table and prints the selected character and its various names separated by\ntwo spaces when the user presses `Enter`, then exits. The latter also copies\nthe selected character into the clipboard using `xsel` (check if this is\ninstalled!), which might not work on all platforms. If it doesn't work, you can\ntry to build your own script for copying the character into the clipboard using\n`skim-unicode-table`.\n\n### Optional dependencies\n\n- [atanunq's viu][2]: Required for enlarged character previews like in the demo\n  video above to work. Make sure it can be found from `PATH`.\n\n### Launching in new terminal window\n\nThe most common setup will probably be to bind `skim-unicode-table-xsel` to\na hotkey that launches it in a new terminal window. How to do this depends on\nthe specific terminal emulator used (there is no unified CLI, unfortunately).\n\nIn `gnome-terminal`'s case, it would be (absolute path in case pip's preferred\nbinary installation folder isn't in `PATH` for the application that handles\nhotkeys, commonly the window manager):\n\n```bash\ngnome-terminal -- /path/to/skim-unicode-table-xsel\n```\n\n\n## Development notes\n\n### Why use a forked skim?\n\n`fuzzy-matcher` (used internally by skim) had default scoring that didn't seem\nvery suitable for this use case, as it kept returning something unexpected as\nthe best match, so I had to [tweak it a bit][3] and fork skim so that it uses\nthis modified version.\n\n\n[1]: https://github.com/lotabout/skim \"lotabout/skim on GitHub\"\n[2]: https://github.com/atanunq/viu \"atanunq/viu on GitHub\"\n[3]: https://github.com/smheidrich/fuzzy-matcher/compare/master...smheidrich:for_skim_unicode#diff-2099478acb23e56398caeea19c6a315098d4d7ae4d6d642b8cbacb647ce3f2e8\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Interactive fuzzy-searchable unicode table using lotabout/skim",
    "version": "0.1.21",
    "split_keywords": [
        "unicode",
        "table",
        "interactive",
        "character",
        "fuzzy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf32fc85074f06d9e930cf42090a2ac410e17cebe8aaaf51188d015542cad9da",
                "md5": "dc46244aab636dde18d571f6e1a70059",
                "sha256": "1c67317d365114cf88871e1fc9dbf7ab81d6c4c205b38b7060de318c4e7be008"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "dc46244aab636dde18d571f6e1a70059",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2805103,
            "upload_time": "2023-04-23T22:15:39",
            "upload_time_iso_8601": "2023-04-23T22:15:39.961655Z",
            "url": "https://files.pythonhosted.org/packages/bf/32/fc85074f06d9e930cf42090a2ac410e17cebe8aaaf51188d015542cad9da/skim_unicode_table-0.1.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8ceeb01dc16cd8918f4f6815c700763db8dd2ce8f587697ff11f71e233e1b6ae",
                "md5": "866193624daffb4760e228299c0ea168",
                "sha256": "73695127f022aa2e8aa8409a8ef0466e52dff835be7ebd83f41a53bd4e9f3de0"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp310-cp310-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "866193624daffb4760e228299c0ea168",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2805675,
            "upload_time": "2023-04-23T22:15:41",
            "upload_time_iso_8601": "2023-04-23T22:15:41.827324Z",
            "url": "https://files.pythonhosted.org/packages/8c/ee/b01dc16cd8918f4f6815c700763db8dd2ce8f587697ff11f71e233e1b6ae/skim_unicode_table-0.1.21-cp310-cp310-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "137057606109e73b3679177576d438e9f65e04d6fa237596881f874d249c8245",
                "md5": "17dfa5751dfebb4b886d01d89f21efc4",
                "sha256": "c5bd97483b568b5cd25b5ca3941c3825cf04c979d24cde06b2bf8d02d5221f15"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "17dfa5751dfebb4b886d01d89f21efc4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2805101,
            "upload_time": "2023-04-23T22:15:44",
            "upload_time_iso_8601": "2023-04-23T22:15:44.072443Z",
            "url": "https://files.pythonhosted.org/packages/13/70/57606109e73b3679177576d438e9f65e04d6fa237596881f874d249c8245/skim_unicode_table-0.1.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cea91c4697d1392f4fa23a611da4d63ebc5744b27c7999533956333cb21ada1b",
                "md5": "f4447bce1524f4cc26987b7e4c816ac9",
                "sha256": "fe3d131c25645d7d22c3e99fa2fef7c2d7c959301333747263c99a5755d1298b"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp311-cp311-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f4447bce1524f4cc26987b7e4c816ac9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2805674,
            "upload_time": "2023-04-23T22:15:46",
            "upload_time_iso_8601": "2023-04-23T22:15:46.160125Z",
            "url": "https://files.pythonhosted.org/packages/ce/a9/1c4697d1392f4fa23a611da4d63ebc5744b27c7999533956333cb21ada1b/skim_unicode_table-0.1.21-cp311-cp311-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ade3698c21a53d60c52af4728fd52b2a688f02f1277bcb2070ef33a77b2a0005",
                "md5": "e9e84e0553bab61fcad09b896990c993",
                "sha256": "e461bc9933c73df7f74136af55511974ca7c0fb316de47556ecd13b4b64917d1"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e9e84e0553bab61fcad09b896990c993",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 2805103,
            "upload_time": "2023-04-23T22:15:48",
            "upload_time_iso_8601": "2023-04-23T22:15:48.611469Z",
            "url": "https://files.pythonhosted.org/packages/ad/e3/698c21a53d60c52af4728fd52b2a688f02f1277bcb2070ef33a77b2a0005/skim_unicode_table-0.1.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd9bdfcfb09895de0b2b150234175712fd7d64bb26ef3140826485fdbe45574f",
                "md5": "cfa95fcb68cffca13bcccdb45ed5cc9f",
                "sha256": "c498370243f74b7f01840cf7149c9871fa5027bfd640fe35ba4b54b36c022f83"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp37-cp37m-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cfa95fcb68cffca13bcccdb45ed5cc9f",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 2805676,
            "upload_time": "2023-04-23T22:15:50",
            "upload_time_iso_8601": "2023-04-23T22:15:50.008800Z",
            "url": "https://files.pythonhosted.org/packages/dd/9b/dfcfb09895de0b2b150234175712fd7d64bb26ef3140826485fdbe45574f/skim_unicode_table-0.1.21-cp37-cp37m-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02b6d47975399800a1c71612634ad1f455ca270b461a7e343d1970a6787dee11",
                "md5": "af774fb2d4b8fbdeccb69e11f3eb0035",
                "sha256": "720e9bf5e84a7d238003926d4885f76a437b25083f9a98315dc98f852c5d040c"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "af774fb2d4b8fbdeccb69e11f3eb0035",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2805099,
            "upload_time": "2023-04-23T22:15:52",
            "upload_time_iso_8601": "2023-04-23T22:15:52.518233Z",
            "url": "https://files.pythonhosted.org/packages/02/b6/d47975399800a1c71612634ad1f455ca270b461a7e343d1970a6787dee11/skim_unicode_table-0.1.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37ae707eb6cac7d5ee60224d39505ec1c0d7d510492929524f3bbbadb6da7336",
                "md5": "73d3eeeb2d7a195e94df03d86dd1e308",
                "sha256": "4190d4683abb9d9643e10b696d9a6872dffb9f9f35cf0489b0e536c0c516f4a5"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp38-cp38-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "73d3eeeb2d7a195e94df03d86dd1e308",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2805674,
            "upload_time": "2023-04-23T22:15:54",
            "upload_time_iso_8601": "2023-04-23T22:15:54.350223Z",
            "url": "https://files.pythonhosted.org/packages/37/ae/707eb6cac7d5ee60224d39505ec1c0d7d510492929524f3bbbadb6da7336/skim_unicode_table-0.1.21-cp38-cp38-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f50c6e402ca1e4d4057128aab4b721d73453f1b8ac908cb6c126f6f6789294bc",
                "md5": "83665e4d96d85fa9f9ef714099bed986",
                "sha256": "bce090854d9308b91ba351110b74edcca06e9e2dc419ce90ed5511af3fb62c44"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "83665e4d96d85fa9f9ef714099bed986",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2805101,
            "upload_time": "2023-04-23T22:15:55",
            "upload_time_iso_8601": "2023-04-23T22:15:55.835462Z",
            "url": "https://files.pythonhosted.org/packages/f5/0c/6e402ca1e4d4057128aab4b721d73453f1b8ac908cb6c126f6f6789294bc/skim_unicode_table-0.1.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e7215df59d70a0763cea52a967df1cb77933fdd5b4a75d15fad1be8d38a5756",
                "md5": "722d8631cf848abe4f9f1a06365fc676",
                "sha256": "9ef335c6bf5078db49ca15ddb6957d24188dbe92c923cf463ae4f98414aaeac1"
            },
            "downloads": -1,
            "filename": "skim_unicode_table-0.1.21-cp39-cp39-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "722d8631cf848abe4f9f1a06365fc676",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2805676,
            "upload_time": "2023-04-23T22:15:58",
            "upload_time_iso_8601": "2023-04-23T22:15:58.438022Z",
            "url": "https://files.pythonhosted.org/packages/2e/72/15df59d70a0763cea52a967df1cb77933fdd5b4a75d15fad1be8d38a5756/skim_unicode_table-0.1.21-cp39-cp39-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-23 22:15:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "smheidrich",
    "github_project": "skim-unicode-table",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "skim-unicode-table"
}
        
Elapsed time: 0.05997s