• just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    I don’t even think S76 is big enough to make complaints, honestly.

    I’m curious about how this all came about, because if they wanted control of their software, the desktop is certainly not the first place to start. Misguided is the word I’d use if that was their goal.

    I do want to understand the “why” of this, but also the “who”. Do they have a team of developers working on this, or just like…one guy?

    • F04118F@feddit.nl
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      1 day ago

      They initially made a GNOME extension that contained their theming and an (optional) tiling for windows. Also some GTK apps, such as their app store frontend.

      I still use it daily on my gaming pc (Pop!_OS 22.04) and it sucks. Slow, unresponsive, janky. And this is an extension that they had been maintaining for years. Apparently GNOME devs don’t really consider extension developers and it was like building on quicksand for the Pop team.

      For better or worse, they made a decision to build their own fast, responsive COSMIC DE due to these frustrations with GNOME.

      I am still on the old 22.04 with GNOME, but already started using the new COSMIC Store app GUI last year.

      It is a HUGE leap from the old Pop!_Store and feels great.

      The rest of the DE is probably not ready yet, otherwise they wouldn’t call it Alpha.

      Oh and apparently they’ve made it really easy to brand the whole desktop env and are hoping for more orgs and companies to adopt it.

      • Michael Murphy (S76)@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        edit-2
        1 day ago

        This is the actual truth of the matter. COSMIC is the result of many years of planning and developments in response to customer requests in Pop!_OS. Over time, the COSMIC extensions for GNOME diverged in UX to the point where it was untenable to maintain long-term, and impossible to make further progress without forking. We were going to create a modern desktop environment in Rust from the ground up regardless of whether disputes happened with GNOME Foundation / Core members, even if disagreements helped to accelerate that goal.

        Today we have built a highly modular desktop environment in Rust from the ground up that anyone can use as a platform for building an operating system with thanks to the flexibility of the Wayland layer-shell protocol. You may mix and match any arrangement of layer-shell applets in any order. You can even swap out the cosmic session for a different desktop environment’s session, and vice versa load another desktop environment’s session inside of cosmic-comp.

        Distribution and user theming is also significantly improved over GTK with programmatic generation of themes—automatically adapting colors at runtime to the most ideal contrasting color values via OKLCH and other related algorithms—which distributions can use to customize to their preferred branding, and app developers can freely adopt without needing to worry about user themes breaking their apps. Users also get the convenience of generating their own custom themes with COSMIC Settings, even if that means creating an abomination of conflicting colors.

        We really wanted to improve upon the developer UX for Rust GUIs by creating libcosmic, and have succeeding in doing so with a toolkit based on Iced that uses Elm’s Model-View-Update paradigm. It is so much easier to build apps and applets with libcosmic compared to gtk4-rs. I have a lot of testimonials from developers who have built apps and applets with it. Some of which have also contributed a lot to cosmic and libcosmic, even if they had little or no Rust/programming experience previously.

        Also, while it may be alpha, it is very usable. It is only in alpha so long as all features aren’t implemented yet. You may have to supplement a GNOME app here or there. Some bugs are also expected, but it works great otherwise. In many ways better than the 22.04 environment currently offered.

        • somedev@aussie.zone
          link
          fedilink
          arrow-up
          2
          ·
          11 hours ago

          Something I’ve been curious about, if you don’t mins me asking: how does it go working with Qt apps? Do they work and look good using the Breeze theme?

          • Michael Murphy (S76)@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            10 hours ago

            No modifications are being done to Qt/KDE theming, and we won’t be able to get KDE apps to adapt to the COSMIC theme until the KDE ecosystem has finished migrations to the Union theme engine.

            • somedev@aussie.zone
              link
              fedilink
              arrow-up
              2
              ·
              9 hours ago

              So the apps work, they would just be noticeably different.

              Thanks for your time mate, appreciate it.

        • F04118F@feddit.nl
          link
          fedilink
          arrow-up
          2
          ·
          1 day ago

          Thanks for the detailed explanation!

          Distribution and user theming is also significantly improved over GTK with programmatic generation of themes—automatically adapting colors at runtime to the most ideal contrasting color values via OKLCH and other related algorithms—which distributions can use to customize to their preferred branding, and app developers can freely adopt without needing to worry about user themes breaking their apps. Users also get the convenience of generating their own custom themes with COSMIC Settings, even if that means creating an abomination of conflicting colors.

          I’ve themed my 22.04 install to death – literally – as one would expect from a first Linux install. I’ve been clicking through multiple GUIs where only the checkboxes, dropdowns and radio buttons showed, zero labels or descriptions. Most recently the Raspberry Pi Imager.