Quais são as extensões mudando?
Esta pode parecer uma questão irrelevante, mas conforme você começa a solucionar o problema, você precisa saber disso. Qualquer extensão está, na verdade, adicionando código ao gnome-shell. Devido a isso, sua área de trabalho irá travar devido a uma extensão inválida, então teste com cuidado antes de confiar em qualquer código. É uma boa ideia lembrar disso quando você estiver instalando extensões de outras pessoas e quando estiver codificando a si mesmo.
Você pode aprender como fazer uma extensão rapidamente se souber JavaScript e seguir a documentação no wiki do GNOME. Você pode começar usando as ferramentas padrão que criam os arquivos necessários para você. Existem apenas dois arquivos necessários, portanto, criá-los você mesmo não é uma grande tarefa.
Como você instala extensões de outras pessoas?
Antes de decidir fazer sua própria extensão, é uma boa ideia ver o que já existe. Dessa forma, você também tem a oportunidade de verificar como eles são escritos. A melhor maneira de aprender a programar é combinar tutoriais com a visualização de outros códigos. A maneira oficial de instalar uma extensão é usar a página de extensões do GNOME. Com a ajuda de um plug-in, você pode controlar suas extensões usando o navegador (Firefox e Chrome). Você também tem a opção de baixar toda a árvore de diretórios por conta própria. Se você fizer isso, será necessário colocar tudo em seu diretório inicial. Os arquivos vão em seu próprio diretório em: '~ /.local / share / gnome-shell / extensions / '. Para configurações do sistema, você o coloca em 'usr / share / gnome-shell / extensions', mas só faça isso depois de validá-lo e se você estiver administrando o computador para muitos usuários. Você pode encontrar muitas extensões no GitHub e outros sites semelhantes. Neste caso, você realmente deve tentar com seu usuário, ou mesmo um usuário temporário.
O que foi feito antes?
Você pode se perguntar quais extensões as pessoas criaram antes de você? Alguns interessantes são; Indicador de tempo na barra de tarefas, temporizadores Pomodoro e indicadores de sistemas. Você também pode encontrar um programa de desenho Draw On The Screen, que você chama com Super-Shift-D. Muito útil se você quiser fazer anotações em uma captura de tela. Se alguma coisa sobre a área de trabalho do GNOME o incomoda, como uma notificação que você gostaria de evitar. Olhe ao redor, a maioria das coisas tem ajustes na forma de uma extensão. O botão de atividades não é apreciado por todos, então esconda-o com uma extensão. Você pode até obter ajuda ao fazer seu chá!
A melhor maneira de começar
Quando você se sentir tentado a começar a fazer o seu próprio, você precisa aprender JavaScript, embora possa usar outras linguagens para a lógica principal do seu programa. Sua extensão complementará o código do gnome-shell, o que o torna útil conhecer JavaScript suficiente para solucionar problemas. Existem scripts prontos para construir sua extensão, use-os e, em seguida, procure extensões semelhantes que você pode estudar para ver como são implementadas. A documentação oficial para iniciantes é boa para você começar. Você primeiro precisa identificar o que sua extensão fará. Haverá um menu suspenso, menu do painel ou talvez animações. Você pode descobrir qual faz o quê através da documentação, mas aqui está uma breve análise de alguns recursos.
Clutter - distribui os componentes gráficos. St - GNOME Toolkit, use-os para criar caixas, recipientes e muito mais. Tweener - comumente usado para animações, não faz parte do GNOME.
Estes são os três componentes principais que você pode usar para fazer uma extensão. A documentação é muito técnica, portanto, procure exemplos sempre que puder. A melhor maneira de aprender é usar uma parte de cada vez.
Mais tutoriais
Pode ser muito útil seguir alguns tutoriais, mas não exagere, a melhor maneira de aprender é cometer erros. Ainda assim, é mais fácil escalar a curva de aprendizado com um tutorial.
Um bom tutorial mostrando a taxa de câmbio coletada de transferência sábia. Um mais longo aqui mostra muitos mais detalhes e é mais detalhado. O tutorial é de 2012, mas ainda é válido de várias maneiras.
Conclusão
Para começar a fazer extensões GNOME, seu primeiro desafio é encontrar uma boa documentação. A segunda é ter um plano de jogo para o que você acha que sua necessidade deve fazer. Será muito interessante para você se você tiver a base de JavaScript necessária, embora provavelmente possa passar pelo tutorial existente, mesmo com habilidades rudimentares em JavaScript.