Efter næsten to års udvikling blev brugergrænsefladen Enlightenment 0.28 frigivet, som er baseret på EFL (Enlightenment Foundation Library) sæt af biblioteker og Elementary widgets. Koden er skrevet i C og distribueres under BSD-licensen.
Skrivebordet i Enlightenment består af komponenter som filhåndtereren, et sæt widgets, en applikationsstartpanel og grafiske konfigureringsværktøjer. De grafiske konfigureringsværktøjer giver både højniveau tilpasningsmuligheder (ændring af temaer, konfiguration for virtuelle skriveborde, håndtering af skrifttyper, skærmopløsning, tastaturlayout, lokalisering osv.) samt mulighed for lavniveau tuning (for eksempel kan cache, grafisk acceleration, energiforbrug indstilles, og vindueschefens logik kan ændres).
For at udvide funktionaliteten anbefales det at bruge moduler (gadgets), og for at redesign af udseendet — temaer. Der er tilgængelige moduler til visning på skrivebordet af kalenderplanlægger, vejrprognoser, overvågningsdata, lydregulator og widget til vurdering af batteriladningen. De komponenter, som Enlightenment består af, er ikke fast bundet til hinanden og kan anvendes i andre projekter eller til oprettelse af specialiserede miljøer som skaller til mobile enheder.
De obligatoriske afhængigheder inkluderer EFL, libexif og libpam (kun i Linux). Blandt de anbefalede afhængigheder, som er nødvendige for at opnå fuld funktionalitet, er connman til netværkskonfiguration; bluez5 til Bluetooth; bc til den indbyggede lommeregner; pulseaudio til lydstyring; acpid til håndtering af forskellige hardwarebegivenheder; packagekit til overvågning af systemopdateringer; udisks2 til montering af eksterne drev; ddcutil til kontrol af skærmens baggrundsbelysning; gdb til tracing af nedbrud.

De mest mærkbare nyheder:
- Understøttelse af lydmixning ved hjælp af lyd server PipeWire (muligheden for at arbejde med PulseAudio er bevaret) er blevet tilføjet.
- Indledende understøttelse af NetBSD-platformen er tilføjet.
- En NetworkManager-modul tilføjet til konfiguration af netværksforbindelser via Wi-Fi, Ethernet, Bluetooth og VPN. Implementeret automatisk opsporing af netværkskonfiguratorer NetworkManager og ConnMan. Dialoger til visning af tilslutningslister og Wi-Fi-konfiguration er blevet revideret.
- Implementeret trafikindikatorer, Wi-Fi sikkerhedsindstillingsindikationer og signalstyrke, samt mulighed for at se detaljer om netværksforbindelsen.
- Understøttelse af import af VPN-indstillinger og visning af legitimationsoplysninger til autentificering er blevet tilføjet. Forbedret understøttelse af tilslutninger ved hjælp af captive-porte.
- En modul til clipboard-management er forberedt, som har muligheder for at gemme en historik over operationer og fjerne enkelte elementer fra historikken. Forbedret overvågning af ændringer i clipboard-indhold og tekstmarkering.
- Muligheden for at begrænse den øverste grænse for opladning af batteriet er blevet tilføjet for at forlænge dets levetid.
- Support til CPU-strømprofiler, som leveres via ACPI, er blevet tilføjet.
- Intensiteten af tilstandssporing er blevet reduceret, når skærmen er slukket.
- I X11-baserede miljøer er det nu muligt at tilpasse forsinkelser og frekvenser for gentryk ved at holde en tast nede.
- Den visuelle effekt 'Roll Up' er blevet tilføjet for en glidende lukning af vinduer.
- Understøttelsen af at oprette separate profiler for forskellige skriveborde og skærme er blevet fjernet.
- Ydeevnen i vinduesvexlingens interface er blevet forbedret.
- Mulighederne for at styre Bluetooth-adapteren er blevet udvidet.
Samtidig har projektet Enlightenment udgivet et sæt biblioteker EFL 1.29 (Enlightenment Foundation Library), der muliggør oprettelse af visuelt tiltalende grafiske grænseflader, der er kompakte, har lavt ressourceforbrug og høj ydeevne. På trods af den oprindelige udvikling som basis for Enlightenment-miljøet, bruges EFL-komponenter ofte til at bygge grænseflader i forbrugerelektronik og mobile enheder. For eksempel er EFL en del af den mobile platform Tizen og anvendes i husstandsmaskiner fra Electrolux samt i produkter fra Samsung, ProFUSION, Free.fr og Calaos.
Sammensætning af EFL:
- Eina — et bibliotek med implementering af datatyper (array, hash, liste, træ) og hjælpeværktøjer (arbejde med logs, ydeevneevaluering, formatkonvertering mv.).
- Eet — et bibliotek til at skrive vilkårlige datasæt til en fil til hurtig læsning i vilkårlig rækkefølge senere.
- Evas — et rendereringssystem til organisering af output på skærmen. Evas behandler skærmens indhold som en scene med objekter, hvis tilstand kan overvåges. På scenen kan der udføres operationer som skalering, rotation og 3D-transformationer. Denne tilgang, der er abstraheret fra placeringen af skærnelementer, muliggør udviklingen af brugergrænsefladen fra designerens perspektiv snarere end programmørens (i koden er det kun nødvendigt at definere logikken og ikke tænke på tegning og output på skærmen). Evas abstraherer også metoden for output, hvilket muliggør brugen af den samme kode sammen med software- og hardwareaccelereret rendering.
- Ecore — et bibliotek til organisering af hændelsesbehandlingssløjfen, der tilbyder et sæt moduler til at forenkle opgaver relateret til hændelsesbehandling, såsom arbejde med Evas, tråde, netværksforbindelser mv.
- Embryo — en integreret fortolker for sproget Pawn (tidligere kendt som Small).
- Edje — et grafisk bibliotek, der adskiller udseende fra kode (design specificeres i en filbaseret skabelon). Edje indtager en niche mellem HTML+CSS og SVG. Ved hjælp af dette bibliotek kan der skabes brugergrænseflader med animerede visuelle effekter og understøttelse af dynamisk design (udseendet kan ændres fuldstændigt ved blot at skifte EDJ-skabelonen uden at ændre koden; i modsætning til visuelle temaer kan elementernes rækkefølge ændres frit).
- Efreet — et bibliotek, der gør det muligt at bruge Freedesktop.org-specifikationer til at arbejde med ikoner, desktop-filer og menuer i applikationer.
- Eeze — et bibliotek til organisering af interaktion med eksterne enheder via udev, HAL og andre mekanismer.
- Expedite — et værktøj til at måle ydeevne, der kan teste forskellige Evas-motorer som X11, XRender, OpenGL, SDL og DirectFB.
- Evil — en implementering af et kompatibilitetslag til brug på Windows-platformen.
- Eio — et abstrakt interface til adgang til filsystemet og implementering af asynkron I/O.
- Emotion — et bibliotek til integration af lyd- og videoafspillere i applikationer. Videoafspilning kan udføres ved hjælp af Gstreamer, Xine eller andre eksterne plugins (f.eks. VLC), hvor videoen vises som et standardobjekt i Evas.
- Ethumb — et bibliotek til at generere miniaturebilleder, der overholder freedesktop.org-standarder. Ethumb er implementeret som en dbus-service og en klientbibliotek, der interagerer med denne service.
- Elementary — et sæt widgets med færdige implementeringer af forskellige grafiske elementer (fra knapper og kontrolelementer til kalender og tekstredigeringsmodul).
- Eldbus — en udvidelse af DBus.
- Ephysics — leverer midler til at bruge fysiksimuleringsmotoren Bullet i applikationer baseret på EFL. Ephysics sikrer forbindelsen mellem Bullet og Ecore- samt Evas-bibliotekerne.
- Ecore Audio — API til lydbehandling.
I den nye version af EFL er værktøjet Meson 0.60 blevet anvendt til opbygningen, understøttelsen af BSD-systemer og Windows er forbedret, DirectDraw API-baserede motor er blevet forældet, caching-effektiviteten er øget, mulighederne for tekstvisning og fontstyring er udvidet, der er tilføjet optimeringer baseret på AVX2-instruktioner, rendering af vektorgrafik er optimeret, en PipeWire-backend er blevet tilføjet, understøttelse af de native menuer i macOS er implementeret, menu-elementernes sortering i applikationer i forhold til lokalitet er realiseret, understøttelsen af Wayland er forbedret, en ny API til lydudgang er blevet implementeret, og en ny rendering baseret på OpenGL med støtte til gradienter og sammensætning er blevet tilføjet.
Kilde: opennet.ru
