Termion
Mirror of https://gitlab.redox-os.org/redox-os/termion (by redox-os)
Native Windows GUI
A light windows GUI toolkit for rust (by gabdube)
| Termion | Native Windows GUI | |
|---|---|---|
| 16 | 13 | |
| 2,165 | 2,050 | |
| -0.1% | 0.0% | |
| 3.1 | 0.0 | |
| 6 months ago | about 2 years ago | |
| Rust | Rust | |
| MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Termion
Posts with mentions or reviews of Termion.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2026-02-21.
-
Terminal UI: BubbleTea (Go) vs Ratatui (Rust)
Ratatui is a Rust library for TUIs that uses immediate-mode rendering: each frame you describe the entire UI (widgets and layout), and Ratatui draws it. What is Ratatui? It’s a lightweight, unopinionated toolkit—it doesn’t impose an Elm-style model or a specific app structure. You keep your own state, run your own event loop (typically with crossterm, termion, or termwiz), and call terminal.draw(|f| { ... }) to render. So the difference between Elm-style and immediate mode is exactly this: in Elm-style the framework owns the loop and you react via Update/View; in immediate mode you own the loop and redraw the whole UI from current state every frame.
-
When to flush()?
This is an example from the Termion crate:
-
How difficult is ncurses?
There are plenty of terminal UI libraries that are actually nice to work with. For Python, there's Textual and PyTermGUI. For Rust, there's ratatui and Cursive (or, if you want something a bit lower level, crosster or termion). For Go, there's bubbletea.
-
Writing to a real stdout in the following adapter pattern
But let's say I want to write to Termion's raw terminal: stdout().into_raw_mode().unwrap();
-
How to write the mock version of this trait method?
And I implemented it for a TermWriter struct (Note: DetectCursorPos comes from the Termion crate):
-
How to test the cursor's position in the following test?
The following code stores the user input and cursor position in a raw terminal (using Termion):
-
Testing the stdout of a RawTerminal
That being said, termion has already handle this for us (an example).
-
Termion: recreating Backspace for deleting characters
I'm trying to recreate the Backspace functionality with Termion in raw mode. Right now, it works as expected if I'm deleting the last character. But If I move to the left with the Left arrow, then delete a character, the characters on the right of the cursor won't move to the left.
-
When rustc developers run out of error messages to write
Termion crate (https://crates.io/crates/termion), and very careful observation of a rust error. Hope your friend finds it useful ;)
-
Crate for an interactive terminal program.
Found an alternative https://github.com/redox-os/termion
Native Windows GUI
Posts with mentions or reviews of Native Windows GUI.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-11-19.
-
FLTK 1.4 Released
[2] https://github.com/gabdube/native-windows-gui
- I have 0 coding experience or knowledge. I used ChatGPT to create code that would automate 80% of my work and I don't know how to deal with this newfound power
-
Which GUI toolkit for Rust today.. few questions...
On windows, I'll probably use https://github.com/gabdube/native-windows-gui or https://github.com/microsoft/windows-rs both of them seem pretty solid.
-
Rust: State of GUI, December 2022 – KAS blog
https://github.com/gabdube/native-windows-gui isn't in the list but is quite a polished option for building Windows specific GUIs.
- Minimum effort Windows GUI choice?
- Tauri – Electron alternative written in Rust
- A light windows GUI toolkit for rust
-
Good Rust System Tray Library?
My crate native-windows-gui supports tray application, if you only care about Windows. Example: https://github.com/gabdube/native-windows-gui/blob/master/native-windows-gui/examples/system_tray_d.rs
-
What's everyone working on this week (15/2021)?
Created a small resident windows program that shows a different icon depending on battery level test how easy using windows-rs and native-windows-gui is. Picked this as an easy learning project after seeing Battery Buddy for macOS.
-
WinSafe: Win32 GUI and related APIs in safe, idiomatic Rust - after 1 year and 5 months of development, first experimental version is finally here
native-windows-ui => https://github.com/gabdube/native-windows-gui
What are some alternatives?
When comparing Termion and Native Windows GUI you can also consider the following projects:
crossterm - Cross platform terminal library rust
imgui-rs - Rust bindings for Dear ImGui
QML-rust - QML (Qt Quick) bindings for Rust language
nfd2 - OS native dialogs for Windows, MacOS, and Linux
ncurses-rs - A low-level ncurses wrapper for Rust
gtk - DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!