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.

The main jumping-off point for COSMIC is this repository, I think: https://github.com/pop-os/cosmic-epoch

The iced crate is here: https://github.com/iced-rs/iced

Other GUI tookits for Rust can be found here: https://www.areweguiyet.com/

  • DessalinesA
    link
    fedilink
    arrow-up
    8
    ·
    2 years ago

    iced is my favorite rust gui library. It’s really clean, and super easy to learn if you’re coming from other elm-type UI design systems like react.

  • poVoq@slrpnk.net
    link
    fedilink
    arrow-up
    3
    ·
    2 years ago

    Could be nice, but they really need other projects to use it otherwise it will be another Unity debacle.

    • jokeyrhymeOP
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      True, although they whipped up https://github.com/pop-os/cosmic-text in a shockingly small amount of time, so it’s possible that they check these boxes quite quickly

      For comparison, egui (another pure-Rust cross-platform GUI toolkit) just recently got accessibility support, but that feature only works in Windows and macOS: https://github.com/emilk/egui/pull/2294

      I think we’re in an interesting intersection of Rust ecosystem, wayland upheaval, and Pop! OS rewrite, which is a lot going on and I’m keen to see how it turns out :)

  • gcb
    link
    fedilink
    arrow-up
    1
    arrow-down
    3
    ·
    edit-2
    2 years ago

    having a (non coders) design team in open source is a recipe for gnomification (balkanization of opensource community)