$ show an-anime-team/honkers-launcher
Honkers Launcher is a Linux desktop application that serves as an unofficial launcher for the game Honkai Impact 3rd. Built with Rust, GTK4, and relm4, it manages Wine prefixes, installs DXVK, applies game patches (including the Chinese edition patch), disables telemetry, and handles game updates. The architecture is a standard GTK GUI with a first-run wizard and a state machine for launcher operations. It relies on the `anime-launcher-sdk` crate for API calls and component management, and external tools like Wine, DXVK, bubblewrap, and gamescope. The codebase is in maintenance mode, with no new features planned, and some code quality issues such as unsafe globals, excessive unwrap calls, and commented-out code.
The LLM identified 2 files worth highlighting for reuse:
Implements a generic `ComponentsList` widget using relm4's `AsyncFactoryVecDeque` to display a list of downloadable components (e.g., Wine versions, DXVK versions). It is paired with `ComponentGroup` and `ComponentVersion` to handle selection, download, and deletion events. The pattern is reusable for any list of items with status tracking and user actions, though it is coupled to the SDK's `Component` type.
A simple progress bar component that maps `InstallerUpdate` enum states to localized captions and progress values. It is used across multiple windows (main, first-run, preferences) to show download/extraction progress. The pattern is clean and could be reused in any Rust GTK application that needs a progress bar driven by an enum of states.