Lanzamiento del entorno de usuario Enlightenment 0.28 y las bibliotecas EFL 1.29

Después de casi dos años de desarrollo, se lanzó el entorno de usuario Enlightenment 0.28, que se basa en el conjunto de bibliotecas EFL (Enlightenment Foundation Library) y en los widgets Elementary. El código está escrito en C y se distribuye bajo la licencia BSD.

El escritorio en Enlightenment está compuesto por componentes como el administrador de archivos, un conjunto de widgets, el panel de lanzamiento de aplicaciones y configuradores gráficos. Los configuradores gráficos proporcionan tanto herramientas de configuración de alto nivel (cambio de apariencia, configuración escritorios virtuales, gestión de fuentes, resolución de pantalla, distribución del teclado, localización, etc.) como capacidades de ajuste de bajo nivel (por ejemplo, se pueden ajustar parámetros de caché, aceleración gráfica, consumo de energía, y cambiar la lógica de funcionamiento del gestor de ventanas).

Para ampliar la funcionalidad, se sugiere utilizar módulos (gadgets), y para modificar la apariencia, se pueden usar temas de diseño. Hay módulos disponibles para mostrar en el escritorio un calendario-planificador, el pronóstico del tiempo, datos de monitoreo, un regulador de volumen y un widget para evaluar la carga de la batería. Los componentes de Enlightenment no están fuertemente acoplados entre sí y pueden usarse en otros proyectos o para crear entornos especializados, como shells para dispositivos móviles.

Las dependencias obligatorias incluyen EFL, libexif y libpam (solo en Linux). Entre las dependencias recomendadas, necesarias para lograr una funcionalidad completa están: connman para la configuración de la red; bluez5 para trabajar con Bluetooth; bc para una calculadora incorporada; pulseaudio para gestionar dispositivos de audio; acpid para el manejo de diversos eventos de hardware; packagekit para el seguimiento de actualizaciones del sistema; udisks2 para montar discos externos; ddcutil para gestionar la retroiluminación de la pantalla; y gdb para depurar cierres inesperados.

Las innovaciones más destacadas incluyen:

  • Se añadió soporte para la mezcla de sonido utilizando servidores PipeWire (se mantiene la posibilidad de trabajar con PulseAudio).
  • Se agregó soporte inicial para la plataforma NetBSD.
  • Se añadió un módulo NetworkManager para la configuración de conexiones de red a través de Wi-Fi, Ethernet, Bluetooth y VPN. Se implementó la detección automática de configuradores de red NetworkManager y ConnMan. Se rediseñaron los diálogos para ver la lista de conexiones y configurar Wi-Fi.
  • Se implementaron indicadores de tráfico, modos de protección de Wi-Fi y nivel de señal, así como la posibilidad de ver los detalles de la conexión de red.
  • Se añadió soporte para la importación de ajustes de VPN y la presentación de solicitudes de credenciales para autenticación. Se mejoró el soporte de conexión utilizando portales cautivos.
  • Se preparó un módulo para gestionar el portapapeles, que tiene opciones para guardar el historial de operaciones y eliminar elementos individuales del historial. Se mejoró el seguimiento de los cambios en el contenido del portapapeles y las operaciones de selección de texto.
  • Se ha añadido la posibilidad de limitar el nivel de carga de la batería para prolongar su vida útil.
  • Se ha añadido soporte para los perfiles de consumo de energía del CPU proporcionados a través de ACPI.
  • Se ha reducido la intensidad de las operaciones de sondeo de estado cuando la pantalla está apagada.
  • En entornos basados en X11, se ha habilitado la configuración de retrasos y frecuencia de activación de las pulsaciones al mantener presionada una tecla en el teclado.
  • Se ha añadido el efecto visual 'Roll Up' para una cierre suave de las ventanas.
  • Se ha eliminado el soporte para crear perfiles separados para diferentes escritorios y pantallas.
  • Se ha mejorado el rendimiento de la interfaz al cambiar entre ventanas.
  • Se han ampliado las capacidades de gestión del adaptador Bluetooth.

Al mismo tiempo, el proyecto Enlightenment ha publicado un conjunto de bibliotecas EFL 1.29 (Enlightenment Foundation Library), que permiten crear interfaces gráficas atractivas, compactas, de bajo consumo y altamente eficientes. A pesar de su desarrollo inicial como base para el entorno Enlightenment, los componentes de EFL se utilizan frecuentemente para construir interfaces de electrónica de consumo y dispositivos móviles. Por ejemplo, EFL es parte de la plataforma móvil Tizen, y se utiliza en electrodomésticos de Electrolux, productos de Samsung, ProFUSION, Free.fr y Calaos.

