Enviar gráficos 2D pela janela de chat no Kopete

Publicado por Júlio Hoffimann Mendes (última atualização em 17/06/2010)

[ Hits: 4.458 ]

Download Plot.sh




O script permite enviar gráficos 2D para um contato do Kopete especificado. Para isso, utiliza a comunicação entre aplicativos do KDE 4, o qdbus, sobre o qual já escrevi uma dica aqui no VOL.

Dependências: Gnuplot 4.2

Nota: Elaborei o script com a versão 4.2 do Gnuplot, mas acredito que não haverão problemas com versões anteriores.

Instalação:

Para usar o script, ponha-o no diretório /usr/local/bin, é preciso mover o arquivo com o sudo. Dê permissão de execução ao arquivo (chmod +x Plot.sh)

Como usar o Script:

1ª Maneira-> Na janela de chat, ao conversar com Richard Stallman (nickname), escreva:

/exec Plot.sh 'sin(x), cos(x)' 0 2*pi 'Richard Stallman'

2ª Maneira-> Também é possível especificar a conta para qual você deseja mandar o gráfico, por exemplo:

/exec Plot.sh 'x**2' -10 10 '[email protected]'

Dica: Se o nickname for muito complicado ou extenso, digite os primeiros caracteres e aperte [TAB] que o Kopete irá completar, depois não esqueça de colocar as aspas simples.

As funções e operadores suportados se encontram na documentação do Gnuplot:

http://gnuplot.sourceforge.net/docs_4.2/gnuplot.html#x1-5300013.1

Qualquer sugestão é bem vinda, talvez no futuro essa ideia se concretize em um plugin para o mensageiro.

Em breve coloco a versão 3D aqui no site, divirtam-se!

  



Esconder código-fonte

#!/bin/bash

# Plot.sh sends 2D plots to specified Kopete contact
# Copyright (C) 2010  Júlio Hoffimann Mendes
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# ----------------------------------------------------------------------
#
# Dependencies: gnuplot 4.2
# Description: send 2D plots to specified Kopete contact
# Usage: Plot.sh <f(x), g(x),..., h(x)> xmin xmax AccountID
# Example: Plot.sh 'sin(x), cos(x)' 0 4*pi '[email protected]'
# OBS: AccountID could be MetaContactID, for example 'Richard Stallman'


# gnuplot file with plot specifications
SPECS=`tempfile`

FIGURE=`tempfile --prefix Plot- --suffix .png`

# ===================================
# Destinatary Plot Specifications
# ===================================
echo "
reset;
set term png;
set xrange [$2:$3];
set grid;
set autoscale ymin;
set autoscale ymax;
set title \"Seja livre, use Linux!\"
plot $1;
" > $SPECS
# make figure
gnuplot $SPECS > $FIGURE
# send it to specified contact
qdbus org.kde.kopete /Kopete org.kde.Kopete.sendFile "$4" $FIGURE
# ===================================
# Remetent Plot Specifications
# ===================================
echo "
reset;
set xrange [$2:$3];
set grid;
set autoscale ymin;
set autoscale ymax;
set title \"Seja livre, use Linux!\" font \"Times,18\"
plot $1;
" > $SPECS
# plot function(s) on a float window to remetent
gnuplot -persist $SPECS

rm $SPECS

Scripts recomendados

Menu para liberar / bloquear laboratórios no Squid

Pesquisar extensões

Mantendo o transmission-daemon funcionando

Slackware 14.2 Pós-Instalação - Idioma, Teclado, Otimizações

Usando Shell para incluir múltiplos usuários no Windows


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts