Guida Gtk+ a puntate ( XIII parte )
Dopo un lungo momento di silenzio a causa della scrittura della documentazione per Imel, continuiamo la nostra guida alle Gtk+. In questa puntata vedremo i label, loro uso e “consumo” ![]()
Prosegui la lettura…
Dopo un lungo momento di silenzio a causa della scrittura della documentazione per Imel, continuiamo la nostra guida alle Gtk+. In questa puntata vedremo i label, loro uso e “consumo” ![]()
Prosegui la lettura…
Chiunque giochi un po’ con linux penso abbia conosciuto il fantastico gioco multipiattaforma chiamato Wormux. Un clone del videogame Worms solo che al posto dei vermi ci sono le mascotte del mondo linux.
Mentre giocavo online con un mio amico, mi son domandato se ci fosse un modo per modificare le armi, o almeno la quantità di ogni tipo di arma. Ero già partito con l’idea di dover mettere mano al sorgente, per fortuna ho rinunciato al mio istinto e sono andato a vedere prima se c’era qualcosa da fare nei file di configurazione di wormux in /usr/share/games/wormux.
E così ho scoperto che posso modificare l’intero mondo di wormux! Prosegui la lettura…
Ok, le puntate continuano e gli argomenti avanzano. Adesso siamo arrivati all’argomento pulsanti ( o bottoni che dir si voglia ) molto utili e quasi indispensabili per un’applicazione in Gtk+.
Questo argomento non è complicatissimo e conto di finire tutti i tipi di pulsanti esistenti in questa puntata. Quindi.. Relax
Bien, questa è la puntata in cui concludiamo con i contenitori.. rileggendo la vecchia puntata noto che abbiamo già fatto la parte più complicata, ovvero tabelle e box.
Questo terzo capitolo sui contenitori è l’ultima tappa dopodichè passaremo come promesso ai pulsanti. Preparatevi che iniziamo!
Ebbene, vi ricordate la vecchia patch che avevo fatto per disabilitare l’audio in Tennix! ?
Si poteva unicamente disabilitare il suono una volta per tutte, ed era d’obbligo lanciare il programma da terminale. Mi son messo poco fa a spulciare in mezzo ai sorgenti per capire un po’ la logica del programma ( non avendo mai usato le SDL non ci stavo capendo niente ).. Ed ecco qui la versione “finale”:
Come si può vedere ho inserito la possibilità di disabilitare l’audio clickando su una voce del menù principale del programma e volendo all’occorrenza riabilitarlo. L’opzione “–sound-leave” o “-s” è ancora presente ma non disabilità più definitivamente l’audio, cioè lascia, come l’opzione nel menù principale, la possibilità di riabilitare l’audio mentre il gioco è in corso.
La modifica del pacchetto è stata un po’ più dei soli sorgenti ( ho dovuto modificare pure le due immagini ) e quindi vado meglio a rilasciare l’intero pacchetto che si può scaricare qui: tennix-0.6.1-patch.tar.gz ( 600 kB )
Per compilare: make && sudo make install
Librerie richieste: libsdl1.2-dev, libsdl-image1.2-dev e libsdl-mixer1.2-dev
Unica accortezza è che bisogna fare un click veloce perchè il segnale del click arriva a ripetizione ( cioè tenendo premuto arrivano più click di seguito ).
Ciauz
Eccoci ritrovati alla decima puntata, e manca ancora tanto tanto.. ma pian pianino ce la faremo. Come avevo promesso in questa puntata ci occupiamo delle tabelle.
Aprite il vostro editor e compilatore, preparate il vostro quadernetto con gli appunti che iniziamo!
Mi scuso in anticipo per l’abbandono sia del blog in generale sia della guida andando nello specifico, purtroppo ho avuto un sacco di impegni sia realmente che virtualmente, da questo momento in poi il fine settimana sarò un po’ più libero e dedicherò qualche minuto a voi.
Ho scoperto, con piacere, che alcune persone hanno trovato questa guida a puntate utile. Sono molto soddisfatto di ciò, vuol dire che non sono proprio una frana a spiegare le cose
Nell’ultima puntata, qualche secolo fa, avevo preannunciato che in questa avremmo iniziato a parlare dei contenitori.
Benissimo, non perdiamo altro tempo e iniziamo! Prosegui la lettura…
Piccola e stupida patch per aggiungere un’opzione al gioco Tennix!.
Common subdirectories: tennix-0.6.1/data and tennix-0.6.1-mod/data Only in tennix-0.6.1-mod: debian Common subdirectories: tennix-0.6.1/doc and tennix-0.6.1-mod/doc diff tennix-0.6.1/sound.c tennix-0.6.1-mod/sound.c 27a28 > int sound_enable = 1 |
Dopo aver applicato la patch e aver ricompilato Tennix! basterà lanciare l’applicazione con l’opzione -s o –sound-leave per disabilitare il suono.
Ciauz
Vi sarà capitata l’occasione di ritrovarvi una stringa contenente un numero binario e di doverlo convertire in un numero decimale ( o comunque memorizzarlo in una variabile ) e utilizzare i procedimenti più assurdi per farlo? No? Beati voi, a me è capitato.. anzi in particolar modo è capitato di avere i vari 1 e 0 divisi in varie variabili.. In questo post farò vedere un metodo, a mio avviso elegante, per ottenere la nostra decantata variabile contenente il valore decimale.
Ed ecco qui, subito subito la funzione:
unsigned char get_value_from_binary_string (const char *s) { short int i; unsigned char byte = 0; if ( !s || strlen (s) != ( sizeof (unsigned char) * 8 ) ) return byte; for ( i = (sizeof (unsigned char) * 8) - 1; i > -1; i-- ) byte = ( byte | (s[(sizeof (unsigned char) * 8) - ( 1 + i )] - '0') ) << ( i ? 1 : 0 ); return byte; } |
Naturalmente qua si parla di una stringa contenente il valore di un byte, ma è facilmente utilizzabili con stringhe contenenti valori di 2, 4, 8, 16, 32 e 64 byte utilizzando le variabili appropriate.
Il fulcro della conversione comunque sta in quelle due righe di for. 2 righe e si fa quello che molti altri farebbero in minimo 20 in modo osceno.
Ciauz
Bene, questo post sarà il mio trampolino di lancio per le prossime puntate.. il primo post scritto direttamente nel blog e al momento.
Proviamo, speriamo che non esca un obbrobrio.
In questa puntata vedremo i dialoghi di assistenza, conosciuti nelle gtk+ come GtkAssistant che sono molto utili nelle procedure guidate. Iniziamo.
Commenti recenti