- FyneDesk é um ambiente de desktop para Linux/Unix desenvolvido em Go
- Baseado no toolkit Fyne, busca facilidade de uso e facilidade de desenvolvimento
- Oferece uma experiência completa de desktop junto com ferramentas externas essenciais
- A estabilidade pode ser reforçada com o utilitário fynedesk_runner, que conta com recuperação automática
- Como software em versões alfa/beta, contribuições open source e feedback são bem-vindos
Visão geral do projeto
- FyneDesk é um ambiente de desktop para Linux ou Unix desenvolvido com a linguagem Go e o toolkit Fyne
- Busca uma UI intuitiva que segue o Material Design e prioriza a facilidade de uso
- Uma de suas características é que tanto iniciantes quanto desenvolvedores experientes conseguem desenvolver e participar com facilidade
Principais características e pontos fortes
- Diferentemente dos ambientes de desktop tradicionais, o FyneDesk é escrito em Go, o que facilita administração e manutenção
- Com base no toolkit Fyne, possui uma estrutura de GUI com alta extensibilidade
- Tem como vantagens a instalação leve e a execução rápida
- Aceita ativamente o feedback de contribuidores e usuários
Dependências e ferramentas externas
- Para executar o FyneDesk corretamente, são necessárias as seguintes ferramentas externas
- arandr : para alterar configurações de exibição
- xbacklight ou brightnessctl : para ajustar o brilho em notebooks
- connman-gtk : para configurar redes Wi‑Fi
- compton : para suporte de compositor
- Ele funciona mesmo sem essas ferramentas, mas a experiência completa de desktop fica limitada
Instalação e execução
- É possível instalar o FyneDesk facilmente com as ferramentas padrão de Go
- Após a instalação, ele pode ser executado em "modo de pré-visualização", e são necessárias configurações adicionais para usá-lo como gerenciador de janelas
- FyneDesk aparece no menu de seleção de ambiente de desktop
- Também é possível testá-lo em uma janela X integrada com a ferramenta Xephyr
fynedesk_runner e estabilidade
- Para garantir a estabilidade, o FyneDesk oferece suporte ao utilitário fynedesk_runner
- Em caso de encerramento inesperado de programas, ele recupera automaticamente o estado de execução
- É uma estrutura adequada para avaliação e testes de versões pré-lançamento (alfa/beta)
Orientações sobre empacotamento e distribuição
- Na distribuição, ele tem uma forma leve, sem bibliotecas e dependências desnecessárias
- Quando combinado com aplicações adicionais como fin (fyshos/fin), pode oferecer uma experiência integrada mais completa
- Ao empacotar e distribuir para um sistema, é possível entrar em contato com o projeto para adicionar um link oficial
Contribuição open source
- Qualquer pessoa é bem-vinda para contribuir com open source e enviar feedback
- Em março de 2024, o projeto contava com 1.300 estrelas, 54 forks e mais de 8 contribuidores ativos
1 comentários
Comentários do Hacker News
Esse projeto parece realmente muito legal, e gosto ainda mais dele por fazer parte de um objetivo maior de criar um toolkit de UI multiplataforma https://fyne.io
Queria ver mais desenvolvedores encarando projetos ambiciosos assim, em vez de sair mais um wrapper da API da OpenAI
Espero que continuem com o bom trabalho
Eu já migrei totalmente para desktops baseados em Wayland, então se o FyneDesk passar para Wayland eu realmente ficaria feliz em usar
Ouvi dizer que estão mirando suporte completo ao Wayland na 5.0
Mas tenho curiosidade sobre a ETA, já que o último release foi há 1,5 ano, então estou esperando
Também vi que o branch oficial de release 0.4 seria o último com X11, e que a partir do 0.5 passaria para Wayland, incluindo XWayland https://github.com/FyshOS/fynedesk/releases
Depois disso, provavelmente no fim deste ano, o plano é começar a transição para Wayland
Queremos oferecer suporte aos dois para facilitar a migração, mas isso ainda não está definido
No momento estamos esperando correções serem aplicadas na biblioteca superior
Tentei implementar um color picker no Arch/Hyprland e não consegui fazer funcionar de jeito nenhum
A API parece muito ruim
Isso soa meio como uma atitude de quem está cobrando como se tivesse direito
Pensando no contexto em que Go surgiu, parece uma mistura de elementos de Limbo e Oberon-2
No ambiente de desktop, considerando a política de linkagem dinâmica do Go e o pacote de plugins quase abandonado, fico pensando se os comportamentos dinâmicos de Oberon ou Inferno poderiam ser substituídos por D-Bus ou net/rpc
Mas vendo o nível de fragmentação dos desktops, provavelmente não vale tanto a pena de fato tentar fazer isso, então é mais imaginar como seria
Estamos integrando um editor de apps ao FyshOS (o nome mudou e foi movido para https://apptrix.ai)
Também dá para ver isso em um vídeo de preview antigo https://youtu.be/XXmDmn-et4E?si=5n1Ao-V6dKurXzS6 (principalmente a partir de 15:30)
É uma técnica que carrega e executa diretamente os arquivos-objeto gerados pelo compilador, de forma parecida com os sistemas Oberon https://github.com/pkujhd/goloader
Foi mesclado no branch main em março de 2024
dev está em desenvolvimento muito ativo, com mais de 100 commits à frente de master
O fato de o último release oficial ter sido em março de 2024 também me parece totalmente aceitável
Se você compilar direto do branch de desenvolvimento, pode usar sempre a versão mais atual
Pessoalmente gosto de docks verticais, mas achei a forma vertical de mostrar a hora meio decepcionante
O projeto parece ter começado há 7 anos
Se começarem o suporte a Wayland, com certeza vou experimentar direito
Estamos aguardando correções serem aplicadas na biblioteca superior
Eu também usei Wayland por um tempo, mas como simples usuário não senti diferença nenhuma
Queria saber se era algo de hobby, parte de um negócio com fins lucrativos, um projeto acadêmico apoiado por universidade ou algo assim
Pelo que vi, há duas pessoas na conta GitHub principal https://github.com/FyshOS
A equipe principal tem 4 pessoas https://github.com/orgs/FyshOS/people e também recebemos ativamente contribuições da comunidade
Também estamos abertos a patrocínios e parcerias comerciais
Tenho experimentado várias coisas com Fyne recentemente e gostei bastante
Eu queria mexer em um ambiente de desktop customizável, mas sempre achei o processo de setup trabalhoso demais, então o fato de ser em Go dá a impressão de tornar isso viável
Queremos que a experiência de desenvolver para desktop seja a mais simples possível
Por exemplo, até módulos do painel ou da área de trabalho podem simplesmente usar uma função que retorna
fyne.CanvasObject, então é tão fácil quanto criar um painel em um app FyneQueria saber se há alguma peculiaridade à qual eu deva prestar atenção no Pop!_OS 22