Desk é uma suíte de escritório livre para o Linux, com três aplicativos que compartilham o mesmo modelo de documento: o Desk Writer, de processamento de texto e layout de página, o Desk Tables, de planilhas, e o Desk Slides, de apresentações. É escrito em Rust, com GTK 4 e Libadwaita, segue as diretrizes de interface do GNOME e busca paridade de funções e compatibilidade de documentos com o iWork '09 da Apple (Pages, Numbers e Keynote 9.3).
Por que existe
Na faculdade eu usava Linux. Mas a vida insistia em me mandar arquivos do Microsoft Office e pedir coisas no Photoshop, e por volta de 2008 eu fui para o Mac. Lá conheci o iWork, que vinha com o computador, e em pouco tempo tinha abandonado o Microsoft Office. Depois a Apple reescreveu o iWork para 64 bits, e a versão nova chegou sem várias funções que nunca voltaram.
Agora o Linux voltou a ser o meu sistema principal, e eu resolvi fazer para ele o equivalente ao iWork que eu queria ter. O LibreOffice é um projeto admirável, mas tem muita coisa que eu não uso e não conversa visualmente com o GNOME. O Desk junta as duas coisas: a simplicidade do iWork '09 e a cara de um aplicativo GNOME de verdade.
O que faz
O projeto começou pelo Desk Writer, porque o motor de texto é a parte mais difícil e os outros dois aplicativos dependem dele. Hoje:
- Abre os documentos do Pages '09: lê o texto, monta as páginas como o Pages monta e lista o que o documento tem e o Desk ainda não mostra.
- Edita e salva: o Desk Writer abre, edita e formata o texto, com desfazer e área de transferência, e salva em OpenDocument (ODT), com extensões documentadas para o que o ODF padrão não guarda.
- Formata como o Pages: barra de formatação, Inspetor, estilos e listas, tabulações e réguas, hifenização, ortografia, localizar e substituir, seções, colunas, cabeçalhos e rodapés, notas, sumário e links.
- Funciona com leitor de tela: os testes de interface usam o Desk Writer pela árvore de acessibilidade, como um leitor de tela faz.
- Converte sem interface: o
desk-convertgera PDF pela linha de comando, sem GTK. - Fala português: a interface está em inglês e em português do Brasil.
O Desk Tables e o Desk Slides começam quando o motor de objetos e o de tabelas estiverem prontos. As bibliotecas de formato de arquivo ficam separadas da interface e têm licença MPL-2.0, para que outros programas possam ler e gravar os mesmos formatos.
Como foi feito
Estou fazendo o Desk junto com o Claude, a IA da Anthropic, com o mesmo rigor que se espera de uma equipe. Cada função do Pages, do Numbers e do Keynote '09 virou uma linha de uma matriz de paridade, 585 ao todo, e o que o Desk gera é comparado com PDFs feitos pelo próprio iWork 9.3, numa máquina virtual. O CI confere formatação, lint, testes, documentação, licenças das dependências e a conformidade com o REUSE.
A primeira decisão foi como montar o motor de texto. Um experimento montou o mesmo parágrafo justificado e hifenizado em volta de um círculo de três jeitos: com a biblioteca Parley e a quebra de linha dela, com a Parley e a nossa quebra de linha, e com um motor próprio. Ficou a Parley, com o Desk decidindo onde cada linha termina.
O primeiro commit é de 30 de outubro de 2026. Desde 1º de novembro, o Desk Writer sai todo dia como Flatpak noturno, compilado da main, para testes. Ainda não há versão estável.
Os aplicativos estão sob a licença GPL-3.0-or-later. O Desk não tem vínculo com a Apple; iWork, Pages, Numbers e Keynote são marcas da Apple Inc.