A System76, empresa desenvolvedora da distribuição Linux Pop!_OS, anunciou avanços no desenvolvimento da interface personalizada COSMIC, reescrita na linguagem Rust (não confundir com o antigo COSMIC, que era baseado no GNOME Shell). A interface está em desenvolvimento há mais de dois anos e está próxima de formar sua primeira versão alfa, que marcará a prontidão de um conjunto básico de recursos, permitindo considerar a interface um produto pronto para uso. A versão alfa está prevista para ser lançada no final de março e ajudará a coletar mais feedbacks para o refinamento das funcionalidades e melhoria da experiência do usuário.
A interface evolui como um projeto universal, não vinculado a uma distribuição específica e em conformidade com as especificações do Freedesktop. Para a construção da interface, a COSMIC utiliza a biblioteca Iced, que adota tipos seguros, arquitetura modular e um modelo de programação reativa, além de oferecer uma arquitetura familiar para desenvolvedores que conhecem a linguagem de construção de interfaces declarativas Elm. Vários motores de renderização são oferecidos, suportando Vulkan, Metal, DX12, OpenGL 2.1+ e OpenGL ES 2.0+. Os desenvolvedores têm acesso a um conjunto pronto de widgets, a possibilidade de criar manipuladores assíncronos e usar um layout adaptativo de elementos da interface, dependendo do tamanho da janela e da tela. O projeto também está desenvolvendo um compositor. servidor cosmic-comp baseado no Wayland.
As funcionalidades em desenvolvimento que estão listadas como minimamente necessárias para a formação da versão alfa do COSMIC:
- O Emulador de Terminal COSMIC Terminal, escrito utilizando o framework alacritty_terminal e que suporta recursos como renderização usando GPU, temas personalizados e métodos de entrada avançados. Das tarefas em desenvolvimento, destaca-se a adição de suporte à emulação de mouse e a possibilidade de abrir hyperlinks no terminal.
- Foi criada a ferramenta COSMIC Randr para exibir parâmetros e configurar monitores em um ambiente baseado em Wayland, que será empregada no configurador COSMIC Settings para ajustar as opções de saída.

- Um applet para captura de tela. Atualmente, já foi criada uma implementação inicial para capturar a tela inteira, janelas individuais e áreas selecionadas.

- Garantir a operação em sistemas com gráficos híbridos (GPU integrada + placa de vídeo discreta) com a opção de desativar a placa discreta para economizar energia em modo offline ou ativá-la seletivamente para jogos e aplicativos gráficos.
- Implementação do suporte ao efeito de vidro fosco (fundo desfocado) nos temas.
- Criação de um applet para gerenciar a disposição em mosaico das janelas e a possibilidade de ativar a colocação automática em mosaico das janelas vinculada a uma área de trabalho específica.

- Modo de agrupamento de janelas para organizar diferentes janelas de aplicativos, semelhante às abas em navegadores. A possibilidade ainda está em fase de projeto e discussão.
- Criação de ícones para novos aplicativos e applets.
- Possibilidade de exibir informações sobrepostas ao conteúdo (OSD — On-Screen Display) e usar essa funcionalidade para mostrar indicadores de brilho, volume, alternância de janelas com Alt + Tab e transição para modo offline.
- Criação de papéis de parede estilizados para a área de trabalho e interface, com opções como apresentação de slides e redimensionamento da imagem para tela cheia.
- Telascos de entrada e bloqueio. Projetados e em fase de desenvolvimento.
- Interface para ajustar a orientação da tela, escala, perfil de cores, modos gráficos. Somente maquetes estão prontas até agora.
- Interface para configuração de dispositivos de entrada, permitindo alterar parâmetros do mouse e touchpad, como a velocidade do cursor.
- Áreas de trabalho virtuais. A discussão da funcionalidade foi concluída e a fase de desenvolvimento começou.
- Revisão e unificação do design para todas as funcionalidades já desenvolvidas, como menu de aplicativos, interface de lançamento de programas e sistema de notificações.
Fonte: opennet.ru



