sabato 17 novembre 2007

no time for developing

I'm sorry but these months i had no further time for working on limsn, but i hope this december to continue with development.

______________

Mi spiace ma ultimamente non ho avuto un momento di respiro, tra studio , lavoro, complotti di stato e tricche e ballacche...
Spero entro dicembre di riprendere lo sviluppo.

Nel frattempo se qualcuno volesse unirsi allo sviluppo...........

j.

domenica 16 settembre 2007

some fixes :)





I had a problem. When a dialog box is shown and the gui changes due to protocol events of course, my app crashes. So i replaced each dialog box with other ones made by me.
So, my dialog boxes are a little different, it's like a quiz :P

Anyway, now limsn doesnt' crash anymore when a d.b. is shown.

And you can really change this time the background picture.
I get how make bitmaps transparent, so i reinsert the contactlispanel background (scoobedoo :)

I also replaced the emoticons with the wlm ones. enjoy.

u can test it on svn code
svn co https://limousine.svn.sourceforge.net/
svnroot/limousine
bye
_________________________________________________-
Italian:

Allora, ho sistemato alcune cose...
Avevo un problema secondo il quale, quando una dialog box era mostrata, se arrivava un evento dal protocollo, per esempio se qualcuno cambiava nick, mi crashava.
Ho risolto rifacendo le dialog box con un po' di fantasia....:)

Ora cmq non crasha piu', o meglio non crasha per quel motivo...

Ora si puo' davvero cambiare lo sfondo! Con Ctrl+B si apre box per scegliere il file,
senno', da menu Options->quick preferences->change background
E siccome sono riuscito a fare le bitmap trasparenti, ho rimesso anche l'immagine di sfondo
della contact list.

Ho anche sostituito le emoticons, stavolta ci ho messo quelle del live ufficiale,
quelle che avevo messo prima erano di prova.

se volete potete scaricare l'aggiornamento nel solito modo.
svn co https://limousine.svn.sourceforge.net/
svnroot/limousine

ciao, a presto

giovedì 13 settembre 2007

db qb qp qd bd - working on display pictures -



I figure out how retrieving and showing display pictures (tnx to pymsn team)...
but actually it's hardly unstable....
i dont' know if i get the right way...i'm going to work on it.

i tried to retrieve the d.p. each time i get a 'change capabilities signal',
creating a new instance of a p2p_session and connect the transfer-completed signal to my cb function.


ps. is there someone who knows how to make transparent the white colour of a bitmap in wxpython? :)
______________________________


Italian:
Sto facendo delle prove a recuperare le immagini dei contatti, ma e' fortemente instabile,
quindi ancora ci lavoro un bel po' su, prima di postare il codice.
Sto anche inserendo le azioni per i menu.
:)

ps. c'e' qualcuno bravo con le immagini e con wxpython che sa come rendere trasparente
il bianco di una bitmap? :)

lunedì 10 settembre 2007

Eat my code

LiMSN works (once finished) only on Linux (for now), it doesnt' work on ms-Windows

Dependences: Limsn is written in python with the wxWidgets graphic toolkit. Limsn
requires the wxPython-2.8 to get it working! Before trying limsn, u have to check wxpython version. In order to get limsn working, you have to check also the pymsn dependences (as in the readme file):
python-gobject (>=2.10)
ElementTree (>=1.2.0) or cElementTree (>=1.0.5) or python (>= 2.5)
pyOpenSSL (>=0.6)
pyCrypto (>=2.0.0)


If you really want to try it out, u can obtain the testing code using svn:

svn co https://limousine.svn.sourceforge.net/
svnroot/limousine



WARNING! This is a test version! It's not completely working, this svn is only for examining code :P and maybe give me some suggestions....

So, when i added the custom contact widget i have to forget to fix some bug in the switchboard, anyway, i have to get the code clean and rewrite contactlistpanel and the switchboardpanel by making a contact object, we'll see...

It works on my linux box, i hope it works on your too...Actually i tryed limsn succesfully in several virtual box (Fedora, Suse,Ubuntu) and a friend of mine will try it on FreeBSD, but i know it works in italy...if you are not italian u can check if it works in ur country (argh@#! my english is bad)

p.s. the mplagger plugin included as example plays video only if you drag&drop on the panel :)


