Episode Details
Back to EpisodesCIW095 - Neuer Desktop "COSMIC"
Description
CIW - Folge 095 - 17.07.2024 - Neuer Desktop "COSMIC"
- Wir begrüssen alle Kosmonauten und rostige Benutzer zur Folge 95 von "Captain it's Wednesday", dem Podcast über Freie Software und Freie Gesellschaft von GNU/Linux.ch, aufgenommen am 16. Juli von Stefan, Ephraim und Felix Daum. In dieser Folge geht es um COSMIC.
Hausmitteilungen
- Hausmitteilungen gibt es keine. Felix hat sich ein neues Mikrofon zum Podcasten zugelegt. Das soll zu einer wesentlichen Verbesserung der Tonqualität beitragen. Sollte ein Rauschen im Hintergrund vernommen werden, bitte ich das zu entschuldigen. Die Mikrofoneinstellungen müssen noch feinjustiert werden. Das Mikrofon kam erst am selben Tag der Aufnahme an.
Thema: Neuer Desktop "COSMIC"
Der Hardware-Hersteller System76 arbeitet aktuell an seinem Computer Operating System Main Interface Components, kurz COSMIC Desktop. Das Projekt biegt wohl gerade auf die Zielgeraden zu einer Alpha-Version hin, da der Termin aber schon mal verschoben wurde, schauen wir uns COSMIC schon mal jetzt an.
Historisches
Ein kurzer Abriss über die Entstehungsgeschichte. Was im folgenden zu GTK und GNOME gesagt wird, ist nicht unsere Meinung, sondern die Begründung durch System76.
COSMIC gibt es bereits unter Pop!_OS als Abwandlung vom GNOME-Desktop mit mehreren Erweiterungen bspw. für Autotiling, ein Dock und so weiter. Durch libAdwaita, den Weg von GNOME sowie verschiedenen Kommentaren von GNOME-Entwicklern zu Erweiterungen wurde es immer schwieriger für System76, seine Erweiterungen auf GNOME anzupassen. Dazu möchten sie gerne als Hersteller ein Branding einführen, also ein eigenes Theme, sodass System76 bzw. Pop!_OS einen Wiedererkennungswert hat.
Deswegen hat sich System76 dazu entschieden, aus der Erweiterung für GNOME strukturell einen eigenen Desktop zu machen und gleichzeitig alles komplett neu zu machen.
Grundlagen
Der neue, ebenfalls COSMIC genannte Desktop basiert auf der Programmiersprache Rust und dem Grafiktoolkit Iced, das ebenfalls in Rust geschrieben ist. Rust ist eine speichersichere Sprache, die Speicherzugriffsfehler oder Pufferüberläufe vermeidet und trotzdem ziemlich performant ist.
Auch GNOME hat einige in Rust geschriebene Programme, die das in C geschriebene GTK für die grafische Anzeige verwenden. System76 hat sich für das noch in Entwicklung befindliche Grafiktoolkit Iced entschieden. Es lehnt sich von der Programmierstruktur an ELM an, das für Webapplikationen entwickelt wird. Iced ist plattformübergreifend und kann auch Webseiten erstellen.
Darauf aufbauend gibt es analog zu libAdwaita von GNOME oder Kirigami von KDE die Bibliothek libcosmic, die alle eigenen Widgets und so weiter für COSMIC enthält.
Vergleich der Oberflächen
GNOME setzt bekanntlich auf Headerbars, also dicke Leisten, die Icons, den Namen der Applikation und Knöpfe für Minimieren, Maximieren und Schließen enthalten, während KDE eher traditionell unterwegs ist mit Titelleiste vom Compositor, Menüleiste und Icon-Zeile.
libcosmic benutzt eine Mischung:
- gemeinsame Headerbar mit Applikations-Namen und Knöpfe für Schließen und so weiter.
- Diese Headerbar enthält aber auch eine Menüzeile mit Datei, Bearbeiten und so weiter. Je nach Sinnhaftigkeit für die Applikation.
- Oft gibt es auch eine Seitenleiste links, die sich einklappen lässt.
- Zusätzlich können weitere Informationen in einem Overlay-Bereich rechts erscheinen, beispielsweise Dateieigenschaften.
Anpassbarkeit
COSMIC lässt sich stark anpassen durch eine fast komplette freie Wahl der Farben oder auch dem Grad der Rundungen von Fenstern und Buttons. Die Farbanpassung kommt direkt aus Iced.
Leiste und Dock
- frei mit Widgets für laufende Applikationen, Uhr, Systemtray usw. belegbar
- frei positioni