Michael Murphy (S76)

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.

  • 45 Posts
  • 181 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle


  • You can either return cosmic::Element<Message>, impl Into<cosmic::Element<Message>>, or cosmic::widget::Button<Message> with your functions.

    Every widget can .into() or .apply(Element::from) into a cosmic::Element.

    I’d recommend using the Grid widget so that your buttons can scale with the window.

    cosmic::widget::grid()
        .push(widget1())
        .push(widget2())
        .push(widget3())
        .insert_row()
        .push(widget4())
        .push(widget5())
        .push(widget6())
        .row_spacing(12)
        .column_spacing(12)
        .justify_content(JustifyContent::Stretch)
        .width(Length::Fill)
        .height(Length::Fill)
        .into()
    





















  • I wouldn’t rule out the possibility of a cosmic-applets-community package which bundles third party applets, or the gradual inclusion of popular applets into cosmic-applets. Given that an applet would only become popular if there’s a lot of need for those use cases, then it would make sense to open a path to getting them mainlined.




  • Pop!_OS 22.04 uses GNOME with a lot of custom extensions and patches. Pop!_OS 24.04 will switch to COSMIC.

    GNOME Shell extensions are JavaScript monkey patches that get injected directly into the gnome-shell process, which is running inside a JavaScript runtime. So they have no effect outside of GNOME Shell.

    COSMIC panels are already configurable, so there’s no need for a third party panel applet to have dock applets embedded in the panel. You can configure the panel and dock to any layout. Be that a GNOME layout, Unity layout, Mac OS layout, Windows layout, etc.

    It would be redundant to rebrand Pop!_OS to COSMIC OS. The cosmos was created by a Pop!


  • The cosmic toolkit has its own widget library that replaces the iced widgets. These widgets are tightly integrated with cosmic’s theme engine. The toolkit also provides its own Application/Applet traits for quickly implementing a standardized COSMIC application and applet interface. Examples are in the libcosmic repository, and you can reference cosmic-applets and other repositories for real world examples.