Як зробити ці старі шкільні інтерфейси (наприклад, програма для встановлення debian / arch)


13

Останнім часом я робив багато встановлень, і коли це можливо, я зазвичай вибираю встановлення тексту з меню GRUB Live CD в режимі Live CD. Більшість монтажників виглядає так:

введіть тут опис зображення

Я завжди вважав, що ці графічні інтерфейси (якщо ви можете їх назвати такими) справді були приголомшливими та легкими. Бачачи, як багато додатків / дистрибутивів їх використовують, це повинна бути спільна бібліотека чи щось так? Чи є спосіб я зробити такі речі?


Слід зазначити, що більшість системних інсталяторів для Linux та bsd мають жахливу презентацію користувальницького інтерфейсу, використовуючи прокльони про кнопки ОК та Скасувати: рідко зрозуміло, коли користувач виділив їх. При впровадженні прокльонів найкраще не використовувати цих інсталяторів як приклад дизайну; поверніться до огляду тих старих програм DOS, як Lotus 123, наскільки хороші графічні інтерфейси ANSI повинні працювати в плані інтерфейсу. Це щось на зразок: [Добре] кольоровий колір, але не виділяється, доки користувач не обрав його.
Джонатан Клайн IEEE

Відповіді:



14

Я не знаю про Arch та Debian, але часто вони створюють графічний інтерфейс dialog(1), який займає купу аргументів командного рядка, а потім робить діалог із ncurses. Наприклад, конфігурація меню ядра Linux виглядає приблизно так:

Скріншот менюconfig

Приклад dialogвикористання:

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

Результати:

Скріншот діалогу (1)


Це просто приголомшливо, тому діалогове вікно використовує ncurses для звернення до терміналу? Не може бути простішим за це. Спасибі
n0pe

8

На більш високому рівні ті, хто виглядає точно так, як правило, використовують щось на кшталт newt / whiptail або dialog . Цей конкретний виглядає так, як це newt / whiptail, оскільки діалогове вікно має тенденцію малювати рамку навколо елементів керування, таких як список. Для іншого прикладу, конфігурація ядра Linux використовує розрізану користувальницьку версію діалогового вікна (без додаткових функцій воно не використовується, і я думаю, що прапорець "Так / ні / модуль" є спеціальною функцією)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.