Foi publicada a versão do gerenciador composto Sway 1.7, construído usando o protocolo Wayland e totalmente compatível com o gerenciador de janelas mosaico i3 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:
- A capacidade de mover guias com o mouse é fornecida.
- Adicionado suporte para saída para headsets de realidade virtual.
- Adicionado o comando "output render_bit_profundidade" para ativar a saída do modo de composição com alta profundidade de bits.
- Maior confiabilidade e desempenho de saída de janelas de tela inteira (usando dmabuf, a saída direta é fornecida sem buffer adicional).
- É usado o protocolo xdg-activation-v1, que permite transferir o foco entre diferentes superfícies de primeiro nível (por exemplo, usando xdg-activation, um aplicativo pode mudar o foco para outro).
- Adicionada opção client.focused_tab_title para definir a cor da aba ativa.
- Adicionado o comando “output modeline” para definir seu próprio modo DRM (Direct Rendering Manager).
- Adicionado o comando "output dpms toggle" para facilitar o apagamento da tela dos scripts. Também foram adicionados comandos "gaps" alternar ", "smart_gaps inverse_outer" e "split none".
- A opção "--my-next-gpu-wont-be-nvidia" foi removida, substituindo-a pelo modo "--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.
- Forneceu a capacidade de desativar as caixas de diálogo swaybar e swaynag durante a construção.
- É proibido alterar dinamicamente a altura do título da janela dependendo dos caracteres do texto do título; o título agora sempre tem uma altura fixa.
Fonte: opennet.ru