Lançamento do ambiente de usuário Enlightenment 0.28 e das bibliotecas EFL 1.29

Após quase dois anos de desenvolvimento, foi lançado o ambiente de usuário Enlightenment 0.28, que se baseia em um conjunto de bibliotecas EFL (Enlightenment Foundation Library) e widgets Elementary. O código é escrito em C e distribuído sob a licença BSD.

O desktop no Enlightenment é formado por componentes como gerenciador de arquivos, um conjunto de widgets, painel de lançamento de aplicativos e configuradores gráficos. Os configuradores gráficos oferecem tanto ferramentas de configuração de alto nível (como personalização de aparência, ajustes para áreas de trabalho virtuais, gestão de fontes, resolução de tela, layout de teclado, localização, etc.), quanto opções para ajustes de baixo nível (por exemplo, é possível configurar parâmetros de cache, aceleração gráfica, consumo de energia e alterar a lógica de funcionamento do gerenciador de janelas).

Para ampliar a funcionalidade, são oferecidos módulos (gadgets), e para modificar a aparência — temas de design. Estão disponíveis módulos para exibir no desktop um calendário-agenda, previsão do tempo, dados de monitoramento, controle de volume e um widget para avaliação da carga da bateria. Os componentes do Enlightenment não estão rigidamente interligados e podem ser utilizados em outros projetos ou para criar ambientes especializados, como shells para dispositivos móveis.

As dependências obrigatórias incluem EFL, libexif e libpam (apenas no Linux). Entre as dependências recomendadas, necessárias para alcançar plena funcionalidade: connman para configuração de rede; bluez5 para funcionamento com Bluetooth; bc para o calculador integrado; pulseaudio para gerenciamento de dispositivos de som; acpid para lidar com diversos eventos de hardware; packagekit para monitoramento de atualizações do sistema; udisks2 para montagem de discos externos; ddcutil para controle do brilho da tela; gdb para rastreamento de falhas.

As novidades mais notáveis são:

  • Adicionada suporte à mixagem de som utilizando servidor PipeWire (a capacidade de trabalhar com PulseAudio foi mantida).
  • Adicionada suporte inicial à plataforma NetBSD.
  • Adicionado módulo NetworkManager para configurar conexões de rede via Wi-Fi, Ethernet, Bluetooth e VPN. Implementado a detecção automática de configuradores de rede NetworkManager e ConnMan. Diálogos para visualizar a lista de conexões e configurar o Wi-Fi foram reformulados.
  • Implementados indicadores de tráfego, modos de proteção Wi-Fi e nível de sinal, bem como a possibilidade de visualizar detalhes da conexão de rede.
  • Adicionado suporte para importação de configurações VPN e exibição de solicitações de credenciais para autenticação. Melhorado o suporte para conexão utilizando portais cativos.
  • Preparado um módulo para gerenciar o clipboard, com opções para salvar o histórico de operações e deletar itens individuais do histórico. Melhorado o acompanhamento de mudanças no conteúdo do clipboard e operações de seleção de texto.
  • Adicionada a possibilidade de limitar o nível superior de carga da bateria para prolongar sua vida útil.
  • Adicionada a compatibilidade com perfis de consumo de energia da CPU fornecidos via ACPI.
  • Reduzida a frequência das operações de verificação de estado quando a tela está desligada.
  • Em ambientes baseados em X11, foi adicionada a capacidade de configurar os retards e a frequência de acionamento de pressionamentos longos na tecla do teclado.
  • Adicionado o efeito visual 'Roll Up' para uma minimização suave das janelas.
  • Removido o suporte para criar perfis separados para diferentes áreas de trabalho e telas.
  • Aumentada a performance da interface de alternância entre janelas.
  • Expandidas as capacidades de gerenciamento do adaptador Bluetooth.

Simultaneamente, o projeto Enlightenment publicou um conjunto de bibliotecas EFL 1.29 (Enlightenment Foundation Library), que permitem a criação de interfaces gráficas visualmente atraentes, caracterizadas pela sua compactação, baixo consumo de recursos e alta performance. Apesar de inicialmente ter sido desenvolvido como base para o ambiente Enlightenment, os componentes EFL são frequentemente utilizados para construir interfaces em eletrônicos de consumo e dispositivos móveis. Por exemplo, EFL faz parte da plataforma móvel Tizen e é utilizado em eletrodomésticos da Electrolux, produtos da Samsung, ProFUSION, Free.fr e Calaos.

