Veröffentlichung der benutzerdefinierten Umgebung Enlightenment 0.28 und der EFL-Bibliotheken 1.29

Nach fast zwei Jahren Entwicklung wurde die Benutzerumgebung Enlightenment 0.28 veröffentlicht, die auf dem EFL (Enlightenment Foundation Library) und den Elementary-Widgets basiert. Der Code ist in der Programmiersprache C geschrieben und wird unter der BSD-Lizenz veröffentlicht.

Der Desktop in Enlightenment besteht aus Komponenten wie dem Datei-Manager, einer Reihe von Widgets, einer Anwendungsstartleiste und grafischen Konfiguratoren. Die grafischen Konfiguratoren bieten sowohl hochgradige Anpassungsmöglichkeiten (Änderung des Designs, Konfiguration virtuellen Arbeitsplätzen, Schriftartenverwaltung, Bildschirmauflösung, Tastaturbelegung, Lokalisierung usw.) als auch niedriggradige Feineinstellungen (z. B. können Cache-Einstellungen, Grafikbeschleunigung, Energieverbrauch konfiguriert und die Logik des Fenstermanagers geändert werden).

Um die Funktionalität zu erweitern, können Module (Widgets) verwendet werden, während das Erscheinungsbild durch Design-Themen angepasst werden kann. Verfügbare Module umfassen einen Kalender-Planer, Wettervorhersagen, Überwachungsdaten, einen Lautstärke-Regler und ein Widget zur Akkuladestandserfassung für die Desktop-Anzeige. Die Komponenten von Enlightenment sind nicht fest miteinander verbunden und können in anderen Projekten oder zur Erstellung von spezialisierten Umgebungen, wie Shells für mobile Geräte, verwendet werden.

Zu den Pflichtabhängigkeiten gehören EFL, libexif und libpam (nur unter Linux). Zu den empfohlenen Abhängigkeiten, die für die volle Funktionalität erforderlich sind, zählen: connman zur Netzwerkkonfiguration; bluez5 für die Bluetooth-Nutzung; bc für den integrierten Rechner; pulseaudio zur Verwaltung von Audio-Geräten; acpid zur Verarbeitung verschiedener Hardwareereignisse; packagekit zur Überwachung von Systemaktualisierungen; udisks2 zum Mounten von externen Laufwerken; ddcutil zur Steuerung der Bildschirmhelligkeit; gdb zur Fehlersuche bei Abstürzen.

Die auffälligsten Neuerungen:

  • Die Unterstützung für die Audiomischung mit Hilfe der Server PipeWire wurde hinzugefügt (die Möglichkeit, mit PulseAudio zu arbeiten, bleibt erhalten).
  • Erste Unterstützung für die NetBSD-Plattform wurde hinzugefügt.
  • Ein NetworkManager-Modul wurde hinzugefügt, um Netzwerkverbindungen über Wi-Fi, Ethernet, Bluetooth und VPN. Automatische Erkennung von Netzwerk-Konfiguratoren für NetworkManager und ConnMan wurde implementiert. Die Dialoge zum Anzeigen der Verbindungen und zur Wi-Fi-Konfiguration wurden überarbeitet.
  • Es wurden Traffic-Indikatoren, Wi-Fi-Schutzmodi und Signalstärke implementiert sowie die Möglichkeit, die Details der Netzwerkverbindung anzuzeigen.
  • Unterstützung für den Import von VPN-Einstellungen und die Anzeige von Anmeldeanfragen für die Authentifizierung wurde hinzugefügt. Die Unterstützung für Verbindungen über captive Portale wurde verbessert.
  • Ein Modul zur Verwaltung der Zwischenablage wurde vorbereitet, das Optionen zum Speichern der Verlauf und zum Löschen einzelner Elemente bietet. Die Verfolgung von Änderungen im Inhalt der Zwischenablage und Auswahloperationen wurde verbessert.
  • Es wurde die Möglichkeit hinzugefügt, eine obere Grenze für das Aufladen des Akkus festzulegen, um dessen Lebensdauer zu verlängern.
  • Es wurde die Unterstützung für CPU-Energieprofile hinzugefügt, die über ACPI bereitgestellt werden.
  • Die Intensität der Abfragen des Status bei ausgeschaltetem Bildschirm wurde reduziert.
  • In Umgebungen auf Basis von X11 wurde die Möglichkeit hinzugefügt, Verzögerungen und die Wiederholfrequenz von Tastenanschlägen bei gedrückter Taste auf der Tastatur einzustellen.
  • Ein visueller Effekt "Roll Up" wurde hinzugefügt, um Fenster sanft zu minimieren.
  • Die Unterstützung für die Erstellung separater Profile für verschiedene Desktops und Bildschirme wurde entfernt.
  • Die Leistung der Fensterwechseloberfläche wurde verbessert.
  • Die Möglichkeiten zur Steuerung des Bluetooth-Adapters wurden erweitert.

Gleichzeitig veröffentlichte das Projekt Enlightenment eine Reihe von EFL 1.29-Bibliotheken (Enlightenment Foundation Library), die es ermöglichen, visuell ansprechende grafische Benutzeroberflächen zu erstellen, die kompakt, ressourcenschonend und leistungsstark sind. Obwohl sie ursprünglich als Grundlage für die Enlightenment-Umgebung entwickelt wurde, werden die EFL-Komponenten häufig für die Gestaltung von Schnittstellen in Verbraucherelektronik und mobilen Geräten verwendet. Zum Beispiel ist EFL Bestandteil der mobilen Plattform Tizen und wird in Haushaltsgeräten von Electrolux, Produkten von Samsung, ProFUSION, Free.fr und Calaos verwendet.

