Se você costuma se relacionar com outras pesoas usando o Skype no Windows, deve saber que é possível entrar em chats públicos no skype a partir de algumas páginas web. No Linux o Skype está anos atrás da versão para Windows, mas usando a API pública do Skype é possível acessar estes serviços usando o firefox e o Skype obsoleto no Linux.
Se você entrar em uma página web e encontrar um link como skype:fulanodetal?chat, apenas skype:beltrano, ainda skype:cicrano?call, ou mesmo skype:fulaninho?add isso indica que estes são endereços de chamada no Skype. O primeiro para um chat (modo texto) , o segundo e o terceiro para uma chamada de audio/vídeo, ou ainda o terceiro para adicionar em sua lista de contatos.
No windows estes protocolos passam a ser reconhecidos automaticamente pelo seu sistema após a instalação do Skype, no Linux por uma grande má vontade do grupo de desenvolvimento do Skype isso não é implementado e como vocês verão é tão fácil que a gente se pergunta se eles estão mesmo interessados em consquitar espaço no ambiente Linux.
A mágica acontece a partir da API pública do Skype, que é um conjunto de funções de programação acessíveis via DBUS (no caso do Linux), de onde um programa qualquer pode se comunicar com o Skype executando tarefas que ele não pode executar nativamente.
Instalando o manipulador de ações
A primeira coisa a ser feita é obter um manipulador de ações para o Skype. Lendo toda a doucmentação da API do Skype para escrever do zero, você conseguiria fazer isso se souber um pouco de programação mas nós pegaremos um pronto (pra que reinventar a roda se alguém já a criou). 😉
No endereço a seguir temos um manipulador – que na minha última visita (quando escrevi este texto) já estava na versão 1.0 – desenvolvido tanto em Python como em Perl (http://www.kolmann.at/philipp/linux/skype_action_handler). Eu usei o arquivo em Python por simpatizar mais com esta linguagem, embora isso não faça a menor diferença já que não mexeremos no código.
Baixe o arquivo para o seu computador e depois o copie para o caminho /usr/local/bin, onde ele poderá ser acessível e dê permissão de execução para ele com o comando chmod +x.
sudo cp Downloads/action_handler_1.0.py /usr/local/bin
sudo chmod +x /usr/local/bin/action_handler_1.0.py
No exemplo acima estou considerando que o arquivo esteja dentro da Pasta Downloads e estou copiando para a pasta sugerida, alterando as permissões logo após a cópia. Feito isso vamos fazer um teste e confirmar se está funcionando. Pela linha de comandos experimente digitar o seguinte comando:
action_handler_1.0.py skype:echo123?chat
Se não funcionar verifique se você copiou o arquivo para a pasta certa e se deu a permissão de execução corretamente. Se tudo deu certo você verá uma mensagem de confirmação para que o script possa se comunicar com o Skype.
Ensinando ao firefox o que fazer com o “skype:”
Feita a confirmação você verá a janela de chat do Skype e agora nós poderemos confirgurar o Firefox para reconhecer o novo protocolo. Pela linha de comandos digite os três comandos a seguir:
gconftool-2 -t string -s /desktop/gnome/url-handlers/skype/command "/usr/local/bin/action_handler_1.0.py %s"
gconftool-2 -t bool -s /desktop/gnome/url-handlers/skype/enabled true
gconftool-2 -t bool -s /desktop/gnome/url-handlers/skype/needs_terminal false
Prontinho. Isso faz com que o firefox entenda que o protocolo skype: deverá ser manipulado pelo nosso script. Para testar basta encontrarmos uma página que contenha estes links, para você não perder tempo pode ir direto a página do “SkypeUp” que é uma espécie de rede social para usuários do Skype. Ao abrir, escolha alguém e clique em seu nome. Você também pode aproveitar este link de teste que chama o “Skype Test Call” para um chat.
Se tudo deu certo você deverá ver uma janela pedindo para que você decida qual aplicativo deverá manipular esta URL. Certamente só terá o nome do nosso script por lá. Clique nele, marque a opção “Memorizar a decisão” e finalmente no botão OK.
Com isso a janela de chat deverá ser exibida normalmente e das próximas vezes você não precisará confirmar mais nada.
Por fim
Eu pesquisei diversas páginas do Skype, fóruns, blogs e tudo que o Google me retornava a respeito de Skype com Firefox e Skypecast (um antigo serviço do Skype que permitia a existência de salas de conferências).
Depois que eu juntei todos os pedaços adquiridos em vários sites e consegui fazer tudo funcionar direitinho acabei por encontrar uma thread no UbuntuForum que explicava exatamente o mesmo caminho (por que eu não o achei antes?). Mas valeu o aprendizado.
Agora é só torcer para que os desenvolvedores do Skype sejam mais competentes e olhe para nós, nobres porém desprezados, usuários de Linux.
Referências
Dominique Hazael-Massieux. Integrating a new URIs scheme handler to Gnome and Firefox. http://people.w3.org/~dom/archives/2005/09/integrating-a-new-uris-scheme-handler-to-gnome-and-firefox/
Phillip Kolmann. Action_handler.py. http://www.kolmann.at/philipp/linux/skype_action_handler/
UbuntuForum. Get Skype& Callto links working in Our wonderful Lucid. http://ubuntuforums.org/archive/index.php/t-1572673.html
Skypeup. http://www.skypeup.com