Comment faire ces GUI à l'ancienne (comme l'installateur Debian / Arch)

13

J'ai fait beaucoup d'installations récemment, et lorsque cela est possible, j'opte généralement pour l'installation de texte dans le menu GRUB du Live CD. La plupart des installateurs ressemblent à ceci:

entrez la description de l'image ici

J'ai toujours pensé que ces interfaces graphiques (si vous pouvez les appeler comme telles) étaient vraiment géniales et légères. Étant donné que de nombreuses applications / distributions les utilisent, ce doit être une bibliothèque partagée ou quelque chose de bien? Existe-t-il un moyen de faire des trucs comme ça?

n0pe
la source
Il convient de noter que la plupart des sysinstallers pour linux et bsd ont une horrible présentation de l'interface utilisateur utilisant des cursus concernant les boutons OK et Annuler: il est rarement clair quand l'utilisateur les a mis en surbrillance. Lors de l'implémentation avec curses, il est préférable de ne pas utiliser ces installateurs comme exemple de conception; revenez plutôt à ces anciens programmes DOS, comme Lotus 123, pour savoir comment les bonnes interfaces graphiques ANSI devraient fonctionner en termes d'interface utilisateur. C'est quelque chose comme: [Ok] est légèrement coloré mais n'est pas mis en évidence, jusqu'à ce qu'il soit sélectionné par l'utilisateur.
Jonathan Cline IEEE

Réponses:

18

Vous recherchez des ncurses .

Bauerd
la source
2
En relisant, je me demande ce que signifie exactement "toucher l'argent" ... Je suppose que j'étais juste excité.
n0pe
3
@MaxMackie: Maintenant, cette question de suivi serait mieux adaptée à english.stackexchange.com ;)
Piskvor a quitté le bâtiment
14

Je ne connais pas Arch et Debian, mais souvent ces interfaces graphiques sont faites avec dialog(1), ce qui prend un tas d'arguments en ligne de commande et rend ensuite une boîte de dialogue avec ncurses. Par exemple, le menuconfig du noyau Linux ressemble à ceci:

Capture d'écran de menuconfig

Un exemple d' dialogutilisation est:

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

Ce qui se traduit par:

Capture d'écran de la boîte de dialogue (1)

Michael Mrozek
la source
C'est vraiment génial, donc la boîte de dialogue utilise ncurses pour dessiner sur le terminal? Ça ne pourrait pas être plus simple que ça. Merci
n0pe
8

À un niveau supérieur, ceux qui ressemblent exactement à cela utilisent généralement quelque chose comme newt / whiptail ou dialog . Celui-ci ressemble à son triton / whiptail, car la boîte de dialogue a tendance à dessiner un cadre autour des contrôles comme cette zone de liste. Pour un autre exemple, la configuration du noyau linux utilise une version personnalisée réduite de la boîte de dialogue (sans fonctionnalités supplémentaires qu'elle n'utilise pas, et j'imagine que la case à cocher oui / non / module est une fonctionnalité personnalisée)

Aléatoire832
la source