The UX team has been carefully designing widgets and applications over the last year. We are now at the point where it is critical for the engineering team to decide upon a GUI toolkit for COSMIC. After much deliberation and experimentation over the last year, the engineering team has decided to use Iced instead of GTK.

Iced is a native Rust GUI toolkit that’s made enough progress lately to become viable for use in COSMIC. Various COSMIC applets have already been written in both GTK and Iced for comparison. The latest development versions of Iced have an API that’s very flexible, expressive, and intuitive compared to GTK. It feels very natural in Rust, and anyone familiar with Elm will appreciate its design.

Iced is a cross-platform GUI library written for the Rust programming language and “focused on simplicity and type-safety.” Iced in turn is inspired by the Elm language. The Iced toolkit works not only for Linux, macOS, and Windows, but also web applications.