Ok, voltando a postar depois de um tempo. Como já tinha falado antes estou bem ocupado essas últimas semanas e por isso o Plasma NM está meio parado. Uma boa notícia é que a nova tela de shutdown em QML que implementei para o KDE estará na versão 4.9.0
- choose, sdtype, maysd: esses são os mesmos parâmetros (e na mesma ordem) usados em “qdbus org.kde.ksmserver /KSMServer logout x y z” e KWorkSpace::requestShutDown(ShutdownConfirm, ShutdownType, ShutdownMode). Leia /usr/include/kworkspace/kworkspace.h para uma explicação mais longa sobre eles.
- rebootOptions é um hash (vetor associativo, dicionário). rebootOptions["options"] é um “string list” (lista de strings) contendo os sistemas operacionais configurados no grub. Ele é usado para criar o menu de boot que aparece no screenshot no início deste post. rebootRequested2 passa o índice (começa de zero) deste string list como parâmetro. rebootOptions["default"] é o índice da opção atual selecionada em rebootOptions["options"].
- ShutdownType e spdMethods são as versões em Javascript dos enums KWorkSpace::ShutdownType (/usr/include/kworkspace/kworkspace.h) e Solid::PowerManagement::SleepState (/usr/include/solid/powermanagement.h). Eles foram adicionados por conveniência para que não seja necessário utilizar valores “hardcoded” nos arquivos .qml.
Conexões DSL no Plasma NM
Pra quem precisa configurar conexões DSL no Plasma NM este tutorial é bem explicativo:
http://ubuntuforum-br.org/index.php/topic,90528.msg498098.html#msg498098
Pouco tempo muito trabalho…
Essas últimas semanas as coisas estão bem corridas no trabalho, pouco tempo para outras coisas, inclusive blogar. Como vocês já sabem meu trabalho tem muito a ver com o Plasma Active (site em inglês), a versão 2 dele foi lançada mês passado e estamos trabalhando em novas funcionalidades para a versão 3. Várias propostas de funcionalidades a implementar ou aperfeiçoar estão circulando na lista de discussões do Plasma Active. Na verdade há mais coisas para fazer do que desenvolvedores para implementá-las, então se você é desenvolvedor e está interessado em desenvolver algo para tablets e para o Plasma Active escolha um ítem para implementar.
O Plasma NM está bem parado essas semanas, eu tenho só resolvido alguns poucos bugs, aplicando alguns patches que chegaram até mim (eu fico muito feliz quando isso acontece então continuem enviando patches) e mudando o Plasma NM para usar a API assíncrona do DBus o máximo possível para evitar que as chamadas atrapalhem a fluidez do plasma desktop ou até paralisar o desktop inteiro por alguns segundos,algo relacionado como bug #287002. Esta última parte está pela metade e não sei quando vou poder terminá-la. De qualquer forma essa mudança irá só para o master, ela é bem grande e invasiva, algo que não deve ir para uma versão considerada estável como a do branch nm09.
As mudanças de usabilidade estão paradas também por falta de tempo. Realmente eu estou precisando de ajuda para tocar o Plasma NM pra frente, então se você tem interesse em melhorar o Plasma NM me contate que eu ajudo nos primeiros passos.
Aqueles que usam o branch master do Plasma NM já notaram que comecei enviar as mudanças de usabilidade na interface. Por enquanto as mudanças são bem parecidas com as que anunciei no meu primeiro post sobre elas:
O vídeo pode ser visto no Youtube.
Eu salvei todos os comentários que recebi sobre a interface do plasmoid. Eu só não tive tempo de avaliar todas elas, então sejam pacientes.
Feliz Natal
Esses dias eu tenho trabalhado mais com o Plasma Active (PA) do que com o Plasma NM. O trabalho no PA está indo bem, essa semana foi mais tranquila já que muita gente está de férias, inclusive boa parte da equipe do PA. Resolvi corrigir o máximo possível de bugs e a semana foi proveitosa, vários bugs corrigidos ou quase totalmente corrigidos.
No Plasma NM as coisas andam meio paradas, o que tem o seu lado bom, o número de bugs reportados está bem parado também. Ou eu estou fazendo um bom trabalho em corrigir os bugs ou o pessoal está desistindo de usá-lo, espero que seja a primeira alternativa hehe. As correções dos problemas reportados pelo Krazy2 terminaram, tem uma lista grande de problemas ainda mas que não tem solução simples e como não consigo fazer o Krazy2 ignorá-los eles vão ficar por lá mesmo.
Semana que vem todo mundo da basysKom está de férias (inclusive eu
), então eu devo me dedicar mais ao Plasma NM antes de voltar ao trabalho no início de janeiro.
Amanhã é noite de Natal então Feliz Natal a todos.
Novo trabalho
Desde o dia 14 de novembro eu estou trabalhando para a basysKom, uma empresa da Alemanha muito ligada ao KDE. Finalmente um emprego onde posso trabalhar com o KDE
O projeto em que estou trabalhando na basysKom é o Contour, que faz parte do Plasma Active. Um dos trabalhos que estou desenvolvendo é um substituto à caixa de diálogo de saída do KDE. A intenção é implementar uma caixa de diálogo mais fácil de ser usada em sistemas sensíveis ao toque, caso do Plasma Active. O resultado atual é esse:
O fato de ter somente três grandes botões é intencional, quanto menos botões menos problemas para usar
E botões grandes são mais fáceis de serem pressionados. A implementação está no branch ksmserver/qml-shutdowndlg do repositório git://anongit.kde.org/kde-workspace e foi feita parte em C++ e parte em QML. Este projeto está sendo um bom aprendizado de QML pra mim. Talvez no futuro (não próximo) eu possa usar o que aprendi no Plasma NM.
Para essa versão mais simples da caixa de diálogo não tive muitos problemas para implementar. Já para a versão que irá substituir a caixa de diálogo atual eu tive bastante trabalho para implementar todas as suas funcionalidades e aparência, principalmente a parte de menu de contexto, que é fácil de fazer quando se tem um número estático de elementos, o que não é o meu caso. Outro problema ainda não resolvido e a parede de uso do teclado. Pelo que entendi QML é voltado para dispositivos sensíveis ao toque, onde não existe teclado. Por causa disso a implementação atual não usa tab order (usar a tecla TAB para selecionar o botão), pressionar ENTER não aciona o botão padrão e não é possível utilizar aceleradores (o subescrito que aparece em um label e que é usado para acionar o widget associado àquele label quando se pressionar a tela ALT + “letra do label).
Este final de semana terminei de implementar a maior parte das funcionalidades:
oxygen
Funciona inclusive com outros temas do Plasma:
Air
Androbit
E aqui os dois menu de botões (veja o pequeno triângulo nos dois últimos botões):
Essas modificações talvez apareçam no KDE SC 4.8 (já é tarde para enviar novas funcionalidades, mas ainda há esperança). Para quem quiser testá-las pode fazê-lo inclusive no KDE SC 4.7, mas terá que compilar o plasmacomponents do kde-runtime master, o que não é difícil:
git clone git://anongit.kde.org/kde-runtime
mkdir kde-runtime/build
cd kde-runtime/build
cmake -DCMAKE_INSTALL_PREFIX=..
cd plasma/declarativeimports
make && make install
Depois disso é compilar o branch mencionado acima:
git clone git://anongit.kde.org/kde-workspace
cd kde-workspace
git checkout ksmserver/qml-shutdowndlg
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
cd ksmserver
make && make install
O que anda acontecendo no Plasma NM
Olás, desde meu último post algumas coisas aconteceram no Plasma NM:
- fiz algumas melhorias para instalar a libnm-qt e libmm-qt em um prefix diferente.
- lancei as versões 0.8.90 (AKA 0.9.0_rc1), 0.8.95 (AKA 0.9.0_rc2) e 0.8.98 (0.9.0 rc3) com várias correções importantes.
- a libnm-qt agora é chamada QtNetworkManager e a libmm-qt é chamada QtModemManager.
Que tal ajudar o KDE em alguns clicks?
Algumas semanas atrás a Lydia Pintscher postou sobre uma promoção que um banco da Alemanha está fazendo. O Banco irá pagar 1000 euros para os mil primeiros associados que receberem o maior número de votos até o meio de novembro. O KDE e.V. está na posição 1003 hoje e perdendo posições, se nada mudar estaremos de fora
Se alguém aí ainda não votou por favor ajudem o KDE e.V., é só seguir as instruções no blog da Lydia ou para quem prefere as instruções em português faça o seguinte:
- Acesse [verein.ing-diba.de/…] e clique em “Stimme abgeben”.
- Preencha seu email e o código captcha, clicando em seguida em “absenden”.
- Você receberá um email para confirmar o voto – clique no primeiro link deste email.
- No website – clique em “Stimme abgeben”.
Você tem direito a 3 votos por conta de email.
15 anos de KDE
Eu me lembro da primeira vez que vi o site do KDE, eu era estudante de Ciência da Computação na UFMG (é Ciência, no singular, não Ciências). O ano era 1997 e o KDE não tinha nem um ano de idade, naquela época praticamente toda semana saía um snapshot do código fonte e eu ficava ansioso para compilá-lo e ver as novidades
Muito tempo se passou, veio a versão 1.0, 2.0, 3.0, 4.0, a evolução entre essas versões é nítida, principalmente entre a 1.0 e a 2.0. Apesar de conhecer o KDE praticamente desde que foi criado foi só há pouco mais de dois anos que comecei a contribuir programando para o KDE e isso foi uma das melhores decisões que fiz. No FISL10 em 2009 eu conheci alguns membros da comunicade KDE-Brasil, da qual faço parte hoje, e desde então tenho conhecido muita gente que também tem essa mesma paixão que eu tenho pelo KDE. É ótimo conviver e até trabalhar com o pessoal da comunidade brasileira e estrangeira do KDE. Tenho vários amigos na comunidade, a gente se diverte ajudando o KDE e assim vamos vendo o nosso “garoto” crescendo, chegando a 15 anos de idade e com muitos mais por vir. Feliz aniversário KDE

