Foi lançada a versão 0.9.0 do projeto labwc (Lab Wayland Compositor), que desenvolve um servidor compositor para Wayland com funcionalidades semelhantes ao gerenciador de janelas Openbox (o projeto se apresenta como uma tentativa de criar uma alternativa ao Openbox para Wayland). Entre as características do labwc, destacam-se o minimalismo, a implementação compacta, amplas opções de personalização e alta performance. Efeitos animados, gradientes e ícones, exceto os botões para janelas, não são suportados por princípio. O código do projeto é escrito em C e distribuído sob a licença GPLv2.
A base utiliza a biblioteca wlroots, desenvolvida pelos criadores do ambiente de desktop Sway, e fornece as funções básicas para organizar o funcionamento de um gerenciador compositor baseado em Wayland. É possível conectar extensões que implementem funcionalidades como criar capturas de tela, exibir papéis de parede na área de trabalho, posicionar uma barra e menus. Para executar aplicativos X11 em um ambiente baseado no protocolo Wayland, é suportado o uso do componente DDX XWayland. O tema, o menu básico e os atalhos de teclado podem ser configurados através de arquivos de configuração no formato xml. Há suporte embutido para telas com alta densidade de pixels (HiDPI).
Além do menu raiz embutido, configurável através do arquivo menu.xml, é possível conectar implementações de menu de aplicativos de terceiros, como bemenu, fuzzel e wofi. A barra pode ser Waybar, sfwbar, Yambar ou LavaLauncher. Para gerenciar a conexão de monitores e alterar suas configurações, é sugerido o uso do wlr-randr ou kanshi. O bloqueio da tela é feito com o swaylock. O gerenciador compositor é usado no ambiente gráfico da distribuição Raspberry Pi OS e é opcionalmente suportado nos ambientes de desktop Xfce e LXQt.
Na nova versão:
- Adicionada a suporte para as novas funcionalidades da versão 0.19 da biblioteca wlroots, como a implementação de novos protocolos Wayland, suporte a Multi-GPU e a possibilidade de sincronização explícita de buffers usando objetos de sincronização DRM (Direct Rendering Manager).
- Adicionado suporte para protocolos Wayland:
- ext-data-control — permite que clientes privilegiados controlem o processamento de dados, por exemplo, para implementar gerenciadores de área de transferência.
- alpha-modifier — permite que os clientes alterem o nível de transparência das superfícies e deleguem as operações de transparência para o compositor. servidor.
- xdg-toplevel-icon — implementa a vinculação de ícones a janelas de nível superior.
- drm-syncobj» — fornece ferramentas para a sincronização explícita de buffers usando objetos de sincronização DRM (Direct Rendering Manager).
- ext-image-copy-capture — organização da captura de conteúdo exibido na tela.
- Adicionada o comando «lab-sensible-terminal» para iniciar um emulador de terminal (o programa é escolhido com base na variável de ambiente $TERMINAL). Um item no menu raiz foi adicionado para chamar o terminal.
- Adicionada a opção de preenchimento gradiente para a área do cabeçalho da janela. As opções para configurar o gradiente são:
- window.*.title.bg: Sólido | Gradiente (Vertical | DivididoVertical)
- window.*.title.bg.colorTo:
- window.*.title.bg.color.splitTo:
- window.*.title.bg.colorTo.splitTo:
- Informações sobre as capacidades suportadas, como «+xwayland -rsvg», foram adicionadas à saída ao ser iniciada com as opções «-v» («—version»).
- Os recursos DRM (Diretivas de Gerenciamento de Renderização Direta) foram enviados aos clientes XWayland.
- Adicionada a configuração <windowRule iconPriority=»client|server»> para escolher o método prioritário de busca de ícones.
- Adicionada suporte a temas de cores, definidos usando a sintaxe X11-color-names e ‘#rgb’.
- Implementado suporte à propriedade XWayland _NET_WM_ICON e adicionada a regra iconPriority para habilitar seu suporte.
- Adicionada a configuração «<core><primarySelection>» para usar a rolagem automática com o botão do meio do mouse no Chromium e em aplicativos na plataforma Electron, sem inserção não intencional de dados da área de transferência.
- As versões suportadas dos protocolos Wayland xdg_shell e wl_compositor foram atualizadas.
- Adicionada suporte a botões auxiliares em mouses.
- Adicionadas configurações para libinput:
- «<threeFingerDrag>»
- «<dragLock>sticky<\/dragLock>»
- «<scrollMethod>none|twofinger|edge<\/scrollMethod>»
- Adicionados parâmetros «{left,right}-occupied» para facilitar a navegação entre áreas de trabalho virtuais com janelas abertas.
- Adicionada a configuração «<theme><dropShadowsOnTiled>» para habilitar a exibição de sombra para janelas em mosaico.
- Adicionado suporte à emulação da rolagem do mouse, para a qual foram propostas as opções EnableScrollWheelEmulation, DisableScrollWheelEmulation e ToggleScrollWheelEmulation.


Fonte: opennet.ru