Componentes de EFL:

  • Eina — biblioteca que implementa tipos de datos (arreglo, hash, lista, árbol) y herramientas auxiliares (manejo de logs, evaluación de rendimiento, transformación de formatos, etc.).
  • Eet — biblioteca para escribir un conjunto arbitrario de bloques de datos en un archivo para su posterior lectura rápida en orden arbitrario.
  • Evas — sistema de renderizado para organizar la salida en pantalla. Evas maneja el contenido de la pantalla como una escena con objetos, cuyo estado se puede rastrear. Se pueden realizar operaciones sobre la escena como escalado, rotación y transformaciones 3D. Este enfoque, abstraído del posicionamiento de los elementos en pantalla, permite desarrollar la interfaz de usuario desde la perspectiva del diseñador, y no del programador (en el código, solo es necesario definir la lógica y no pensar en el renderizado y la salida en pantalla). Evas también abstrae el método de salida, permitiendo usar el mismo código en combinación con renderizado acelerado por software y hardware.
  • Ecore — biblioteca para organizar el ciclo de procesamiento de eventos, que ofrece un conjunto de módulos para simplificar las tareas relacionadas con el manejo de eventos, como el trabajo con Evas, hilos, conexiones de red, etc.
  • Embryo — intérprete embebido del lenguaje Pawn (anteriormente conocido como Small).
  • Edje — biblioteca gráfica que separa la apariencia del código (el diseño se establece a través de una plantilla cargada desde un archivo). Edje ocupa un nicho entre HTML+CSS y SVG. Con esta biblioteca, se puede crear una interfaz de usuario con efectos visuales animados y que soporte un diseño dinámico (la apariencia se puede cambiar completamente simplemente cambiando la plantilla EDJ sin modificar el código, mientras que, a diferencia de los temas visuales, el orden de los elementos puede ser modificado libremente).
  • Efreet — una biblioteca que permite usar en aplicaciones las especificaciones de Freedesktop.org para trabajar con íconos, archivos de escritorio y menús.
  • Eeze — una biblioteca para organizar la interacción con dispositivos externos a través de udev, HAL y otros mecanismos.
  • Expedite — una herramienta para medir el rendimiento, que puede probar diferentes motores de Evas, como X11, XRender, OpenGL, SDL y DirectFB.
  • Evil — una implementación del nivel de compatibilidad para trabajar en la plataforma Windows.
  • Eio — una interfaz abstracta para acceder al sistema de archivos e implementar operaciones de entrada/salida asincrónica.
  • Emotion — una biblioteca para integrar en aplicaciones controladores para la reproducción de audio y video. La reproducción de video puede realizarse utilizando Gstreamer, Xine u otros plugins externos (por ejemplo, VLC), y el video se muestra como un objeto estándar en Evas.
  • Ethumb — una biblioteca para generar miniaturas de imágenes que cumplan con los estándares de freedesktop.org. Ethumb está implementado como un servicio dbus y una biblioteca cliente que interactúa con este servicio.
  • Elementary — un conjunto de widgets con implementaciones listas de diversos elementos gráficos (desde botones y controles hasta calendarios y módulos de edición de texto).
  • Eldbus — una extensión sobre DBus.
  • Ephysics — proporciona medios para utilizar el motor de simulación de procesos físicos Bullet en aplicaciones basadas en EFL. Ephysics asegura la vinculación de Bullet con las bibliotecas Ecore y Evas.
  • Ecore Audio — API para trabajar con sonido.

En la nueva versión de EFL, se ha utilizado la herramienta Meson 0.60 para la compilación, se ha mejorado el soporte para sistemas BSD y Windows, se ha declarado obsoleto el motor basado en la API DirectDraw, se ha incrementado la eficacia de la caché, se han ampliado las posibilidades para la salida de texto y el trabajo con fuentes, se han añadido optimizaciones basadas en instrucciones AVX2, se ha optimizado el renderizado de gráficos vectoriales, se ha añadido un backend para PipeWire, se ha agregado soporte para el uso de menús nativos en macOS, se ha implementado la posibilidad de ordenar los elementos del menú de aplicaciones según la configuración regional, se ha mejorado el soporte para Wayland, se ha implementado una nueva API para la salida de sonido, y se ha añadido un nuevo renderizador basado en OpenGL con soporte para gradientes y composición.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster