Boas!
Queria só compartilhar uma experiência que estou tendo nesses últimos dias. Desde que começei com Linux (lá por 2016~2017), uso o Linux Mint, mas sempre com um sentimento de “eh, poderia ser mais bonito né”. Recentemente, vi um vídeo no YouTube aleatório (nem lembro sobre o que era) de um cara usando Ubuntu com uma customização do macOS e uma extensão do GNOME Shell que colocava um player de áudio na barra superior do sistema. A extensão em questão é essa: Media Controls - GNOME Shell Extensions . Quando vi, lembrei da época do Windows Vista (bons tempos - e não estou sendo sarcástico rsrs), que tinha aquele widget do Windows Media Player na barra de tarefas, que eu usava e muito…
Fui procurar algo parecido para o Mint, e não encontrei. Aí, coincidentemente, esses dias o meu ambiente de desenvolvimento resolveu quebrar por uma atualização do MySQL (depois descobri que era coisa boba ), e me deu aquela “coceira” de formatar o PC. Fui lá e formatei, coloquei o Ubuntu, customizei bastante a instalação e… Ficou bonito, mas não estava funcional o bastante para o meu uso. Cheguei a relatar minha experiência nesse outro post, caso alguém queria ver.
Pois bem, no Ubuntu eu instalei a bendita extensão, e fui feliz pelas 24h que usei o Ubuntu rsrs. Depois de algumas desavenças, voltei pro Mint. Customizei ele de um jeito que ficou bem bonito, até mais do que o Ubuntu ( ), mas, adivinha? Não tinha nenhum applet que fizesse a mesma coisa que aquela extensão do GNOME Shell
Resolvi arriscar… Sou dev PHP e JavaScript, e já sabia que os spices do Cinnamon (applets, desklets e extensões) são feitos em JS, mas com uma API própria (a tal da GJS - GNOME JavaScript), então seria fácil, certo? Errado…
Não tem uma documentação clara o bastante em lugar nenhum, e a documentação própria do GNOME sobre o GJS mostra coisas que são bem diferentes do que é usado no Cinnamon. Meio bagunçado, mas depois de algumas horas, alguns energéticos, e alguns gritos xingando o ChatGPT e o Gemini… Consegui chegar em algum lugar!
“Nossa, mais um clichê igual macOS”… É bonito, vai
Mas, falando do applet… Consegui chegar em um ponto funcional dele. Quando clica no nome da música, ele abre um submenu pra escolher o player em execução (ainda preciso resolver a questão dos nomes), assim dá pra alternar entre vários reprodutores que estejam rodando no PC (Spotify, VLC, alguma coisa no browser, etc). Controles play/pause, retroceder e avançar funcionando também.
Ainda tem alguma coisas pra resolver, tipo quando eu abro ou fecho um player, ele não atualiza a lista automaticamente, precisando que eu reinicie o Cinnamon pra aparecer as atualizações na lista de players. Também resolver o nome dos players na listagem. Mas só de estar “funcionando”, eu já dei umas boas risadas de felicidade.
Foi bem satisfatório, conseguir fazer algo desse porte, mesmo que pareça pequeno. Consegui aprender mais aprofundadamente sobre o DBus, sobre o GJS, como o Cinnamon funciona. E ainda vou aprender mais até terminar esse Applet.
“Ain, mas não era só clicar no ícone do controle de volume que tem tudo ali já? Só está reinventando a roda…”
E não é que é verdade?! Mas sei lá… Só de ter o botão de pause logo à mão, parece que já me ajuda no dia-a-dia, sem precisar dar um clique a mais. Sem falar que às vezes abro o controle de volume e o player selecionado é outra coisa (tipo um vídeo do YouTube que nem está tocando), aí vão-se mais cliques pra trocar o player e dar pausa. Enfim, pode ser só comodismo, mas é uma funcionalidade que eu gostaria de ter, e to ficando bem satisfeito em estar fazendo.
Depois vou ver como faz para publicar no repositório do Cinnamon, e tomara que alguém além de mim use kkk.