Foi lançado o release do servidor composto Niri 0.1.10, implementando o método de layout em mosaico (tiling) no estilo da extensão GNOME PaperWM, onde as janelas são agrupadas em uma barra rolável infinitamente na tela. A abertura de uma nova janela resulta na expansão da barra, enquanto as janelas previamente adicionadas mantêm seu tamanho. O projeto é baseado no uso do protocolo Wayland, mas permite a execução de aplicativos X11 através do servidor DDX Xwayland. O código do projeto é distribuído sob a licença GPLv3. Pacotes são gerados para Fedora, NixOS, Arch Linux e FreeBSD.
A principal diferença do Niri em relação ao PaperWM é a associação de uma fita de janelas exclusiva a cada monitor, não se sobrepondo às fitas de outros monitores (no PaperWM, a operação separada com monitores não pode ser realizada devido à ligação às coordenadas globais de janelas no GNOME Shell). O Niri suporta HiDPI e pode operar em sistemas com várias GPUs (por exemplo, sistemas híbridos com placa gráfica discreta e GPU integrada). Há uma interface embutida para criar capturas de tela e gravar screencasts, cuja característica é a possibilidade de excluir da gravação janelas individuais com informações confidenciais.
As áreas de trabalho virtuais no Niri são criadas dinamicamente e, à semelhança do GNOME, são dispostas verticalmente (a fita de janelas gira horizontalmente e a fita de áreas de trabalho — verticalmente). Em cada monitor, pode ser exibido um conjunto independente. para áreas de trabalho virtuaisPara alternar entre áreas de trabalho e janelas, podem ser utilizados gestos de controle no touchpad. Ao desconectar o monitor, a disposição das áreas de trabalho virtuais é lembrada e transferida para o monitor restante, e ao reconectar o monitor, é restaurada ao estado original. A configuração é realizada por meio de um arquivo de configuração, permitindo alterar parâmetros como largura das bordas, margens, modos de saída e tamanhos das janelas. As alterações feitas no arquivo de configuração são aplicadas automaticamente sem reiniciar o compositor. servidor.

Na nova versão:
- Foi adicionado um modo de movimentação interativa de janelas, permitindo arrastar uma janela para um novo local segurando o cabeçalho da janela com o mouse ou toque na tela sensível ao toque. Para evitar alterações indesejadas no layout ao iniciar o arrasto, é necessário superar um determinado limite de resistência para desprender-se da posição atual.
- Foi adicionada a capacidade de vincular comandos a eventos de abertura ou fechamento da tampa do notebook ou de mudança do notebook para o modo tablet. Por exemplo, após mudar para o modo tablet, é possível ativar automaticamente o uso do teclado na tela. Também foi adicionada a possibilidade de mover automaticamente as áreas de trabalho virtuais para um monitor externo (se conectado) ao fechar a tampa do notebook.
- Foi adicionada a compatibilidade com a solicitação set_cursor_position_hint. Se a posição do cursor estiver fixada no modo lock_pointer, a solicitação adicionada permite que o aplicativo transmita informações ao gerenciador de composição sobre a posição final do cursor após sua movimentação.
- Foram adicionadas opções para ocultar o cursor durante a digitação ou após um determinado período de inatividade.
- Novas configurações de dispositivos de entrada foram adicionadas, como uma seção com parâmetros para trackball e opções de rolagem com o mouse ou touchpad.
- Foi garantido que as informações sobre a área de trabalho virtual ativa sejam mantidas após a reconexão do monitor.
- Foi adicionada a ação 'power-on-monitors' para controlar a saída do monitor do modo de espera (por padrão, o monitor ativa automaticamente após qualquer evento de entrada).
- Foi adicionado um arquivo para executar o niri sob o gerenciamento do serviço dinit.
Fonte: opennet.ru
