Tokamak4 - Dia 3
Ok, too late ontem a noite pra enfrentar um banho. Acordei as 8 da manhã. O banheiro estranho do hostel é ótimo para você acordar: jatos fortes de água na cara que duram apenas alguns segundos e então você precisa de novo apertar o botão para ter mais água. Nada difícil, você pode ter um banho normal de 5min com apenas uns 102.234 apertos :). Chegamos no escritório por volta das 9h. Passei o dia basicamente hackaeando o Plasmate e "stripping out" KDE Libs, então vamos a alguns detalhes sobre essas duas coisas.
O objetivo final do Plasmate é ser uma ferramenta de fácil uso para a construção de plasmoides desenvolvidos em linguagens interpretadas. Essa é uma tendência forte visto que plasmoides em C++ quebram todo o Plasma caso alguma coisa de errado aconteça com eles (e isso não pode ser modificado em função de problemas de acesso concorrente se realizado por processos diferentes). Então é saída para isso (e ainda tendo maior produtividade e mais pessoas plasma-addicted) é incentivar o desenvolvimento de plasmoides and JavaScript-Ruby-Python-whatever visto que podemos separar um sandbox para a sua execução e proteger o Plasma dos programadores malucos.
A UI do Plasmate foi projetada de modo a definir um workflow intuitivo para o desenvolvedor, sem a necessidades de botões de salvar, etc. Você basicamente abre o projeto e segue um mantra do tipo:( (develop preview gitcommit)+publish)+ (tá, nerdisse usar RE's aqui, mas tudo bem :)). O Plasmate já cria pacotes para uso com o plasmoidviewer, direto para instalação e espera-se ainda realizar a publicação para uso via GHNS com basicamente um clique de mouse. É surpreendente ver como a KDELibs realmente ajuda você a escrever aplicações complexas com uma quantidade desproporcionalmente pequena de código: foi desenvolvido um novo Qt Model para fazer o mapeamento das informações do pacote do plasmoide (obtidas via Plasma::PackageStructure) em uma QTreeView que exibe o conteúdo do projeto do plasmoide. Com esta view, você pode editar os diversos artefatos que compõem o widget - código JavaScript, arquivo .desktop, imagens, arquivos de tradução e UIs do Designer. Mas ... temos uma solução realmente elegante para o problema de saber qual editor usar para cada tipo de artefato. Basicamente cada artefato é armazenado junto com seu mimetype obtido a partir do Plasma::PackageStructure e este é utilizado para fazer uma consulta ao KMimeTypeTrader procurando por plugins que podem tratar tal tipo de artefato. Isso é fundamental para ter funcionalidades integradas no KDE, ao mesmo tempo em que mantemos os principais módulos totalmente desacoplados, sem dependências em tempo de compilação. Comecei a implementação de uma DockWidget no Plasmate para manter notas de projetos e uma lista de TO-DOs e ainda alguma coisa sobre uma possível Plasma Widgets Palette.
Comemos um sanduiche rápido para adiantar os trabalhos. No meio da tarde voltamos aos trabalhos com a KDELibs. Basicamente pegamos algumas das libs e tentamos verificar qual o impacto de retirar certas dependências devido a features possivelmente indesejadas ou inadequadas no mundo mobile. Por exemplo, kunitconvertion depende de libsolid e kio (e indiretamente kdeui) para obter, via web, as taxas atuais de conversão entre moedas. Conseguimos retirar essas dependências e confiar numa solução essencialmente Qt para obter tais informações. A meta é reduzir bastante o número de dependências e chegar numa KDELibs Mobile essencialmente mínima para executar nos dispositivos.
No início da noite tivemos um encontro do participantes do T4 com a comunidade local e outros caras do OpenSUSE. O Aaron falou basicamente sobre a história, situação atual e futuro do Plasma-*, seguido de uma apresentação do Plasma Netbook por Marco e depois uma outra sobre o Silk, por Sebas. Tivemos em seguida uma sessão showing-off-nice-KDE4.4-stuff em monitores LCD multi-touch absurdamente grandes e cervejinha para todos. Saimos para jantar no mesmo Swidesh pub do primeiro dia eu, Sebas, Marco e mais três caras que estavam no evento. Pude conversar bastante com o Sebas sobre o Akademy-BR (sim, temos green light total), sobre uma maior integração do KDE com paises fora da Europa e outras nerdisses.
Nuno tomou posse do meu laptop por 30 segundos, mudou o tema, trocou as fontes do KDE e ele, como por mágica, ficou com um visual mais leve, aproveitando melhor o espaço existente. No final da noite, pude conversar um pouco com o Ottens sobre o trabalho dele com o KDE dentro da universidade que ele trabalha de modo a colher algumas boas experiências e preparar melhor a disciplina que teremos este semestre (na verdade começando na próxima segunda-feira) na Universidade Federal da Bahia. Temos 12 alunos matriculados, iééé !
A situação agora é essa: voltamos para o escritório para hackear um pouquinho mais.
![](/content/images/2015/07/imgp1389.jpg)
![](/content/images/2015/07/imgp1389.jpg)