@mmstick@lemmy.world
@mmstick@lemmy.world avatar

mmstick

@mmstick@lemmy.world

I’m a System76 engineer / Pop!_OS maintainer. I’ve been a Linux user since 2007; and Rust since 2015. I’m currently working on COSMIC-related projects.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

mmstick,
@mmstick@lemmy.world avatar

COSMIC is being written in libcosmic, which is based on iced.

mmstick,
@mmstick@lemmy.world avatar

We are integrating AccessKit into libcosmic for accessibility support.

If you want to develop applets and/or applications with libcosmic, you must do so with Rust. There are no plans to develop C bindings for libcosmic.

mmstick, (edited )
@mmstick@lemmy.world avatar

That would compromise our vision of a GUI platform built from the ground up in Rust. It would also not be feasible to use Flutter for applet development. We can easily make modifications directly to iced for all the Wayland integrations that we need in COSMIC, as the iced code base is very lean, and written in Rust.

mmstick,
@mmstick@lemmy.world avatar

As long as you have access to the latest version of Rust, porting would be somewhere near cowsay.

mmstick, (edited )
@mmstick@lemmy.world avatar

The keyword is alternative. All first party applications are written natively with our libcosmic toolkit, which is based on iced-rs. We are using a fork of iced though because we needed to implement a custom runtime with the sctk (smithay client toolkit) for COSMIC applet development, but our desktop applications will use the original winit runtime.

mmstick,
@mmstick@lemmy.world avatar

It would certainly be easier for them to port COSMIC because there are very few dependencies on shared C libraries. Cargo links all Rust libraries statically, so it’s easier to maintain and update components. This will depend how open they are to accepting Cargo and Rust into their ecosystems.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #