Criando Applets para os Painéis do Gnome 3

Qual não foi minha surpresa quando fui para o Gnome 3 e soube que o applet Giplet que podia ser adicionado aos paineis Gnome para mostrar o seu IP local, só funcionava para Gnome 2. Resolvi verificar como estava o estado-da-arte da fabricação de applets para Gnome 3. Vou relatar aqui os passos mais fáceis que encontrei.

Baixe o Panel Applet Generator, que adianta muito sua vida e permite criar applets compatíveis com Gnome 2 e 3. A forma mais fácil de fazer isso é via Git:

git clone https://github.com/palfrey/panel-applet-generator

No diretório do panel-applet-generator, execute o comando abaixo, que no caso está parametrizado para criar um Applet chamado “showmyip” com uma descrição correspondente. Para quem interessar, há outras opções disponíveis, tais como definir ícone, categoria, etc.

python panel-applet-generator.py -n showmyip -d "Displays your local IP address on the panel."

Depois disso basta entrar na pasta showmyip que será criada. Lá estará toda a estrutura básica de um Applet Gnome tanto para a versão 2 quanto para o 3. O que você precisa fazer é continuar implementando o arquivo .py principal criado, que vai ter o nome do seu applet seguido da palavra “Applet”, no caso acima showmyipApplet.py. Para quem não sabe é basicamente um programinha python baseado em Gtk. No meu caso, simplesmente adicionei um import ao socket para obter o IP e adicionei um label com o IP ao applet:

try:
    from gi.repository import Gtk
except: # Can't use ImportError, as gi.repository isn't quite that nice...
    import gtk as Gtk

import socket

def applet_factory(applet, iid, data = None):
    hostname = socket.gethostname()
    ip = socket.gethostbyname("%s.local" % hostname)
    label = Gtk.Label("IP: "+ip)
    applet.add(label)
    applet.show_all()
    return True

O passo final é gerar o .deb e instalar nosso Applet para adicionar ao painel. Nesse ponto o panel-applet-generator não ajuda muito (sugestão de pull request, hein?).

Vá até o diretório do applet e compacte-o com Tarball e Gzip e adicione o prefixo “0.1.orig.tar.gz” (o 0.1 vem do controle de versão que está descrito na estrutura do pacote DEBIAN). Dê um debuild para gerar o .deb. Em seguida basta instalar via dpkg.

cd showmyip/
tar -czf ../showmyip_0.1.orig.tar.gz .
debuild -us -uc
sudo dpkg -i ../showmyip_0.1-1_i386.deb

Para adicionar o applet criado ao painel, segure a tecla Windows + Alt clique com botão direito sobre o painel, acione “Add to Panel”, e você verá na lista de applets o seu applet querido.