Linux: Erweiterungen für Gnome auf Version 45 portieren
Gnome Shell nutzt ab Version 45 den JavaScript-Standard „ES Modules“. Dafür muss der Code von Erweiterungen angepasst werden, der Aufwand ist aber überschaubar.
Die Linux-Desktopumgebung Gnome präsentiert sich mit einer schlichten Bedienoberfläche. Fehlt einem eine Funktion, gibt es dafür wahrscheinlich eine Erweiterung, die sie nachrüstet. Eine solche Gnome Shell Extension ist wie Teile der Shell in JavaScript programmiert. Die Ausführung übernimmt die Runtime "Gnome JavaScript" (GJS).
Da JavaScript ursprünglich nur dafür gedacht war, Webseiten zu pimpen, fehlte es zunächst an einem Importmechanismus, der Programmbestandteile aus anderen Dateien lädt. Daher haben Projekte wie Node.js und Gnome für GJS zunächst eigene Importsysteme entwickelt, um Module nachzuladen. Später erhielt JavaScript ein einheitliches, standardisiertes Importsystem namens "ES Modules" (ESM). Dieses verwendet seit Version 45 nun auch die Gnome Shell.
Mit dem Wechsel vom GJS-Eigenbau zum Standard ES Modules verwenden Programme und Erweiterungen für Gnome die bekannte und übliche JavaScript-Syntax. So finden sich Außenstehende mit JavaScript-Erfahrung leichter zurecht und können einfacher eigene Erweiterungen schreiben oder vorhandene verbessern. Da sich die Syntax aber von jener von GJS unterscheidet, müssen alle Gnome-Erweiterungen angepasst werden. Der Aufwand ist in der Regel überschaubar und die Autoren vieler populärer Erweiterungen haben diese bereits an Gnome 45 angepasst.
Immer mehr Wissen. Das digitale Abo für IT und Technik.
Nur bis zum 31. Mai: heise+ 1 Jahr für nur 1,90 pro Woche lesen. Unbegrenzter Zugriff auf alle heise+ Artikel inklusive allen Digital-Magazinen.Länger lesen, mehr sparen: heise+ 1 Jahr lang für nur 1,90 € pro Woche lesen und brandaktuelles IT- und Tech-Wissen sichern. Zugriff auf alle heise+ Artikel inklusive der Digital-Magazine. Nur bis zum 31. Mai!