Inhalt von EFL:

  • Eina ist eine Bibliothek mit Implementierungen von Datentypen (Array, Hash, Liste, Baum) und Hilfswerkzeugen (Protokollverarbeitung, Leistungsbewertung, Formatkonvertierung usw.).
  • Eet ist eine Bibliothek zum Schreiben beliebiger Datensatzblöcke in eine Datei für eine anschließende schnelle Leseoperation in beliebiger Reihenfolge.
  • Evas ist ein Rendering-System zur Organisation der Bildschirmausgabe. Evas behandelt den Bildschirminhalt als Szene mit Objekten, deren Zustände verfolgt werden können. An der Szene können Operationen wie Skalierung, Rotation und 3D-Transformationen durchgeführt werden. Dieser Ansatz, der von der Platzierung der Bildschirmelemente abstrahiert, ermöglicht es, Benutzeroberflächen aus der Perspektive des Designers und nicht des Programmierers zu entwerfen (im Code muss nur die Logik definiert werden, das Zeichnen und die Anzeige müssen nicht bedacht werden). Evas abstrahiert auch die Ausgabemethode, sodass derselbe Code sowohl mit software- als auch hardwarebeschleunigtem Rendering verwendet werden kann.
  • Ecore ist eine Bibliothek zur Organisation des Ereignisverarbeitungszyklus, die eine Reihe von Modulen anbietet, um die mit der Ereignisverarbeitung verbundenen Aufgaben zu vereinfachen, wie die Arbeit mit Evas, Threads, Netzwerkverbindungen usw.
  • Embryo — ein eingebetteter Interpreter für die Sprache Pawn (früher bekannt als Small).
  • Edje — eine графische bibliothek, die das Erscheinungsbild vom Code trennt (das Design wird als Vorlage aus einer Datei geladen). Edje nimmt eine Nische zwischen HTML+CSS und SVG ein. Mit dieser Bibliothek kann man eine Benutzeroberfläche erstellen, die mit animierten visuellen Effekten ausgestattet ist und dynamisches Styling unterstützt (das Aussehen kann vollständig geändert werden, indem einfach die EDJ-Vorlage gewechselt wird, ohne den Code zu berühren. Im Unterschied zu visuellen Themen kann die Anordnung der Elemente dabei beliebig verändert werden).
  • Efreet — eine Bibliothek, die es ermöglicht, die Spezifikationen von Freedesktop.org für die Arbeit mit Symbolen, Desktop-Dateien und Menüs in Anwendungen zu verwenden.
  • Eeze — eine Bibliothek zur Organisation der Interaktion mit externen Geräten über udev, HAL und andere Mechanismen.
  • Expedite — ein Toolset zur Leistungsbewertung, das verschiedene Evas-Engines wie X11, XRender, OpenGL, SDL und DirectFB testen kann.
  • Evil — eine Kompatibilitätsschicht zur Ausführung auf Windows-Plattformen.
  • Eio — eine abstrakte Schnittstelle zum Zugriff auf das Dateisystem und zur Implementierung asynchroner Ein- und Ausgabe.
  • Emotion — eine Bibliothek zur Integration von Audio- und Videoplayern in Anwendungen. Die Video-Wiedergabe kann mit Gstreamer, Xine oder anderen externen Plugins (wie VLC) erfolgen, wobei das Video als Standardobjekt in Evas angezeigt wird.
  • Ethumb — eine Bibliothek zur Erstellung von Bildvorschauen, die den Standards von freedesktop.org entsprechen. Ethumb wird als dbus-Service und als Client-Bibliothek, die mit diesem Service interagiert, implementiert.
  • Elementary — ein Set von Widgets mit fertigen Implementierungen verschiedener grafischer Elemente (von Tasten und Steuerelementen bis hin zu Kalendern und Textbearbeitungsmodulen).
  • Eldbus — eine Erweiterung von DBus.
  • Ephysics — bietet Mittel zur Nutzung der Physiksimulations-Engine Bullet in Anwendungen, die auf EFL basieren. Ephysics stellt eine Verbindung zwischen Bullet und den Bibliotheken Ecore und Evas her.
  • Ecore Audio — API zur Arbeit mit Audio.

In der neuen Version von EFL wird das Meson 0.60-Tool eingesetzt, die Unterstützung für BSD-Systeme und Windows wurde verbessert, die Engine auf Basis der DirectDraw-API wurde als veraltet erklärt, die Effizienz des Caching wurde erhöht, die Möglichkeiten zur Textausgabe und zur Arbeit mit Schriftarten wurden erweitert, Optimierungen auf Basis von AVX2-Instruktionen hinzugefügt, die Vektorgrafikdarstellung optimiert, ein Backend für PipeWire hinzugefügt, die Unterstützung für die Nutzung der nativen Menüs in macOS implementiert, die Möglichkeit zur Sortierung von Menüelementen in Anwendungen unter Berücksichtigung der Lokalisierung realisiert, die Unterstützung für Wayland verbessert, eine neue API zur Tonwiedergabe implementiert und ein neuer Renderer auf Basis von OpenGL mit Unterstützung für Gradienten und Compositing hinzugefügt.

Quelle: opennet.ru

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster