Utgivelse av brukergrensesnittet Enlightenment 0.28 og EFL-bibliotekene 1.29

Etter nesten to år med utvikling har brukermiljøet Enlightenment 0.28 blitt lansert, som er basert på EFL-bibliotekene (Enlightenment Foundation Library) og Elementary-widgetene. Koden er skrevet i C og distribueres under BSD-lisens.

Skrivebordet i Enlightenment består av komponenter som filbehandler, et sett med widgets, en startpanel for applikasjoner, og grafiske konfigurasjonsverktøy. De grafiske konfigurasjonsverktøyene tilbyr både høynivå bruksverktøy (som endring av utseende, konfigurasjon virtuelle skrivebord, administrasjon av skrifttyper, skjermoppløsning, tastaturoppsett, lokalisering osv.), og muligheter for lavnivå tuning (for eksempel kan man justere hurtigbufre, grafikkakselerasjonsinnstillinger, energiforbruk, og endre logikken til vindushåndteringen).

For å utvide funksjonaliteten foreslås det å bruke moduler (gadgets), mens for å tilpasse utseendet — temaer. Det finnes moduler for å vise kalenderplanlegger, værmelding, overvåkingsdata, volumkontroll, og widget for batteri-status på skrivebordet. Komponentene i Enlightenment er ikke strengt avhengige av hverandre og kan brukes i andre prosjekter eller for å lage spesialiserte miljøer, som skall for mobile enheter.

De obligatoriske avhengighetene inkluderer EFL, libexif og libpam (kun i Linux). Blant anbefalte avhengigheter som er nødvendige for å oppnå full funksjonalitet: connman for nettverkskonfigurasjon; bluez5 for Bluetooth-støtte; bc for innebygd kalkulator; pulseaudio for lydadministrasjon; acpid for behandling av ulike maskinvare-hendelser; packagekit for overvåking av systemoppdateringer; udisks2 for montering av eksterne disker; ddcutil for styring av skjermens bakgrunnsbelysning; gdb for feilsøking av programkrasj.

De mest bemerkelsesverdige nyvinningene:

  • Støtte for lydmiksing med serveren PipeWire er lagt til (muligheten for å bruke PulseAudio er bevart).
  • Innledende støtte for NetBSD-plattformen er lagt til.
  • NetworkManager-modulen er lagt til for å konfigurere nettverksforbindelser via Wi-Fi, Ethernet, Bluetooth, og VPN. Automatisk oppdagelse av nettverkskonfiguratorer fra NetworkManager og ConnMan er implementert. Dialogene for å se på listen over tilkoblinger og konfigurere Wi-Fi er redesignede.
  • Trafikkindikatorer, Wi-Fi-beskyttelsesmoduser og signalnivåer er implementert, samt muligheten til å se detaljer om nettverkstilkoblingen.
  • Støtte for import av VPN-innstillinger og utdata av autentiseringsforespørsel er lagt til. Støtten for tilkobling ved bruk av captive-portaler er forbedret.
  • Det er forberedt en modul for å administrere utklippstavlen, som har alternativer for lagring av handlingshistorikk og fjerning av individuelle elementer fra historikken. Forbedret sporing av endringer i innholdet på utklippstavlen og tekstutvalg.
  • Muligheten for å begrense den øvre grensen for batterilading for å forlenge levetiden er lagt til.
  • Støtte for energiforbruksprofiler for CPU, levert via ACPI, er lagt til.
  • Intensiteten av tilstandsforespørsel ved slukket skjerm er redusert.
  • I X11-baserte miljøer er det nå mulig å konfigurere forsinkelser og frekvenser for gjentatte tastetrykk ved å holde nede en tast på tastaturet.
  • Den visuelle effekten "Roll Up" for jevn rulling av vinduer er lagt til.
  • Støtte for oppretting av separate profiler for forskjellige skriveborde og skjermer er fjernet.
  • Ytelsen til grensesnittet for vindusskifting er forbedret.
  • Mulighetene for styring av Bluetooth-adapteren er utvidet.

Samtidig publiserte Enlightenment-prosjektet et sett med EFL 1.29-biblioteker (Enlightenment Foundation Library) som muliggjør opprettelse av visuelt tiltalende grafiske grensesnitt som skiller seg ut ved kompakt design, lavt ressursforbruk og høy ytelse. Til tross for at de opprinnelig ble utviklet som grunnlag for Enlightenment-miljøet, brukes EFL-komponentene ofte til å bygge grensesnitt for forbrukerelektronikk og mobile enheter. For eksempel er EFL en del av den mobile plattformen Tizen, og brukes i husholdningsapparater fra Electrolux, produkter fra Samsung, ProFUSION, Free.fr og Calaos.

Innholdet i EFL:

  • Eina – et bibliotek som implementerer datatyper (array, hash, liste, tre) og hjelpeverktøy (loggbehandling, ytelsesevaluering, formatkonvertering, osv.).
  • Eet – et bibliotek for å skrive vilkårlige datablokker til en fil for senere hurtig lesing i vilkårlig rekkefølge.
  • Evas — et renderer-system for organisering av visning på skjermen. Evas håndterer skjerminnhold som en scene med objekter hvis tilstand kan spores. På scenen kan man utføre operasjoner som skalering, rotasjon og 3D-transformasjoner. Denne tilnærmingen, som abstraherer fra plasseringen av skjerm-elementer, gjør det mulig å utvikle brukergrensesnitt fra designerens perspektiv snarere enn programmørens (i koden er det tilstrekkelig å definere logikken uten å tenke på tegning og visning på skjermen). Evas abstraherer også metode for visning, noe som tillater bruk av den samme koden med både programvare- og maskinvareakselerert rendering.
  • Ecore — et bibliotek for organisering av hendelsessløyfen, som tilbyr en rekke moduler for å forenkle oppgaver knyttet til hendelseshåndtering, som arbeid med Evas, tråder, nettverksforbindelser osv.
  • Embryo — en innebygd tolk for språket Pawn (tidligere kjent som Small).
  • Edje — et grafikkbibliotek som skiller utseende fra kode (utseendet defineres i form av en mal som lastes fra fil). Edje befinner seg i skjæringspunktet mellom HTML+CSS og SVG. Ved hjelp av dette biblioteket kan man lage et brukergrensesnitt med animerte visuelle effekter og støtte for dynamisk design (utseendet kan endres helt ved å bare bytte EDJ-mal uten å endre koden, mens elementenes rekkefølge kan endres fritt i motsetning til visuelle temaer).
  • Efreet — et bibliotek som gjør det mulig å bruke spesifikasjoner fra Freedesktop.org for å jobbe med ikoner, Desktop-filer og menyer.
  • Eeze — et bibliotek for organisering av interaksjon med eksterne enheter via udev, HAL og andre mekanismer.
  • Expedite — et verktøy for å måle ytelse som kan teste ulike Evas-motorer, som X11, XRender, OpenGL, SDL og DirectFB.
  • Evil — en kompatibilitetslag for arbeid på Windows-plattformen.
  • Eio — et abstrakt grensesnitt for tilgang til filsystemet og implementering av asynkron inn-/utdata.
  • Emotion — et bibliotek for integrering av lyd- og videohåndterere i applikasjoner. Videovisning kan gjøres ved hjelp av Gstreamer, Xine eller andre eksterne plugins (som VLC), mens videoen vises som et standard objekt i Evas.
  • Ethumb — et bibliotek for å lage bildeskisser i tråd med freedesktop.org-standarder. Ethumb er implementert som en dbus-tjeneste og et klientbibliotek som samhandler med denne tjenesten.
  • Elementary — et sett med widgets som allerede er implementert med en rekke grafiske elementer (fra knapper og kontroller til kalender og tekstredigeringsmodul).
  • Eldbus — et lag over DBus.
  • Ephysics — gir verktøy for å bruke simuleringsmotoren Bullet i applikasjoner basert på EFL. Ephysics kobler Bullet med Ecore- og Evas-bibliotekene.
  • Ecore Audio — API for lydbehandling.

I den nye versjonen av EFL for bygging er Meson 0.60-verktøyet brukt, støtte for BSD-systemer og Windows er forbedret, API-en basert på DirectDraw er erklært foreldet, caching-effektiviteten er økt, tekst- og fontbehandlingsmulighetene er utvidet, optimaliseringer basert på AVX2-instruksjoner er lagt til, rendering av vektorgrafikk er optimalisert, en backend for PipeWire er lagt til, støtte for bruk av standard menyer i macOS er implementert, muligheten til å sortere elementene i applikasjonsmenyer med hensyn til lokale innstillinger er realisert, Wayland-støtte er forbedret, et nytt API for lydutgang er implementert, og en ny renderer basert på OpenGL med støtte for gradienter og komposisjon er lagt til.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster