Firetray Modding

Salve. Ho da poco scoperto Songbird (info qui) che per capirci è un mediplayer basato sulla piattaforma XULRunner quindi come vi immaginerete del tutto espandibile con i classici pacchettini .xpi che tutti voi o firefoxiani conoscerete bene.

Fra i tanti add-ons, uno che uso con profitto è Firetray una semplice tray icon per Songbird, con un menù di controllo classico (del tipo play/pause, next/previous ecc. per capirci). L'unica cosa che non sopportavo era la super minimalità, per questo motivo mi son personalmente rimaneggiato il codice e ho aggiunto le icone che rendono l'uso più "visual" perchè come sapete io sono stiloso e alla moda. (ma anche no)

Bhè tutta la modifica stà in 4-5 righe di codice, in particolare

* ho aggiunto una funzione nella libreria usata dall'applicazione (nsTray.os) che ho poi ricompilato e ripacchettato. Questa funzione non fà altro che costruire un item del menu con testo e relativa iconcina. Tutta l'applicazione si disegna con gtk, e per questo motivo ho usato le icone di default della libreria, così infatti non ho dovuto aggiungere ne caricare altre immagini dentro l'addons, e l'effetto grafico di amalgama col sistema è garantito. In particolare ho usato le Stock Icons di Gtk (qui) che ne offre un pò, tra cui alcune perfette per il nostro uso che vanno sotto il nome di GTK_STOCK_MEDIA_*. La funzione modificata è la nsTray::Menu_item_new che ho chiamato con mooooolta fantasia nsTray::Menu_item_img_new e che si comporta esattamente come l'originale sennonchè come ultimo parametro si aspetta un gchar, che non è altro che il nome riferito dalla GTK_STOCK_* define. (ah, i nomi si leggono nella pagina linkata 3 righe più su)
* Infine ho ritoccato il file core.js che è il file principe dell'add-ons in cui ho semplicemente sostituito alle vecchie chiamate verso la libreria il nome della nuova funz sopra definita.

Ok, e allora? Allora vi reincollo sotto l'addons ripacchettata e i sorgenti con le mie modifiche, nonchè un immaginina dell'addons in funzione. Naturalmente vi ricordo che il codice mio è solo ed esclusivamente la modifica, tutti i meriti vanno ai coder primigenei. Il link alla pagina ufficiale lo trovate sopra, il link al sorgente originale è googlecodato qui.

Firetray_modded.xpi

Firetray_modded.src

photoxhibit('9',true)