Após 11 meses de desenvolvimento, foi publicado o lançamento do gerenciador composto Sway 1.8, construído usando o protocolo Wayland e totalmente compatível com o gerenciador de janelas i3 tiling e o painel i3bar. O código do projeto é escrito em C e distribuído sob a licença do MIT. O projeto é voltado para uso em Linux e FreeBSD.
A compatibilidade do i3 é fornecida no nível de comando, arquivo de configuração e IPC, permitindo que o Sway seja usado como um substituto transparente do i3 que usa Wayland em vez do X11. O Sway permite que você coloque janelas na tela não espacialmente, mas logicamente. As janelas são organizadas em uma grade que otimiza o uso do espaço da tela e permite manipular rapidamente as janelas usando apenas o teclado.
Para criar um ambiente de usuário completo, são oferecidos os seguintes componentes de acompanhamento: swayidle (processo em segundo plano que implementa o protocolo inativo do KDE), swaylock (protetor de tela), mako (gerenciador de notificações), grim (criação de capturas de tela), slurp (seleção de uma área na tela), wf-recorder (captura de vídeo), waybar (barra de aplicativos), virtboard (teclado na tela), wl-clipboard (trabalhar com a área de transferência), wallutils (gerenciar papel de parede da área de trabalho).
O Sway está sendo desenvolvido como um projeto modular construído sobre a biblioteca wlroots, que contém todas as primitivas básicas para organizar o trabalho do gerenciador composto. Wlroots inclui backends para acesso abstrato à tela, dispositivos de entrada, renderização sem acesso direto ao OpenGL, interação com KMS/DRM, libinput, Wayland e X11 (uma camada é fornecida para executar aplicativos X11 baseados em Xwayland). Além do Sway, a biblioteca wlroots é usada ativamente em outros projetos, incluindo Librem5 e Cage. Além de C/C++, foram desenvolvidas ligações para Scheme, Common Lisp, Go, Haskell, OCaml, Python e Rust.

Na nova versão:
- Implementado um novo comando "bindgesture" para vincular ações aos gestos do touchpad.
- O processo de bloqueio de tela (swaylock) foi alterado para o protocolo Wayland ext-session-lock-v1, que aumentou a confiabilidade e a segurança do bloqueio de sessão.
- Adicionado novo comando "output unplug" para remover dispositivos de saída virtuais.
- Adicionado suporte para eventos de rolagem da roda do mouse de alta resolução.
- Fornece suporte para a configuração "desativar durante o trackpointing" na biblioteca libinput para controlar se o trackpad é desativado ao usar o bastão apontador (trackpoint em laptops Thinkpad).
- Para melhorar a confiabilidade da detecção do espaço de trabalho ao iniciar novos aplicativos clientes, o protocolo xdg-activation-v1 é usado.
- A biblioteca wlroots melhorou a implementação do sistema de renderização usando a API gráfica Vulkan.
- Para otimizar o processo de agendamento de lançamentos de tarefas na plataforma Linux, foi implementada a capacidade de definir as permissões CAP_SYS_NICE.
- O suporte para trabalhar com o sinalizador raiz SUID foi descontinuado.
- O comando "output dpms" foi descontinuado e agora foi substituído pelo comando "output power".
- Para trabalhar com expressões regulares, pcre2 agora é usado em vez da biblioteca pcre.
Fonte: opennet.ru
