Appendice 7.Come avviare tramite un pulsante presente nell'interfaccia di Firefox qualsiasi programma presente sul PC.Oppure, se si è programmatori,
come crearsi pulsanti per eseguire funzioni scritte da noi.Nel seguito illustrerò solo il primo caso (anche perché non sono programmatore).
Creiamo un nuovo elemento, in questo caso di tipo
Button, seguendo la stessa procedura vista nell'
appendice 1 facciamo
"New → Button". L'elemento
Button presenta tre pannelli, come si vede in questa immagine che li mostra in sequenza.
-Common, è l'identificazione del tasto,
Id (nome interno);
Label (etichetta che apparirà nell'interfaccia);
Hotkey (opzionale scorciatoia da tastiera).
-onClick, conterrà l'istruzione che vogliamo far eseguire cliccando sul tasto che stiamo creando (potrà contenere una unica istruzione oppure decine di righe di codice).
-Init-function, conterrà eventuali istruzioni da eseguire all'avvio di Firefox per inizializzare la funzione che abbiamo creato (non spaventatevi è opzionale e ci basta sapere che esiste).
Avviare un programma presente sul PC è molto semplice, in quanto la relativa funzione è già presente all'interno di
PrefBar.
Questa funzione si chiama
goPrefBar.RunApplication, va scritta nel campo
onClick e la sua sintassi è questa:
goPrefBar.RunApplication(" ");nello spazio fra le due virgolette basterà scrivere il percorso dell'eseguibile del programma che si vuole avviare ed il gioco è fatto.

A sinistra si vede l'istruzione per avviare il blocco note di Windows con un tasto all'interno di Firefox, a destra l'istruzione per avviare un tipico editor di testi per Linux.
Con questo sistema si può avviare qualsiasi programma.
Si può avviare anche uno script eseguibile (file batch per Windows) nel quale scrivere tutte le istruzioni che si vuole, istruzioni dipendenti dal sistema operativo, che potranno compiere azioni completamente estranee a Firefox e all'estensione (premere un tasto dentro Firefox per ottenere una tazzina di caffè è una delle possibilità... tazzina di caffè reale non virtuale...).
Appendice 8.L'elemento
Submenu.
Se abbiamo molti elementi di
PrefBar visibili, e altri vorremmo aggiungerne, potremmo ritrovarci con tutti questi elementi che appariranno in un modo esteticamente poco gradevole. Inoltre potremmo non individuare subito il pulsante che cerchiamo (quando la barra è piena gli elementi che non trovano spazio, come succede con le schede di Firefox, si "arrotolano").
Una soluzione è
utilizzare i submenu, raggruppare tasti poco usati oppure tasti con simili funzioni in un unico tasto. Ottenendo per esempio un tasto che apre un menu a tendina dove poter selezionare se attivare Java, Flash, Javascript, animazioni, immagini... un tasto che fa per cinque.
Unica controindicazione: i due clic necessari, invece di uno, per attivare e/o disattivare una funzione.
Come esempio pratico di usare la funzione
Submenu, vediamo
come creare un menu segnalibri (un menu segnalibri supplementare ed indipendente da quello di Firefox).
Creare un nuovo elemento, in questo caso di tipo
Submenu, seguendo la stessa procedura vista nell'
appendice 1, facciamo
"New → Submenu".
Primo passo: scrivere un
Id ed una
Etichetta per questo elemento (etichetta che potrebbe essere "Segnalibri").
Fatto, il submenu è pronto.
Secondo passo: seguendo le istruzioni presenti nell'
appendice 5 creare tanti elementi
link quanti sono i segnalibri che si vuole mettere in questo supplementare menu segnalibri.
Per mettere in ordine i segnalibri e per metterli nel submenu utilizzare, se necessario, il
drag-and-drop.
Una immagine per illustrare un possibile aspetto finale.

In questa maniera si hanno due menu segnalibri!
(Si può assegnare il nome che più piace a questo secondo menu segnalibri; io ho utilizzato lo stesso nome per fare scena).
I segnalibri di PrefBar non fanno parte dei segnalibri di Firefox, sono completamente indipendenti, è un po' come avere dei segnalibri salvati in un file di testo. Con il vantaggio che sono a portata di clic dentro Firefox ed ognuno di essi può avere la sua scorciatoia da tastiera.
Questi segnalibri saranno senza la loro specifica favicon, avranno una favicon generica.
Dove vengono salvati questi segnalibri? Nel file
prefbar.json che si trova nella cartella del profilo di Firefox.
E' possibile creare un submenu all'interno di un submenu? Purtroppo no.
Appendice 9.L'elemento
Menulist.
Nell'
appendice 1 si è visto come creare un pulsante per modificare il valore di un parametro da true a false (e viceversa). Nell'
appendice 2 nel caso di parametri che possono assumere più di due valori come passare fra due di essi.
Vogliamo di più, vogliamo poter scegliere al volo fra tutti i valori che un parametro può assumere.
Utilizzando l'elemento
Menulist (che si crea con l'opzione
"New → Menulist") è fattibile ed in maniera piuttosto semplice.
Tornando all'esempio dei cookie dell'
appendice 2, volendo poter scegliere fra:
-Vietare del tutto i cookie
-Permettere solo i cookie dei siti, vietando quelli di terze parti
-Permettere tutti i cookie, anche quelli di terze parti.
L'elemento
Menulist relativo andrà impostato come in questa immagine (vi ricordo che nelle caselle
"label" potete scriverci ciò che per voi meglio descrive quella azione):

I simboli "
+" e "
-" servono per aggiungere e togliere opzioni, le due frecce per ordinarle.
Nell'interfaccia di Firefox apparirà in questo modo:

A dire il vero è un po' invadente e non molto elegante, in particolare se messo nella barra dei menu.
Per ovviare possiamo ricorrere all'elemento Submenu (vedi
appendice 8) e crearci un nostro menu che potremmo chiamare
"Preferenze", nel quale mettere questa preferenza, magari insieme ad altre di questo genere.
Ottenendo un risultato come quello illustrato da questa immagine.

Oltre alla preferenza per gestire i cookie ho aggiunto la preferenza che gestisce la
"X" per chiudere le schede, se trovate noioso avere la "X" sempre visualizzata allo stesso modo (si tratta della preferenza
browser.tabs.closeButtons).
Meno invadente, più elegante e più completo.