Composição do EFL:

  • Eina — uma biblioteca com a implementação de tipos de dados (array, hash, lista, árvore) e ferramentas auxiliares (manipulação de logs, avaliação de desempenho, conversão de formatos, etc.).
  • Eet — uma biblioteca para gravar um conjunto arbitrário de blocos de dados em um arquivo para leitura rápida posterior em ordem arbitrária.
  • Evas — um sistema de renderização para organizar a saída na tela. Evas opera o conteúdo da tela como uma cena com objetos, cujo estado pode ser monitorado. Operações como escalonamento, rotação e transformações 3D podem ser realizadas sobre a cena. Essa abordagem, abstraída da disposição dos elementos da tela, permite desenvolver a interface do usuário do ponto de vista do designer, e não do programador (no código, é suficiente definir apenas a lógica e não se preocupar com a renderização e exibição na tela). Evas também abstrai o método de saída, permitindo usar o mesmo código em combinação com renderização acelerada por software e hardware.
  • Ecore — uma biblioteca para organizar o ciclo de processamento de eventos, oferecendo um conjunto de módulos para simplificar tarefas relacionadas ao processamento de eventos, como trabalhar com Evas, threads, conexões de rede, etc.
  • Embryo — um interpretador embutido da linguagem Pawn (anteriormente conhecido como Small).
  • Edje — uma biblioteca gráfica que separa a aparência do código (o design é definido por um modelo carregado de um arquivo). Edje ocupa um espaço entre HTML+CSS e SVG. Com esta biblioteca, é possível formar uma interface de usuário com efeitos visuais animados e suporte a design dinâmico (a aparência pode ser completamente alterada ao trocar o modelo EDJ, sem alterar o código; além disso, ao contrário dos temas visuais, a ordem dos elementos pode ser alterada livremente).
  • Efreet — uma biblioteca que permite usar em aplicativos as especificações do Freedesktop.org para trabalhar com ícones, arquivos de desktop e menus.
  • Eeze — uma biblioteca para organizar a interação com dispositivos externos através de udev, HAL e outros mecanismos.
  • Expedite — um conjunto de ferramentas para medir o desempenho, que pode testar diferentes motores Evas, como X11, XRender, OpenGL, SDL e DirectFB.
  • Evil — uma implementação de camada de compatibilidade para funcionamento na plataforma Windows.
  • Eio — uma interface abstrata para acesso ao sistema de arquivos e implementação de entrada/saída assíncrona.
  • Emotion — uma biblioteca para integrar manipuladores de reprodução de áudio e vídeo em aplicativos. A reprodução de vídeo pode ser realizada utilizando Gstreamer, Xine ou outros plugins externos (como VLC), com o vídeo sendo exibido como um objeto padrão no Evas.
  • Ethumb — uma biblioteca para a criação de miniaturas de imagens de acordo com os padrões do freedesktop.org. Ethumb é implementado como um serviço dbus e uma biblioteca cliente que interage com este serviço.
  • Elementary — um conjunto de widgets com implementações prontas de diversos elementos gráficos (desde botões e controles até calendário e módulo de edição de texto).
  • Eldbus — uma camada sobre o DBus.
  • Ephysics — fornece ferramentas para usar o motor de simulação de processos físicos Bullet em aplicativos baseados no EFL. Ephysics faz a conexão entre Bullet e as bibliotecas Ecore e Evas.
  • Ecore Audio — API para manipulação de som.

Na nova versão do EFL, foi utilizado o conjunto de ferramentas Meson 0.60, melhorada a compatibilidade com sistemas BSD e Windows, o mecanismo baseado na API DirectDraw foi declarado obsoleto, a eficiência do cache foi aprimorada, as capacidades de exibição de texto e trabalho com fontes foram expandidas, otimizações baseadas em instruções AVX2 foram adicionadas, a renderização de gráficos vetoriais foi otimizada, um backend para PipeWire foi adicionado, suporte para uso de menus nativos no macOS foi implementado, a possibilidade de ordenar elementos de menu de aplicativos com base na localidade foi introduzida, o suporte ao Wayland foi melhorado, uma nova API para saída de som foi realizada, e um novo renderizador baseado em OpenGL com suporte a gradientes e composição foi adicionado.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster