Simple Bash Curses


Oggi conosceremo una libreria bash, creata da Metal3D che permette di creare interfaccie semi-grafiche similissime alle curses con la semplicità di bash.

Il programma si chiama bashsimplecurses ed è possibile scaricarlo alla sua pagina Google Code. Purtroppo ancora questa libreria non riesce a sostituire le mitiche curses/ncurses dato che supporta solo la visualizzazione di finestre colorate nello schermo (niente menù e form, ma per questo è possibile usare Dialog). Lo script è stato creato interamente utilizzando le funzioni che ci offre bash (come echo)

Ma non perdiamoci in chiacchiere e vediamo come funziona.

Dopo aver scaricato il pacchetto tar.gz, scompattiamolo e diamo (da root) il comando make install. Dopodichè, copiamo il file simple_curses.sh nella cartella dove salveremo i nostri script.

A questo punto, vediamo come creare le famose finestrelle.

#!/bin/bash

#importo lo script
source $
(dirname $0)/simple_curses.sh

#creo la funzione principale
main
(){
   window
"Titolo della finestra"
   append
"Contenuto"
   endwin
}
main_loop
Questo script servirà per creare questo:

Simple Bash Curses
Per dare un pò di colore alla nostra finestra, ci basterà specificare dopo il nome della finestra, il colore che vorremmo utilizzare (es "red") tra
Mentre, per specificare la dimensione della finestra, basterà scrivere la percentuale dopo il colore (o il titolo) (es 50).

I comandi sono i seguenti:

Per creare più finestre in uno script, basterà ripetere tutti i comandi ricordando che, con il comando move_up si tornerà in alto mentre col_right porterà la nuova finestra a sinistra. Per capirci questo:

#!/bin/bash

source $(dirname $0)/simple_curses.sh

main(){
    window "Test 1" "red" "33%"
    append "Prima finestra"
    endwin

    col_right
    move_up

    window "Test 2" "red" "33%"
    append "Linea 1"
    append "Linea 2"
    endwin

    window "Test 3" "red" "33%"
    append "Testo, testo e ancora testo"
    endwin
    window "Test 4" "grey" "33%"
    append "Esempio di comando"
    append "`date`"
    append "Ecco la data di oggi"
    endwin
   
    col_right
    move_up
    window "Test 5" "red" "34%"
    append "Aggiungiamo delle piccole finestre!"
    endwin

    window "Little" "green" "12%"
    append "Finestrella 1"
    endwin
    col_right
    window "Other window" "blue" "22%"
    append "Finestrella 2"
    endwin

}
main_loop


Ed ecco il risultato:

Simple Bash Curses

Comodo, no?

La nostra pagina su Twitter!