Merdim

Dicembre 28, 2007

Si sono io, Lux, a scrivere, dopo mesi di totale ’assenza’ sul mio caro Blog ho deciso di scrivere qualcosa su di esso.

Innanzitutto vi premetto che ho compiuto gli anni poco tempo fa (16 zizi) e sono uscito vivo dal ginnasio (ora frequento il primo liceo)… ho avuto vari brutti momenti in questi ultimi mesi, ma me la cavicchio.

Bene premesso il mio status attuale vi inizio a spiegare cos’è Merdim (…se qualcuno ancora segue il blog come tempo fa :-( ).
Ho avviato questo progetto (Merdim) da pochi mesi. Merdim, inizialmente, doveva essere un clone di XChat, ma ora come ora è un semplice client IRC, che non tenta più di copiare XChat o altri Clients IRC, ma tenta di essere originale e migliore di essi! infatti mi son reso conto che XChat non era affatto perfetto, come credevo, perciò ho deciso di basarmi su due fonti principali: XChat e il mio cervello contorto ;-) .
Naturalmente il programma è scritto in Python ed usa la libreria Twisted, nel core.
Grazie alla struttura di Merdim si potrebbero scrivere varie interfaccie grafiche (ho diviso il tutto come nello schema a seguito), ma attualmente c’è solo un’interfaccia GTK e un ‘progetto wx’ (ho semplicemente creato una GUI simile con il tool per creare le GUI di wx, giusto per provare).
Prima di spiegarvi i vari file e riempirvi di screenshots vi scrivo velocemente la mappa dei files di Merdim:

 Mappa Files

Merdim.

| — merdim.py
| — merdim.cfg
| — channels.py
| — conf.py
| — utils.py
\interface.

\gtk.
| — about.py
| — channels.py
| — dialogs.py
| — menubar.py
| — messages.py
| — servers.py
| — users.py
| — window.py

\pixmaps.

| — hop.png
| — op.png
| — purple.png
| — red.png
| — voice.png

Spiegazione files:

merdim.py: cuore del client IRC, prende i dati dal file di conf (merdim.cfg), si connette ai servers precedentemente scelti (nessuno al primo avvio…) e avvia UNA GUI (interface).
merdim.cfg: ha la semplice funzione di file di configurazione dei servers (per adesso, in futuro delle opzioni di tutto il programma).
channels.py: usato dal Core nell’IRCClient, esso crea una lista dei canali, compresi gli users e i loro modi, utilizzata poi da varie funzioni del Core e soprattutto dall’interface.
conf.py: utilizzato, prima, dal Core (conf.read) e poi da interface/gtk/servers.py (in scrittura, conf.write).
interface/gtk/about.py: apre un gtk.AboutDialog, usato da interface/gtk/menubar.py.
interface/gtk/channels.py: usato da interface/gtk/window.py per creare la treeview dei canali, connessa ad una scrolledwindow.
interface/gtk/dialogs.py: semplice file per creare una dialogwindow (INFO, ERROR, WARNING).
interface/gtk/menubar.py: crea la menubar (UIManager), usato, logicamente, da interface/gtk/window.py all’avvio del programma.
interface/gtk/messages.py: crea una textview, connesso ad una scrolledwindow, usato varie volte (per ogni chan/server) da interface/gtk/window.py con funzione di visualizzare i vari messaggi dal server e dall’utente (con IRC format parser, per i formati IRC dei colori/bolds/underline).
interface/gtk/servers.py: una gtk.Window avviata dalla menubar (Files-Connect), usata per creare/rimuovere/modificare uno o più servers (salvandoli in merdim.cfg con conf.py) e/o per connettersi ad uno di essi.
interface/gtk/users.py: crea una treeview, connessa ad una scrolledview, usata molteplici volte da window.py (per ogni chan), a breve avrà la possibilità di ‘right-clickare’ gli users per kickarli/bannarli/kick-bannarli, ora semplicemente lista tutti gli utenti con il loro mode (pallino verde per OP, azzurro per HOP, giallastro per VOICE).
interface/gtk/window.py: avvia la finestra principale di Merdim, avvia e connette tutti i file precedenti.
pixmaps: varie immagini, al momento utilizzate solo da interface/gtk/users.py
Screenshots

