Saiu uma nova versão do Niri v26.04 — um compositor de scroll-tiling para Wayland, que organiza as janelas em colunas em uma faixa infinita para a direita, enquanto a abertura de uma nova janela não altera o tamanho das janelas já abertas.
O Niri foi escrito em Rust e é distribuído sob a licença GPL3. Em fevereiro, o repositório no GitHub superou 20.000 estrelas.
A principal novidade desta versão, pela qual houve mais pedidos, é o suporte ao desfoque (blur) de fundo. O desfoque funciona através do protocolo Wayland ext-background-effect, sendo suportado por muitos aplicativos e shells (Dank Material Shell, Noctalia shell, Vicinae launcher, terminais foot, kitty, Ghostty, entre outros).
Para aplicativos sem suporte ao protocolo, o desfoque pode ser habilitado através da configuração do Niri. Existem dois tipos de desfoque: xray blur (eficiente, utiliza papéis de parede desfocados como imagem estática) e desfoque comum (que consome mais recursos). É possível definir qual tipo usar para diferentes camadas de janelas, por exemplo:
// Make top and overlay layers use the regular blur (if enabled),
// while bottom and background layers keep using the efficient xray blur.
layer-rule {
match layer="top"
match layer="overlay"
background-effect {
xray false
}
}
O desfoque é uma função complexa que exigiu mudanças significativas na arquitetura de renderização para funcionar de forma rápida e correta, incluindo suporte na visão geral de janelas (Overview) e interação com outros efeitos. Também foi adicionada a possibilidade de aplicar transparência e efeitos de desfoque a menus pop-up, com configuração de raio de bordas e transparência.
Entre outras mudanças, destaca-se o suporte a inclusões opcionais (optional includes) na configuração — é possível conectar arquivos que podem não estar presentes sem erro de carregamento, o que é conveniente para sobreposições locais. O serviço niri.service também foi aprimorado — o caminho para o binário agora não está hardcoded. Outras mudanças foram feitas em relação ao comportamento do ponteiro do ‘mouse’ durante o scroll, Screencasting e muito mais — detalhes podem ser encontrados através do link para a versão no final. A versão mínima suportada do Rust agora é 1.85.
Os desenvolvedores também mencionam a transferência do projeto Niri para a organização no GitHub, em vez da conta pessoal do desenvolvedor YaLTeR. Isso permitiu ampliar os direitos de gerenciamento de tarefas e pull requests. Os desenvolvedores agradecem ao Sempyos pela participação ativa no suporte e ajuda aos usuários. Projetos relacionados também foram transferidos para a organização, incluindo a lista de projetos relacionados awesome-niri (Vortriz) e o repositório com artes dos criadores do logotipo (bluelinden e HumpityDumpityDumber), onde existem ícones e vários papéis de parede, incluindo trabalhos 3D criados no Blender (Duncan-Rose).
Fonte: linux.org.ru



