diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-03-30 12:24:56 +0200 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-04-06 15:06:03 +0200 |
commit | 786c9c39bc0826737e99f0c750ea30033cdbc202 (patch) | |
tree | fbcd5bc021f312a2fed88013a1a526c6d0458c92 /gnu/installer/newt/keymap.scm | |
parent | a274bba2f939ae6637ec613bd0537ba415945835 (diff) |
installer: Add a help page.
* gnu/installer/newt/help.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer/record.scm (<installer>): Add 'help-menu' and 'help-page'
fields,
(installer-help-menu, installer-help-page): new exported procedures.
* gnu/installer/newt.scm (init): Set the help line,
(help-menu, help-page): new procedures used ...
(newt-installer): ... here.
* gnu/installer/newt/keymap.scm (run-layout-page): Add a context argument to
differenciate the help context from the main one,
(run-keymap-page): add a context argument and pass it to run-layout-page.
* gnu/installer.scm (compute-keymap-step): Add a context argument and pass it
to 'installer-keymap-page',
(installer-steps): set the help menu and pass the appropriate context to
compute-keymap-step calls,
(guile-newt): update to revision 2.
Diffstat (limited to 'gnu/installer/newt/keymap.scm')
-rw-r--r-- | gnu/installer/newt/keymap.scm | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index 2908ba7f0e..0147a0b9d5 100644 --- a/gnu/installer/newt/keymap.scm +++ b/gnu/installer/newt/keymap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -33,20 +33,32 @@ #:export (run-keymap-page keyboard-layout->configuration)) -(define (run-layout-page layouts layout->text) +(define (run-layout-page layouts layout->text context) (let ((title (G_ "Layout"))) (run-listbox-selection-page #:title title - #:info-text (G_ "Please choose your keyboard layout.") + #:info-text + (case context + ((help) (G_ "Please choose your keyboard layout. \ +It will only be used during the installation process.")) + (else (G_ "Please choose your keyboard layout. \ +It will be used during the install process, and for the installed system. \ +You can switch to different layout at any time from the help menu."))) #:listbox-items layouts #:listbox-item->text layout->text #:sort-listbox-items? #f - #:button-text (G_ "Exit") + #:button-text + (case context + ((help) (G_ "Continue")) + (else (G_ "Exit"))) #:button-callback-procedure - (lambda _ - (raise - (condition - (&installer-step-abort))))))) + (case context + ((help) (const #t)) + (else + (lambda _ + (raise + (condition + (&installer-step-abort))))))))) (define (run-variant-page variants variant->text) (let ((title (G_ "Variant"))) @@ -100,7 +112,7 @@ variants)) (cut append <> <>))) -(define* (run-keymap-page layouts) +(define* (run-keymap-page layouts #:key (context #f)) "Run a page asking the user to select a keyboard layout and variant. LAYOUTS is a list of supported X11-KEYMAP-LAYOUT. Return a list of two elements, the names of the selected keyboard layout and variant." @@ -114,7 +126,8 @@ names of the selected keyboard layout and variant." (sort-layouts layouts) (lambda (layout) (gettext (x11-keymap-layout-description layout) - "xkeyboard-config")))))) + "xkeyboard-config")) + context)))) ;; Propose the user to select a variant among those supported by the ;; previously selected layout. (installer-step |