Download

MăngRS

A Vietnamese keyboard for IBus, written in Rust.

Telex · VNI · VIQR · Microsoft — smart spell check, macros, per-app rules.

Tested on Arch Linux, GNOME 51 and Wayland. Needs IBus ≥ 1.5 and GTK4.

#about

A Vietnamese input method, rebuilt in Rust.

MăngRS logo

MăngRS is a Vietnamese input method engine for IBus, written in Rust on top of bamboo-core. It brings Telex, VNI, VIQR and the Microsoft layout together with a GTK4 settings window, macros, a custom dictionary and per-app rules.

Developed and tested on Arch Linux (IBus 1.5.34, GNOME 51, Wayland; X11 smoke-tested). Other distributions and desktop environments are not tested yet — IBus ≥ 1.5 and GTK4 are the only hard requirements.

Project

Latest version v0.1.2 · License MIT

Platform: Linux · IBus ≥ 1.5 · GTK4 · Written in: Rust

#features

Everything a Vietnamese typist needs.

Input methods

  • Telex
  • VNI
  • VIQR
  • Microsoft layout

Typing options

  • Modern tone placement (hòa) or traditional (hoà)
  • Free tone marking: hoangf → hoàng
  • Spell check from a bundled 38,350-word list
  • Auto-restore non-Vietnamese words
  • Raw keys after / : @ . _ ~ = # & % ?
  • w → ư, [ ] → ơ ư, -- → —
  • Auto-capitalize and double space → period
  • Macros with $TIME / $DATE expansion

Output charsets

  • Unicode · Unicode NFD · TCVN3 · VNI · VIQR · VISCII · VPS · CP1258 · BKHCM · Vietware X · Vietware Full

Settings & quality

  • GTK4 settings
  • 6 tabs
  • Hot reload
  • JSON backup
  • App rules
  • 164 tests
#display-modes

Six ways to put Vietnamese on screen.

Preedit (default)

Classic

Best for: widest compatibility

How it works

  • The word shows inline with an underline and commits when the word ends.

Non-preedit

Classic

Best for: Firefox, GTK apps

How it works

  • Every key commits immediately; the tail is rewritten when a mark arrives.

Surrounding text

Classic

Best for: Sublime Text

How it works

  • Non-preedit plus a check against the application's own text report.

The uinput modes need /dev/uinput and fall back to preedit wherever real-key injection cannot reach the application; on GNOME Wayland they resolve to preedit.

#install

Install from source. Binary packages are not available yet.

One-line install

Downloads the source, builds it and installs it. Needs curl, Rust, IBus, GTK4 and sudo.

curl -fsSL https://raw.githubusercontent.com/fundokukiri/ibus-mangrs/dev/scripts/install-online.sh | sh

From source

Build the engine, then run the installer.

cargo build --release --features gui
./scripts/autoinstall.sh

Enable the input source

Restart IBus, then add Vietnamese → MăngRS in Settings → Keyboard → Input Sources. Switch layouts with Super+Space.

ibus restart

Binary packages for Arch, Debian/Ubuntu and Fedora/openSUSE are not available yet. Full instructions live in docs/installation.md.

#get-mangrs

Free, open source, MIT licensed.

Get MăngRS.

Report a bug, request a feature, or help test it on your distribution.