Spiegata la struttura di Merdim possiamo passare all’azione, a qualche screenshot, dopodiche al download :).

Windows (SVN REV 36)
Free Image Hosting at www.ImageShack.us
Merdim appena avviato (server).
Free Image Hosting at www.ImageShack.us
Vista dei canali.
Free Image Hosting at www.ImageShack.us
File/connect, la serverslist.
Free Image Hosting at www.ImageShack.us
File/connect, la serverslist.

Linux (Ubuntu Hardy)
Free Image Hosting at www.ImageShack.us
Merdim appena avviato.
Free Image Hosting at www.ImageShack.us
File/connect, la serverslist.

Download (SVN REV 51)

Finalmente siamo arrivati alla parte clu, siete ancora con me vero :-) ?
Allora, prima di poter scaricare e provare Merdim dovrete installare delle dipendenze (Python, PyGTK, GTK, Twisted).

Windows: (appena rilascerò una versione ’stabile’ ci sarà un installer per windows con tutte le dipendenze :-) )
PyGTK+GTK+Python all-in-one installer, Twisted

Linux:
Debian (Ubuntu, ecc.): apt-get install python-twisted-words python-gtk2
Altre distribuzioni (sorgenti, da compilare): Python, PyGTK, Twisted, GTK, Pango, GLib

Installate le dipendenze non ci manca che scaricare Merdim e avviarlo.
Merdim attualmente si trova sul subversion di googlecode: http://code.google.com/p/ferraroluciano/source

Per gli utenti Linux basta solo installare Subversion (debian: apt-get install subversion, sorgente per altri) e scrivere in console: svn checkout http://ferraroluciano.googlecode.com/svn/trunk/Merdim ferraroluciano-read-only

Per gli utenti Windows vi tocchera installare TortoiseSVN o un’altro client per SVN (Subversion).
Se decidete di usare Tortoise SVN potete scaricarlo qui e dopo installato potete fare checkout a http://ferraroluciano.googlecode.com/svn/trunk/Merdim, come ho fatto in questa immagine:

Avvio
Questa è la parte più semplice, basta entrare nella cartella e cliccare due volte su merdim.py (per gli utenti Linux senza un file explorer basta fare cd Merdim && python merdim.py), avviato cliccate su File-connect e settate il vostro server.

Conclusioni
Se avete problemi, o avete riscontrato Bugs potete contattarmi via email (luciano .dot. ferraro @at@ gmail .dot. com) o potete venire su irc.azzurra.org #merdim oppure potete inserire il bug nella Issues list di googlecode.
Nel caso siate programmatori o anche disegnatori o vogliate fare del testing attivo del programma, se volete partecipare al proggetto venite su irc.azzurra.org #merdim e ne discuteremo.

Entry Filed under: Diario, Merdim, Programmazione, Python, Windows. Tag: , , , , , , , .

2 Comments Add your own

  • 1. Simosito  |  Gennaio 8, 2008 at 3:14 pm

    Grande Lux, sei illuminante!

  • 2. lux  |  Gennaio 8, 2008 at 3:57 pm

    Eheh provalo mi raccomando! dopo se trovi bugs fammi sapere (sicuramente, è instabile, sai com’è :-P ).

    Comunque ho appena aggiunto gli screenshots su linux (solo 2).

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Il Blog

Ogni singola lettera di questo Blog è sotto licenza Creative Commons: Attribuzione - Non commerciale - Condividi allo stesso modo 2.5.

Perciò tu sei libero di riprodurre e modificare materiale di questo blog a patto che ne attribuirai a me la paternità, non non li userai a scopo commerciale e li condividerai allo stesso modo (usando la stessa licenza)

Questo Blog è tutt'altro che professionale, percui viene usato dall'admin Ferraro Luciano come semplice Diario (senza date di scadenze e a volte non aggiornato per giorni) e sporodicamente come aiuto per la communità OpenSource (con guide e recensioni di vario genere).

  by Ferraro Luciano
My Google Pagerank

Articoli più letti di oggi

Commenti Recenti

Itascan su GMangas e luxBot
lux su GMangas e luxBot
lux su GMangas e luxBot
Itascan su GMangas e luxBot
lux su Snippets

Blogroll

Archivi

Statistiche