A typing tutor application built with GTK4, Rust, and Adwaita.
Based on Mecawin, a classic typing tutor for Windows.
Available on Flathub
# Development
cargo run
# Production build
meson setup builddir
meson compile -C builddir
./builddir/mecalin- GTK4 4.10+
- libadwaita 1.5+
- Rust toolchain
- Meson build system
Uses GTK Builder with XML UI templates and GResource embedding for a modern GNOME application structure.
Contributions are welcome! Please note:
- This project follows the GNOME Code of Conduct.
The application uses standard gettext for UI translation. To add a new language:
- Add the language code to
po/LINGUAS - Create or update the
.pofile in thepo/directory - Translate the strings using your preferred translation tool
Important for translators: Apart from translating the UI strings, you also need to create localized content:
-
Lesson Content: Create a new lesson file in
data/lessons/[language_code].jsonbased on the existingus.jsonores.jsonfiles. This includes:- Lesson titles and descriptions
- Step instructions and practice text
- Introduction messages
-
Keyboard Layout: Create a keyboard layout file in
data/keyboard_layouts/[language_code].jsonthat matches your language's keyboard layout. This defines:- Key positions and labels
- Finger mapping for proper touch typing guidance
The application automatically detects the system language and loads the appropriate lesson content and keyboard layout. If your language files don't exist, it falls back to the US English versions.