Come creare quelle GUI di vecchia scuola (come il programma di installazione debian / arch)


13

Ultimamente ho fatto molte installazioni e, quando possibile, di solito scelgo l'installazione di testo dal menu GRUB del Live CD. La maggior parte degli installatori si presenta così:

inserisci qui la descrizione dell'immagine

Ho sempre pensato che queste GUI (se le puoi chiamare come tali) fossero davvero fantastiche e leggere. Visto che molte applicazioni / distribuzioni le usano, deve essere una libreria condivisa o qualcosa di giusto? C'è un modo in cui posso fare cose come questa?


Va notato che la maggior parte dei sysinstaller per linux e bsd hanno orribili presentazioni dell'interfaccia utente usando maledizioni riguardanti i pulsanti OK e Annulla: raramente è chiaro quando l'utente li ha evidenziati. Quando si implementa con maledizioni, è meglio non usare questi programmi di installazione come esempio di progettazione; torna invece a rivedere quei vecchi programmi DOS, come Lotus 123, per come dovrebbero funzionare le buone GUI grafiche ANSI in termini di UI. È qualcosa del tipo: [Ok] è leggermente colorato ma non evidenziato, fino a quando non viene selezionato dall'utente.
Jonathan Cline IEEE

Risposte:



14

Non conosco Arch e Debian, ma spesso sono fatte quelle GUI dialog(1), che prende un sacco di argomenti da riga di comando e quindi rende un dialogo con ncurses. Ad esempio, il kernel menuconfig di Linux è simile al seguente:

Schermata di menuconfig

Un esempio di dialogutilizzo è:

$ dialog --title "Hello" --infobox "Hello there Unix and Linux Stack Exchange" 20 100

Che si traduce in:

Schermata della finestra di dialogo (1)


Questo è semplicemente fantastico, quindi la finestra di dialogo usa ncurses per disegnare sul terminale? Non potrebbe essere più facile di così. Grazie
n0pe

8

A un livello superiore, quelli che sembrano esattamente come quelli generalmente usano qualcosa come newt / whiptail o dialog . Quel particolare sembra che sia newt / whiptail, poiché la finestra di dialogo tende a disegnare una cornice attorno a controlli come quella casella di riepilogo. Per un altro esempio, la configurazione del kernel di Linux utilizza una versione personalizzata ridotta della finestra di dialogo (senza funzionalità extra che non utilizza, e immagino che la casella di controllo yes / no / module sia una funzione personalizzata)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.