Bom dia a todos,
Mecho com linux a um tempo, e não encontrei um reprodutor de música que fizesse todas as funções que eu queria, por isso resolvi criar um eu mesmo.
Eu queria fazer um que pudesse mostrar vídeos junto com as músicas, como se o video virasse o papel de parede da área de trabalho enquanto a música toca, e fazer uma interface que fosse transparente, como um widget na área de trabalho, além de claro, faze-lo funcionar também em modo normal como outros players, operando em modo janela, sem alterar área de trabalho.
eu queria implementar essa ideia primeiro no gnome, que é a interface gráfica que eu uso.
![]()
a minha pergunta é mais sobre qual app usar pra construir o flatpak, e ideias da comunidade pra melhorar o projeto, linguagem de programação recomendada, etc…
Sobre o app, não existe exatamente um applicativo pra se criar um app, vc precisa primeiro do app pronto, pra depois buildar e compilar pra flatpak.
Em q linguagem está codando o app?
pretendo me virar com a linguagem que a comunidade recomendar mais
é meio confuso, primeiro eu preciso do código, pra depois fazer a interface e depois fazer o flatpak?
Enfim, sim, basicamente, vc primeiro programa toda a lógica, depois utilisa alguma biblioteca pra programar a interface, com o app todo pronto, vc vai ter um binario, e é ele que vc vai compilar pra flatpak.
Basicamente, flatpak e so uma forma de distribuir, nao de se programar.
Vou dar 2 dicas de linguagens:
1 - Rust: Eu codo em rust, é uma linguagem mais complexa, e vc vai sofrer bastante com Ownership e Borrow, mas quando entende, vc tem um grande boost pela performançe, alem de um binário bem pequeno e nativo.
2 - Go: Eu já programei um pouco em go, é uma linguagem muito mais amigável, a performance é bem comparavel, muito mais fácil, voce vai conseguir programar apenas com a logica tradicional e talvez algum pequeno adicional pra mecher com as Goroutines, mas é bem mais facil
como você faz o código? coloca ele num bloco de notas primeiro, e depois a blibioteca, como funciona?
Basicamente, eu programo em uma IDE, uma IDE é um Ambiente de Desenvolvimento Integrado, onde vc vai, e escreve o código, eu uso o Helix, mas pra vc pode usar o VSCode, q é mais amigável.
Agr, sobre as bibliotecas, são basicamente importações que agente faz dentro do código, que trazem mais funcionalidades ao código. Isso pq o código cru em si não faz muita coisa, mas com as bibliotecas (chamadas lib’s), vc consegue programar qualquer coisa.
blz, vou dar uma olhada
Dá uma olhada tbm nesse curso aqui, vai te ajudar bastante a aprender lógica:
Boa tarde! Muito boa iniciativa de aceitar o desafio de construir e desenvolver um software nativo para o Linux. Não sou programador backend, mas caso você precise de alguma ajuda com código CSS pode contar comigo. Adoro poder ajudar a desenvolver para o mundo Open-source. Um abraço.
Quando for disponibilizar o software, não esqueça de enquadrá-lo na GPL.
o que seria GPL?
GPL é uma liçensa de código, basicamente, deixa ele livre para que qualquer outro dev possa pegar o codigo, modificalo, e redistribui-lo, porém, o outro dev não poderá vende-lo.
a MIT que eu selecionei no github?
Não, a MIT é quase a msm coisa, porem, o outro dev q pegar o código poderá fazer oq quiser, como por exemplo vende-lo, pode usar a GPLv3 msm…
qual licença eu pego então?
Cara, sem querer desanimar, jamais, mas pra te poupar uma frustração, Integrar vídeo como wallpaper + overlay transparente + player de música envolve mexer com coisas pesadas na programação: compositing de vídeo em tempo real, integração com o compositor do GNOME (Mutter), gerenciamento de camadas de janela, etc. Eu recomendaria q vc fizesse uns cursos primeiro, como oq eu te mandei, pra estudar mais, fazer um projeto mais simples primeiro, como um CRUD, q é um projeto onde vc vai aprender a gerenciar criaçao, leitura, atualisação e deleção na programação, e alguns outros projetos, pra vc poder chegar nesse projeto e realmente conseguir conclui-lo.
Esse seu projeto e sim muito valido e completamente viavel, mas talvez não seja a hora inda, mas como objetivo de medio prazo. Sobre qualquer duvida que vc tiver no processo, pode me mandar um direct aqui msm ![]()
claro, primeiro eu quero fazer um player operando em janela, que tenha um design bonito, depois eu posso melhorar, se ficar bom, mais gente vai aparecer pra ajudar, e suponho que de inicio isso já fica bom.