How it works:
go in the graphic console in the limsn folder and type:
"python limsn.py"
limsn creates a folder on your home directory called ".limsn" and store information in there, that's all. U can drag&drop avatar image but is not possible to publish it via pymsn yet.





_______________________________
Italian:

Limsn (una volta finito) funziona solo su Linux, non funzia su Winz!

Dipendenze:
- wxPython-2.8 (almeno, non funzia con le wxpython-2.6)
-python-gobject (>=2.10)
-ElementTree (>=1.2.0) or cElementTree (>=1.0.5) or python (>= 2.5)
-pyOpenSSL (>=0.6)
-pyCrypto (>=2.0.0)

Detto questo, se davvero volete provare limsn, potete usare svn (in un unica riga..):

svn co https://limousine.svn.sourceforge.net/
svnroot/limousine

ATTENZIONE! Questo e' un codice di test, non e' il programma finito, quindi non vi lamentate se non funziona qualcosa, non dovrebbero funzionare un bel po' di cose....Tuttavia, per quelle cose che funzionano, se volete, potete segnalarmi qualche malfunzionamento... O_O

Quando ho fatto il widget che disegna il contatto devo aver fatto qualche danno al codice del switchboard panel, ma potreste non accorgervene...

Limsn funziona nella mia linux box, spero che funzioni anche sulla vostra,
in realta' ho provato con successo limsn su diverse distribuzioni, Ubuntu, Suse 10.2 (mi sembra, ce l'ho in una virtual box...), Fedora 7, e ho chiesto a un mio amico di provarla su FreeBSD

Il plugin incluso "mplagger" funziona solo se ci trascinate sopra i video, (ps. potrebbe crasharvi tutto..., quindi fate questo a vostro rischio e pericolo, tuttavia avete il codice sotto gli occhi, se riuscite a migliorarlo fatemi un fischio...), l'mplagger e' solo un esempio su come fare i plugin.

Come funziona:
andate in una console grafica e entrate nella cartella di limsn e digitate il comando:
"python limsn.py"
e' tutto. Lui creera' una cartella nella vostra home, chiamata .limsn e dentro ci registra un po' di cose. Se volete cancellare limsn basta cancellare sta cartella e la cartella con i sorgenti, e amici come prima :)

sabato 8 settembre 2007

some emoticons tests

Almost finished the contact widget,
almost finished the plugin structure,
started the swithcboard panel.




_____________________________

Quasi finito il widget del contatto,
quasi finita la struttura a plugin,
appena iniziato lo switchboard panel

Ho deciso di prendermela con calma.....

venerdì 7 settembre 2007

Abemus plugins!!!

I've almost finished the plugins structure!
I've implemented three kind of plugins
1) the first is a tabbed pane in the contact list main treectrl
2) the secondo is situated as a toolbar bitmap button,
3) the third is a non-gui plugin that intercept the msn signal.

U can see in this screenshot, plugins working...



_________________________________________-
Italian:
Ho fatto 3 tipi di plugins.
1) il tab a sinistra
2) il bottone nella toolbar
3) integrato che intercetta i segnali di msn

martedì 4 settembre 2007

What i've done....

I think it's not very usefull what i've done this time....

I've added a tab in the messenger panel in which play videos.




I publish here the snippet of code to implement playing videos because i don't know otherwise
_____________ cut __________________________
# filename is the variable captured by drag&drop event
# scope is the panel in which is embedded mplayer...

self.process = wx.Process()
x,y = self.scope.pnl1.GetSize()
self.options = ' -nolirc -nocache -really-quiet -nojoystick -geometry ' + str(50)+'x'+str(50) +' -slave -wid '

self.command = self.scope.mpCommand + ' ' + self.options+ str(self.scope.pnl1.GetHandle())+ ' ' +'\"'+filename+'\"'

self.process.Redirect()
self.pid = wx.Execute(self.command, wx.EXEC_ASYNC , self.process)
print 'pid ' + str(self.pid)
self.outstream = self.process.GetOutputStream()
self.errorStream = self.process.GetErrorStream()
self.inpstream = self.process.GetInputStream()
__________________ cut __________________

lunedì 3 settembre 2007

the code

I thing i'll post the code of limsn in a few days on sf.net. i have just to study how svn works.....
not a release, just svn testing code.
The switchboard is not completed, and i have to finish some works concerning the contact list,
that's to say, adding/removing blocking/unblocking contacts.
it's just possible to chat :)


There is space for ideas!
I think i could embed in a tab of limsn a video player, frontend to mplayer,
or embed a bittorrent client, or a mail client....
These are just some ideas, but meanwhile the python msn library grow up i could starting something...

Any suggestion are welcome.

I think i'll write a little api reference, so if someone would write something for limsn it may help.

____________________________________

Penso che postero' il codice su sf, appena studio come funziona svn.
che non e' una release, e' un po' di codice da testare
La switchboard non e' finita e devo completare alcune cose sulla contact list cioe' aggiungere levare bloccare e sbloccare gli utenti.
c'e' spazio per le idee, si potrebbe mettere in un tab di limsn un player video, come frontend di mplayer o un client torrent o un client mail...
E' giusto qualche idea nel frattempo che la libreria msn python cresce.

Ogni suggerimento e' il benvenuto.
Penso che scrivero' anche un misero riferimento api delle funzioni di limsn cosi' per non dover interpretare il codice scritto da me....:P

venerdì 31 agosto 2007

Another screenshot



Nothing to declare...

mercoledì 29 agosto 2007

It doesnt' seem so hard... / Beh non ci voleva molto...

First chat window screenshot.



This image is the base idea, and i start from that....

________________________________________

Questa e' l'idea di base, parto da qui...

When first release? / A quando il rilascio?

i would try to answer who want to know when i'll release first version.
First release of limsn will have base functionalities, and i'll release only because i need someone start using it to testing, just to know that it really works.
As i wrote, i'm writing limsn to learn programming.

i'll release first version as soon as possible, because i need someone to join as developer,
i can't make it all alone,and i have no much time to work on it.
Anywhay i hope that limsn will be hardly themeable, and suggestions are welcome.

For now it's possible: change background, font and font color, drag&drop of the display pictures
avoiding boring searches in the filesystem, just drag and drop. I'm trying to set up the sound capability,
in order to play sound for each moment of connection, obviously u can change theme, but for now, there is only one :)

This is the TODO list:

- switchboardpanel
i'm waiting game, because the team that is working on the library, havent' completed yet the
switchboard part, that is the chat window

- contact widget
i have to write a more usefull widget for representing the contact in the tree list, like gtk's cellrenderer

- plugin structure
in order to add stuff and functionalities made by other developers, such saving conversation log etc.

All dipends on if i try more time to working on it.
Roughly we can back on the argument in a month.


(i hope anyone who will read this post don't misunderstand me,and if i wrote wrong things say it to me, in order to modify the post.)
______________________________________________________________________
Vorrei provare a rispondere a chi voleva sapere quando rilascero' la prima release.
La prima release di limsn avra' delle funzionalita' di base, la rilascio solo perche ho bisogno che
mi arrivino i primi riscontri sul effettivo funzionamento.
Come ho gia' scritto, ricordo che sto scrivendo limsn per imparare a programmare.

Rilascero' la prima versione il prima possibile, perche ho bisogno che qualcuno si unisca allo sviluppo,
non posso fare tutto da solo, e non ho molto tempo libero per lavorarci su.
Cmq spero che il punto forte di limsn sia la possibilita' di personalizzarlo a piacimento.
I suggerimenti sono cmq bene accetti.

Per ora e' possibile: cambiare lo sfondo, cambiare il font e il colore del font, si puo' fare il drag&drop
dell'avatar, senza dover stare a cercare per tutto il filesystem, si prende,si trascina e boh. Sto provando a
sonorizzarlo completamente, e poter inserire dei suoni all'avvio (che sono disabilitati cmq di default), alla connessione, alla disconnessione ecc. man mano che mi vengono altre idee in mente. Ovviamente si puo' scegliere il tema, ma per ora ce n'e' solo uno :P

In ordine cmq, ecco la lista delle cose da fare
TODO:
- switchboardpanel
sto temporeggiando perche i ragazzi che sviluppano la libreria stanno finendo di scrivere la parte relativa
alla switchboard, cioe' relativa alla finestra della chat.
- widget contatto
devo elaborare un widget che possa essere piu personalizzabile, tipo un cellrenderer del gtk

- struttura a plugin
cosi' anche se non faccio tutto io, puo' essere aggiunto poi, con un plugin, tipo il salvataggio dei log della chat, oppure suoni aggiuntivi in base all evento

Poi dipende anche se riesco a trovare piu' tempo libero.
Orientativamente, diciamo che ci risentiamo tra un mese.

martedì 28 agosto 2007

Any idea?

Limsn is a Msn clone, but if you want, you can make it very different...


domenica 26 agosto 2007

I am a perfectionist...

It's my obsession for details...



Now i can manage contacts through the pymsn addressbook :) (tnx to jp.)

Now you can drag an image and drop in to your avatar to publish the display picture.


_________________
Italian version:

mi e' sempre piu difficile scrivere in inglese :(
Sto per terminare la gestione dei contatti,
ora pero' si puo' fare il drag&drop di una qualsiasi immagine sull'avatar
per pubblicare l'immagine di msn.

p.s. e' una delle prime cose che ho fatto in realta', e' cosi' facile, pero' ora
ha un suo senso...

giovedì 16 agosto 2007

From snapshot to snapshot

Here's 2 snapshots of the messenger panel. One is with the tab on the right, cause i wish i could put other tabs in which run each kind of application inside limsn, such as peer to peer programs or peer2peer personalized chat modules. The pymsn library i'm using (pymsn.devel) is very simple to follow, and it's simple for me too :)




If i finish the switchboard panel on time, i think i can release the first pre-pre-pre-alfa version of limousine, on sourceforge next month.


______________________
Italianus:

Qui ci sono due istantanee del pannello della lista dei contatti, uno e' con i tab perche l'idea e' di poter far eseguire qualsiasi tipo di applicazione all'interno di limsn, per esempio software p2p o moduli di chat p2p o boh, non so.
Ho quasi finito di allinearmi alla libreria di sviluppo del team di pymsn.devel,
e quando finiro' il pannello della switchboard penso che rilascero' una versione pre-pre-pre-alfa
di limsn su sourceforge.
Seguite gli sviluppi :)

lunedì 6 agosto 2007

Rewriting again

I decide to rewrite Limousine using the devel branch of the python msn library.
It means be able to use MSNP15.
It will take a week to rewrite it all.
I'm sorry for wasted time, but limsn will be more usefull.

C U soon.

venerdì 3 agosto 2007

Almost finished the userbar on the top






I have to add just the plugins toolbar and the personal message

if u have any suggestion please write it to me here,tnx.

_____________________________

Ho quasi finito la barra utente principale, mi manca la barra dei plugins
e il messaggio personale che compare. (ho anche ristretto gli spazi tra i contatti come suggeritomi)

P.s. Se avete suggerimenti di qualsiasi tipo postateli, grazie

mercoledì 1 agosto 2007

First contact list screenshot!




Here's the first screenshot of the contactlist panel.
this is the base idea on how i want to design limousine.

_____________________________________________
italian:

Ecco l'anteprima di come sara' il pannello della lista contatti di limousine.
Questa e' l'idea di base, si parte da qui!

venerdì 27 luglio 2007

Begin skinning...


Limousine skinned!





Here some screenshot of my limousine that i started to apply new skins :)
And now Limousine can play sound for each stage of connection, now you can choose to play
a music clip for each stage of connection and choose a sound theme.

For this skin I choose to play the transformers sound theme when limousine starts. :)



____________________________
Italian:

Ecco limousine con i primi tentativi di applicare i temi, ora limousine puo' suonare
file musicali ad ogni stadio della connessione e scegliere un tema sonoro.
Per questo tema ho scelto di far suonare a limousine come intro, una famosa sigla dei transformers
che voi per ora non potete sentire :)

mercoledì 18 luglio 2007

Connected...




