Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrpicklepinosaur/matsuba
lightweight japanese ime written in rust
https://github.com/mrpicklepinosaur/matsuba
input-method japanese rust wgpu x11
Last synced: about 2 months ago
JSON representation
lightweight japanese ime written in rust
- Host: GitHub
- URL: https://github.com/mrpicklepinosaur/matsuba
- Owner: MrPicklePinosaur
- License: apache-2.0
- Created: 2022-03-17T21:47:58.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-31T20:55:59.000Z (about 2 years ago)
- Last Synced: 2023-03-07T21:43:53.456Z (almost 2 years ago)
- Topics: input-method, japanese, rust, wgpu, x11
- Language: Rust
- Homepage: https://mrpicklepinosaur.github.io/matsuba/
- Size: 4.95 MB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# 松葉 matsuba
lightweight japanese IME written in rust
[![book](https://img.shields.io/badge/book-website-orange)](https://mrpicklepinosaur.github.io/matsuba/)
[![build](https://github.com/MrPicklePinosaur/matsuba/workflows/Release/badge.svg)](https://github.com/MrPicklePinosaur/matsuba/actions)
[![MIT/Apache 2.0](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](#)**matsuba** - a lightweight japanese ime for x written in rust. This project
has three main components:1. kanji/word database
2. conversion system (hiragana, katakana, kanji)
3. graphical frontend for XEach component should be separable as it's own library. Please see the
[documentation](https://mrpicklepinosaur.github.io/matsuba/) for
detailed installation, configuration and usage instructions.## INSTALLATION
Currently **matsuba** only supports X11 (will expand to other platforms in
future!). There are a couple of utilities that need to be installed for
**matsuba** to interface with X properly.
- xdotool
- xmodmap
- sqlite3**matsuba** is packaged for the following linux distributions
- arch linux (and friends) via AUR## FETCHING DICTIONARY
List of word conversions come from the [EDICT/JMICT
project](https://www.edrdg.org/jmdict/edict.html). Specifically, the
[JMdict_e](http://ftp.edrdg.org/pub/Nihongo/JMdict_e.gz) (JMdict
english-japanese only) xml file is fetched. A script is provided to populate
your dictionary, along with some options on what word lists to fetch (bio,
sports, names etc), you can see a full list of 'filters'
[here](https://www.edrdg.org/jmdictdb/cgi-bin/edhelp.py?svc=jmdict&sid=#kw_fld).## TODO
Roadmap to 1.0 release
- [x] get keycodes from xmodmap
- [x] capture all keypresses (even when not focused)
- [x] figure out how to have floating window
- [X] fetch kanji data from EDICT
- [X] set up database (probably sqlite)
- [X] arg parsing
- [x] glyph rendering
- [x] make user type accepted string
- [x] henkan + muhenkan
- [x] conversion menu for kanji
- [x] refactor to daemon + cli to manage (rpc calls)
- [x] utility cli to do kana conversions + kanji conversions + fetch daemon state
- [x] rewrite matsuba-fetch script as a series of command calls in matsucli
- [ ] pass through certain keys + general qol improvements
- [x] config file
- [ ] systemd, openrc and runit services for matsubad
- [x] package for various linux distributions (could use workflow to automatically build and package)## CONTRIBUTING
Feel free to open any issues and pull requests to support development! Please
see the [Developer Guide](https://mrpicklepinosaur.github.io/matsuba/developer/index.html) (WIP)
for contribution guidelines and an overview of the internals.