Solid Sprint
Semana passada eu fui para Madri para o Solid Sprint 2011. Pra quem não sabe o Solid é a camada de abstração de hardware do KDE e Sprint é tipo uma reunião de desenvolvedores onde discutimos os problemas e, principalmente, corrigimos bugs e implementamos novas funcionalidades.
Este foi o meu segundo sprint, o primeiro foi também Madri ano passado. Naquela época eu era só mais uma pessoa que contribuía na parte de redes móveis (3G). Nesses últimos doze meses muita coisa mudou, eu comecei a corrigir bugs no Plasma NM, fui implementando novas funcionalidades e informalmente assumindo o papel de mantenedor. Bem, agora não é mais informal. Durante o Solid Sprint eu aceitei assumir formalmente o papel de mantenedor oficial da parte de gerenciamento de redes do KDE. Eu até tenho um e-mail lamarque (at) kde.org agora
Durante o Sprint várias coisas foram discutidas na parte de gerenciamento de redes, também realizamos um experimento de usabilidade para melhorar a interface do Plasma NM. Pensamos em várias idéias. Mudar a interface gráfica de um programa realmente chama a atenção (leia os comentários no meu blog). Alguns dos comentários são bem úteis e me fizeram pensar em mudar novamente o protótipo de interface que criei durante o sprint.
Outra novidade do sprint na parte de gerenciamento de redes é que a partir de agora eu vou liberar (release) versões do Plasma NM de forma regular. Hoje eu fiz o primeiro release (versão 0.9.0_beta1) com boa parte dele traduzido para português. Agora é baixar e compilar
Para quem quiser ler meus posts (em inglês) sobre o sprint pode acessar o meu blog. Use o sistema de tradução do blog para traduzí-lo para português.









