download
Download
upload
Invia Applicativi
tutorial
Wiki
forum
Forum
buc-scripting
Scripting
bug
Bugs

Archivi della Categoria 'scripting'

giu 23 2009

Guida passo-passo per inserire la possibilità di aggiornamento nei propri applicativi .mc

Pubblicato da smat in scripting

buc-scripting

Una delle funzioni forse più utili da implementare in un proprio applicativo è quella di dare la possibilità all’utente finale di aggiornare l’applicativo comodamente tramite un click. Di seguito è illustrato il metodo che ho utilizzato io per rendere possibile questo :)

Leggi il resto »

Un commento

mag 21 2009

Eseguire uno script in automatico quando si avvia un applicativo mc con BUC

Pubblicato da smat in scripting

buc-scripting

Una funzione che può tornare utile, nello sviluppo di un applicativo mc, è quella di poter avviare uno script bash ancor prima che l’applicativo mostri il suo contenuto. Questo può servire per svariati motivi: installare delle icone personalizzate (come già spiegato qui), personalizzare i campi di selezione in base a ciò che l’utente ha o non ha installato sul proprio pc e tante altre applicazioni che in questo momento non mi vengono in mente ma che sicuramente durante lo sviluppo di un applicativo sarà necessario implementare.

Per raggiungere il nostro scopo utilizzeremo il tag < global >. Dalla wiki ufficiale di BUC sappiamo che il tag < global > permette di specificare una variabile di ambiente, in modo analogo al tag < text > con la sola differenza che è invisibile all’utente finale (e soprattutto non modificabile). Quindi tutto ciò che verrà inserito all’interno del tag < global > non sarà visibile all’utente finale, che ne “subirà” gli effetti senza accorgersi di nulla.

Esempio:

<?xml version="1.0"?>
<config>
	<global var="inizializzazione">
		if [ -e /usr/local/buc/file ]
			then
				echo "file presente"
			else
				echo "file non presente"
		fi
	</global>
		<label>
			echo $inizializzazione
		</label>
</config>

In questo semplice esempio dimostrativo ho inserito all’interno del tag < global > un semplice if che se esiste file all’interno di /usr/local/buc allora darà alla variabile $inizializzazione il valore “file presente” altrimenti “file non presente”. Successivamente la variabile $inizializzazione è stata utilizzata per avvertire l’utente, tramite il tag < label >, della presenza o meno di file.

Questo metodo ci da la possibilità di avere un applicativo dinamico in base al pc sul quale si sta eseguendo.

Spero di essere stato abbastanza chiaro, per ogni dubbio o chiarimento lasciate un commento.

Un commento

mag 18 2009

Visualizzare tutto l’output di un processo avviato da un applicativo mc

Pubblicato da smat in scripting

buc-scripting

Nella versione attuale di BUC, la 0.5.1, non è possibile visualizzare in tempo reale l’output di un qualsiasi processo mandato in esecuzione.

Per ovviare a questa piccola defiance è possibile far si che BUC crei un piccolo script bash che venga poi eseguito su un terminale, cosi che in esso l’utente finale possa visualizzare tutto l’output del processo avviato precedentemente.

Per fare un esempio ipotizziamo di voler realizzare un applicativo mc che ci permetta di installare un qualsiasi programma su Ubuntu tramite il comando sudo apt-get install (è ovvio che realizzare un tale applicativo è pressochè inutile ma per scopo educativo c’è concesso Tongue out).

Codice dell’applicativo :

<?xml version="1.0"?>
<config>
<label>
echo "Inserisci il nome del programma che vuoi installare"
</label>
<text var="programma">
</text>
<button text="Installa">
gksu apt-get install $programma
</button>
</config>

Una volta premuto il bottone Installa partirà il processo di installazione del programma scelto però all’utente finale non verrà visualizzato alcuna informazione che faccia capire che l’applicativo ha svolto il suo lavoro.

Per far si che l’utente finale possa visualizzare l’output non dobbiamo far altro che dire a BUC di creare un piccolo script bash con all’interno il comando che vogliamo eseguire.

echo "#!/bin/bash" > installa
echo "sudo apt-get install $programma" >> installa
echo " read -p 'Premi INVIO per chiudere la finestra'" >> installa
echo " exit 0 " >> .airmon
chmod +x installa
if
xterm -e ./installa
then
sleep 1
rm -f installa
fi

Questo codice, che va inserito all’interno dei tag <button>, non fa altro che creare uno script bash chiamato installa che verrà successivamente reso eseguibile ed avviato tramite il terminale xterm; (la scelta di xterm non è casuale, questo terminale si trova nella maggior parte delle distribuzioni, quindi consiglio di utilizzare questo piuttosto che gnome-terminal o konsole cosi da evitare malfunzionamenti) alla fine del lavoro lo script verrà eliminato.

Il codice completo dell’applicativo con questa piccola modifica sarà quindi:

<?xml version="1.0"?>
<config>
<label>
echo "Inserisci il nome del programma che vuoi installare"
</label>
<text var="programma">
</text>
<button text="Installa">
echo "#!/bin/bash" > installa
echo "sudo apt-get install $programma" >> installa
echo " read -p 'Premi INVIO per chiudere la finestra'" >> installa
echo " exit 0 " >> .airmon
chmod +x installa
if
xterm -e ./installa &
then
sleep 1
rm -f installa
fi
</button>
</config>

Nessun commento

mag 18 2009

Utilizzare icone personalizzate in un applicativo mc

Pubblicato da smat in scripting

buc-scripting

Nel pacchetto BUC abbiamo inserito delle icone di default ma potrebbe sorgere la necessità di dover utilizzare delle icone personalizzate; di seguito spiego un metodo semplice ed efficace che vi permetterà di inserire comodamente tutte le icone che volete Cool

<global var="installazione">
if [ -s /usr/local/buc/icone ]
then
echo "ok"
else
cd /usr/local/buc/
wget http://tuosito.it/icone.zip
unzip iconek.zip
if [ -s /usr/local/buc/icone ]
then
zenity --info --title=buc --text="Questa è la prima volta che usi questo applicativo.
Sono stati scaricati e installati con successo dei componenti aggiuntivi in /usr/local/buc/icone
Questo messaggio apparirà solo questa volta."
else
zenity --error --text="Impossibile eseguire il download di un componente essenziale.
Assicurarti di avere una connessione internet attiva.
Riavviare l’applicativo."
fi
fi
</global>

Per aggiungere delle icone personalizzate ho utilizzato il tag < global >, che deve essere posizionato dopo il tag < config >, cosi da far eseguire a BUC il codice senza che l’utente finale possa rendersi conto di nulla :)

L’if presente in questo codice non fa altro che:

  • se esiste la cartella /usr/local/buc/icone
  • allora non fare nulla
  • altrimenti entra in /usr/local/buc, scarica il pacchetto icone.zip (situato in un vostro spazio web , con al suo interno una cartella icone/ con dentro le icone personalizzate) e decomprimilo.
    • se esiste la cartella /usr/local/buc/icone
    • allora avverti l’utente che tutto è andato a buon fine
    • altrimenti avvisalo con un messaggio di errore

2 commenti

mag 18 2009

Realizzare una combobox dinamica

Pubblicato da smat in scripting

buc-scripting

Grazie al tag < combobox > è possibile inserire in un proprio applicativo mc una lista di selezione, tramite la quale si da la possibilità all’utente di definire una variabile scegliendo il valore fra varie voci.

combobox.png

E’ utile a volte rendere questa lista dinamica e modificabile in base alle scelte dell’utente.

Leggi il resto »

Nessun commento