COSMIC now supports theming GTK3/4 applications
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.
It is a desktop environment, which is the entire graphical user interface of the OS, and all of its bundled applications. It is also a platform which developers can build COSMIC applets and applications with. Applications being desktop applications, and applets being the shell components. Shell components are small interface elements such as the panel, dock, panel buttons, on-screen displays, launcher, etc.
It will take its place alongside the two giants in this space: KDE and GNOME. KDE being a desktop environment whose applets and applications are written in C++/JavaScript using Qt/QML as its GUI library. GNOME being and desktop environment whose applets are written in JavaScript with the GNOME Shell Toolkit; and its applications are written primarily in C with GTK as its GUI library.
COSMIC is instead built from the ground up entirely in Rust from top to bottom. Every applet and application is written in Rust, and the same libcosmic GUI library is used for developing both of them. Rust is a statically typed programming language which has dethroned C/C++ in recent years, and has been the most loved programming language on StackOverflow for the last eight years. We aim to make COSMIC the preferred platform for developing applications in Rust, with a GUI toolkit that's easier to develop than the alternatives.
COSMIC Project Collection
This is a list of community-developed projects.
Wayland compositors have to implement the whole display server, including special handling of XWayland windows. XWayland windows can be very finicky and require caution to handle.
The editor is meant to be a regular text editor. If you want a code editor, there is https://lapce.dev/
- That's not implemented, but you can click the maximize button, or press Super+M to toggle maximization.
- You can open the Appearance settings page and change that to your preferred color scheme. We've already selected our default colors and they're not going to change from here on out.
- What do you mean by minimal? The PrintScrn key opens the screenshot utility, which lets you choose between capturing a selected region, a specific window, or the whole display
- What's wrong with the file manager and editor? You can use whatever editor and file manager you want, so that shouldn't be a blocker for daily use.
- This can be configured in the cosmic comp config, but will be implemented in the settings app soon.
- Super+W opens the workspaces view
- Your distribution should make sure pop-launcher is installed, and each of its plugins symlinked.
- That is already possible in the Desktop and Panel settings page. As you can see, I'm not using a GNOME style panel or dock here.
It should be noted that COSMIC itself hasn't been delayed. Development on the core applications progressed much faster than expected, so we decided to skip the Alpha 1 release and release Alpha 2 instead.
Why wouldn't you like using it right now? I wouldn't call it "very alpha".
Our internal testing won't begin until the first ISO is ready, which marks the alpha. As it is open source, our internal testing is also publicly available to everyone interested in downloading the ISO and testing it. The Alpha will not include all features that are planned for release. Then we will switch to Beta after all featues are implemented, where QA will begin reviewing every PR to ensure that no regressions make it to release. Then it releases after we deem the beta free of oustanding issues on the board.
Yes, you can do anything with COSMIC's dock and panel. No extensions needed. If an applet exists on the system, you can embed it into your panel or dock.
The compositor and its applications have been developed bottom up with a full Rust stack, so stability hasn't been a concern. We spend very little time debugging since the logic usually works if it compiles.
There's only a handful of applications slated for the first release, and they're almost finished. Besides core applications, we need only develop a couple additional settings pages to be ready for release, and integrate COSMIC versions of the remaining desktop portals. Altogether, that's really not that much compared to all the work in the last two years.
Besides feature development, the main focus will be ironing out theming issues in the toolkit to adhere to our design files, and writing documentation for developers interested in building apps for cosmic. As well as the necessary work to enable a smooth upgrade from Pop 22.04 to 24.04.
Yes, Ubuntu.
I'd search pop-os/cosmic-store
. That is the GitHub namespace for it.
That's already happening
I assume you meant Pop!_OS instead of COSMIC. Pop!_OS 24.04 will be based on Ubuntu 24.04.
I'm referring to the COSMIC App Store. Not the Pop Shop.
Static linking is not an issue. Binaries may require more space on disk, but the benefit is that they are self-contained, portable, with excellent performance, and low memory usage. Binaries are compiled with LTO, so unused functions are stripped from the binary. What remains is highly optimized to that application's use cases.
It's not possible to measure yet. Too many moving parts and a lot of optimizations aren't finished yet.
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!