4 releases (2 breaking)

0.3.0 Nov 16, 2023
0.2.1 May 13, 2023
0.2.0 May 7, 2023
0.1.0 Sep 14, 2022

#2745 in Parser implementations

MIT license

290KB
6.5K SLoC

hlbc-gui Crates.io

A GUI for hlbc.

screenshot

The GUI also runs on the web ! The latest release is available at : https://gui-yom.github.io/hlbc


Installation

Download a prebuilt binary from the releases page (built from the CI, Windows & Linux).

Or build from the latest version :

cargo install hlbc-gui

Or build the crate from the latest sources :

git clone https://github.com/Gui-Yom/hlbc
cd hlbc/crates/hlbc-gui
cargo build --release
# The resulting binary can be found in ../target/release

About the GUI

The GUI is immediate mode and is built with egui. I would very like to find a retained mode GUI framework but the options are still scarce in Rust. I need something complete and cross-platform. It needs to have support for rich text (code display) and a docking UI (or implementable at least), and also not be ugly.

  • Xilem ? Too damn early, it's still at prototyping stage.
  • Floem ? Too damn early too, also a stock application consumes 500MB+ of memory which is kinda ridiculous.
  • GTK ? Probably the best option. I should look into it.
  • Web UI ? e.g. tauri / ultralight. Web is meh but allows for anything. I would love a stripped down and embeddable html/css engine without any javascript where events are handled directly in Rust. Maybe sciter ?
  • Flutter ? having looked that much into it.
  • Qt ? are the rust bindings functional ?

The thing is, egui sometimes feel subpar but is good enough everywhere. The ecosystem is nice and the development experience is amazing. Difficult to find better.

Dependencies

~8–47MB
~771K SLoC