At last i successfully connected to msn service using my limousine client.
It's now time to say something about limousine.
It's a new project, if you want name it so, for me it means programming and learning at the same time.
I try writing Limousine in order to make it helpful, simple & quick to use, with a good looking face. :)

Limousine is not finished yet.

For connecting with msn service i thought about using a python msn library,
at the beginning i looked at emesene library, next, because of some reasons, i opted for pymsn library.

___________________________________________________________________________________

Italian version.
_____________
AAAAlla fine sono riuscito a connettermi al servizio di msn col mio client Limousine :)
E' ben poca roba, lo so, forse per voi, per me no.
E' tempo di dire qualche parola in piu su limousine.
Limousine e' un nuovo progetto, se cosi' si puo' chiamare, ma per me e' un modo di imparare a programmare, programmando...
Sto cercando di scrivere questo client msn in modo che possa essere facile da usare e veloce,
ho gia' implementato alcuni giochetti che su msn non ci sono, ma per scaramanzia non li dico qui, e' ancora presto, e cmq sto puntando molto sull'interfaccia grafica come si puo' vedere.
Il programma non e' ancora finito, anzi e' da poco che ho iniziato a scriverlo, inizialmento lo scrissi
usando le PyGtk, ma mi scontrai con un muro di ostacoli che mi impedivano di sfruttare la grafica.
Allora ho cancellato tutto e riscritto da zero, usando stavolta le WxPython.
Effettivamente con le wxpython riesco a fare alcune prodezze, anche se non e' sempre intuitivo sapere dove mettere le mani....questo per la mancanza di un tool di sviluppo (volendo anche a pagamento) che valesse qualcosa...

Inizialmente avevo pensato di usare le emesenelib, visto che avevo iniziato a scriverlo con le pygtk, ma poi, per alcuni motivi, ho optato per le pymsn, sono facili da usare, almeno la versione 0.2.2, in cui viene implementato il protocollo msnp versione 11. E' in realta' e' gia' in fase di sviluppo avanzato il protocollo msnp15, ma intanto vedo cosa riesco a fare con le 0.2.2.

L'idea di base per realizzare limousine e' basata sul fatto che graficamente, ogni pezzp e' una parte grafica a se' stante, che viene disegnata a seconda della sensibilita' del grafico (nel mio caso verra' una schifezza). In questo modo l'interfaccia sara' altamente personalizzabile, e ogni singolo modulo potra' essere personalizzato a scelta.
Il che cmq non vuol dire perdersi nei meandri dei pannelli di configurazione kilometrici...
Infatti parlo di due o tre giochetti per personalizzare l'interfaccia, tipo sfondo,tipo carattere ecc.ecc. finche' non creeranno dei toolkit fortemente impattanti e integrati sulla grafica ci dobbiamo accontentare...

Se , detto questo, qualcuno volesse unirsi allo sviluppo ne sarei contento, la mail a cui potete scrivere e' limousinewx(at)gmail.com e la mia password e'....
Sia chiara solo una cosa, non cerco la fama, ne' il successo, limousine , qualsiasi cosa sara', sara' sicuramente open source, quindi ognuno e' libero di modificarlo e (spero) migliorato :)
ma prima lasciatemelo finire :)
a presto, a chiunque legga.

mercoledì 11 luglio 2007

Gui again...


Improved graphic, i'm trying to write it in order to be simple to use.

sabato 7 luglio 2007

Limousine reloading...



I tried write limousine in pygtk....buh!
I'm trying to re-writing it in wxPython....mmm...better! :)

















I can put wallpaper now!

Now I can do much more things! :)

lunedì 7 maggio 2007

sabato 5 maggio 2007

cam_wrapper - Python WebCam


I've made a python module that grab webcam pictures so you can put'em in your python graphic application.
I've finished it today but I'll publish code next week, just in time for make it cleaner and usefull.

sabato 28 aprile 2007

Added tray icon


Here's the tray icon :)

giovedì 26 aprile 2007

Limousine is borning



LiMSN - Limousine
The Linux Live Messenger

The idea is to make a Live Messenger very similar to the M$ one, but this one is for Linux.
I started writing code on 23/04/2007
Obviously it's not finished yet, i cannot write it in two days..., and it's under construction.