Foi lançado o Sway 1.7, um gerenciador de janelas em composição construído usando o protocolo Wayland e totalmente compatível com o gerenciador de janelas em mosaico i3 e a barra i3bar. O código do projeto é escrito em C e é distribuído sob a licença MIT. O projeto é voltado para uso em Linux e FreeBSD.
A compatibilidade com i3 é garantida no nível de comandos, arquivos de configuração e IPC, permitindo o uso do Sway como uma substituição transparente do i3, utilizando Wayland em vez de X11. O Sway permite posicionar janelas na tela de forma lógica, em vez de espacial. As janelas são organizadas em uma grade, otimizando o espaço na tela e permitindo manipulações rápidas apenas com o teclado.
Para construir um ambiente de usuário completo, são oferecidos componentes auxiliares: swayidle (processo em segundo plano com a implementação do protocolo KDE idle), swaylock (protetor de tela), mako (gerenciador de notificações), grim (criação de capturas de tela), slurp (seleção de área na tela), wf-recorder (captura de vídeo), waybar (barra de aplicativos), virtboard (teclado na tela), wl-clipboard (manipulação da área de transferência), wallutils (gerenciamento de papéis de parede).
O Sway está em desenvolvimento como um projeto modular, construído sobre a biblioteca wlroots, que abstrai todos os primitivos básicos para organizar o funcionamento do gerenciador de composição. A wlroots inclui backends para abstrair o acesso à tela, dispositivos de entrada, renderização sem acessar diretamente o OpenGL, interação com KMS/DRM, libinput, Wayland e X11 (com uma camada fornecida para executar aplicativos X11 com base no Xwayland). Além do Sway, a biblioteca wlroots é amplamente utilizada em outros projetos, incluindo Librem5 e Cage. Além de C/C++, foram desenvolvidos bindings para Scheme, Common Lisp, Go, Haskell, OCaml, Python e Rust.
No novo lançamento:
- Agora é possível mover as guias com o mouse.
- Adicionada suporte para saída em headsets de realidade virtual.
- Adicionada o comando "output render_bit_depth" para habilitar o modo de saída de composição com alta profundidade de cor.
- A confiabilidade e o desempenho da saída de janelas em tela cheia foram melhorados (através do dmabuf, permitindo saída direta sem buffer adicional).
- O protocolo xdg-activation-v1 foi ativado, permitindo transferir o foco entre diferentes superfícies de nível um (por exemplo, com xdg-activation, um aplicativo pode alternar o foco para outro).
- Adicionada a opção client.focused_tab_title para personalizar a cor da guia ativa.
- Adicionada o comando "output modeline" para definir um modo próprio no DRM (Direct Rendering Manager).
- Adicionada o comando "output dpms toggle" para simplificar o desligamento da tela a partir de scripts. Também foram adicionados os comandos "gaps toggle ", "smart_gaps inverse_outer" e "split none".
- Removida a opção "--my-next-gpu-wont-be-nvidia", que deve ser substituída pela opção "--unsupported-gpu". Drivers proprietários da NVIDIA ainda não são suportados.
- O emulador de terminal definido nas configurações padrão foi substituído pelo foot.
- Agora é possível desativar a barra de ferramentas swaybar e os diálogos swaynag durante a compilação.
- A alteração dinâmica da altura do cabeçalho da janela com base nos caracteres do texto do cabeçalho foi proibida; o cabeçalho agora sempre tem uma altura fixa.

Fonte: opennet.ru
