[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: installer: Include empty variant in keyboard layout selection.
From: |
guix-commits |
Subject: |
02/02: installer: Include empty variant in keyboard layout selection. |
Date: |
Wed, 8 Apr 2020 23:50:27 -0400 (EDT) |
pelzflorian pushed a commit to branch master
in repository guix.
commit 7bc71025ccd0fabd739803889825e10341fbabdf
Author: Florian Pelz <address@hidden>
AuthorDate: Thu Apr 9 02:38:27 2020 +0200
installer: Include empty variant in keyboard layout selection.
Previously for Azerbaijani, no Latin layout but only the Cyrillic variant
could be selected.
* gnu/installer/newt/keymap.scm (add-empty-variant): New procedure.
(run-keymap-page): Use it to insert an empty variant.
---
gnu/installer/newt/keymap.scm | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm
index a555a1e..1b3af2f 100644
--- a/gnu/installer/newt/keymap.scm
+++ b/gnu/installer/newt/keymap.scm
@@ -104,14 +104,21 @@ different layout at any time from the parameters menu.")))
(append (sort main layout<?)
(sort others layout<?)))))
+(define (add-empty-variant variants)
+ "Prepend #f to VARIANTS so the user has the option to select no variant.
+The resulting layout may be different from all other variants (e.g. for
+Azerbaijani)."
+ (cons #f variants))
+
(define (sort-variants variants)
"Sort VARIANTS list by putting the international variant ahead and return
it."
(call-with-values
(lambda ()
(partition
(lambda (variant)
- (let ((name (x11-keymap-variant-name variant)))
- (string=? name "altgr-intl")))
+ (and variant
+ (let ((name (x11-keymap-variant-name variant)))
+ (string=? name "altgr-intl"))))
variants))
(cut append <> <>)))
@@ -180,10 +187,14 @@ options."
;; Return #f if the layout does not have any variant.
(and (not (null? variants))
(run-variant-page
- (sort-variants variants)
+ (sort-variants (add-empty-variant variants))
(lambda (variant)
- (gettext (x11-keymap-variant-description variant)
- "xkeyboard-config"))))))))))
+ (if variant
+ (gettext (x11-keymap-variant-description variant)
+ "xkeyboard-config")
+ ;; Text to opt for no variant at all:
+ (gettext (x11-keymap-layout-description layout)
+ "xkeyboard-config")))))))))))
(define (format-result result)
(let ((layout (x11-keymap-layout-name