diff options
| author | Florian Pelz <pelzflorian@pelzflorian.de> | 2020-04-09 02:38:27 +0200 |
|---|---|---|
| committer | Florian Pelz <pelzflorian@pelzflorian.de> | 2020-04-09 03:45:22 +0000 |
| commit | 7bc71025ccd0fabd739803889825e10341fbabdf (patch) | |
| tree | 5aa14b90f522650a278afafa5a132b2b69a16b04 | |
| parent | 91c231a2223440081426929828a23c7baa0214fd (diff) | |
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.
| -rw-r--r-- | gnu/installer/newt/keymap.scm | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index a555a1ecc12..1b3af2f158b 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."))) | |||
| 104 | (append (sort main layout<?) | 104 | (append (sort main layout<?) |
| 105 | (sort others layout<?))))) | 105 | (sort others layout<?))))) |
| 106 | 106 | ||
| 107 | (define (add-empty-variant variants) | ||
| 108 | "Prepend #f to VARIANTS so the user has the option to select no variant. | ||
| 109 | The resulting layout may be different from all other variants (e.g. for | ||
| 110 | Azerbaijani)." | ||
| 111 | (cons #f variants)) | ||
| 112 | |||
| 107 | (define (sort-variants variants) | 113 | (define (sort-variants variants) |
| 108 | "Sort VARIANTS list by putting the international variant ahead and return it." | 114 | "Sort VARIANTS list by putting the international variant ahead and return it." |
| 109 | (call-with-values | 115 | (call-with-values |
| 110 | (lambda () | 116 | (lambda () |
| 111 | (partition | 117 | (partition |
| 112 | (lambda (variant) | 118 | (lambda (variant) |
| 113 | (let ((name (x11-keymap-variant-name variant))) | 119 | (and variant |
| 114 | (string=? name "altgr-intl"))) | 120 | (let ((name (x11-keymap-variant-name variant))) |
| 121 | (string=? name "altgr-intl")))) | ||
| 115 | variants)) | 122 | variants)) |
| 116 | (cut append <> <>))) | 123 | (cut append <> <>))) |
| 117 | 124 | ||
| @@ -180,10 +187,14 @@ options." | |||
| 180 | ;; Return #f if the layout does not have any variant. | 187 | ;; Return #f if the layout does not have any variant. |
| 181 | (and (not (null? variants)) | 188 | (and (not (null? variants)) |
| 182 | (run-variant-page | 189 | (run-variant-page |
| 183 | (sort-variants variants) | 190 | (sort-variants (add-empty-variant variants)) |
| 184 | (lambda (variant) | 191 | (lambda (variant) |
| 185 | (gettext (x11-keymap-variant-description variant) | 192 | (if variant |
| 186 | "xkeyboard-config")))))))))) | 193 | (gettext (x11-keymap-variant-description variant) |
| 194 | "xkeyboard-config") | ||
| 195 | ;; Text to opt for no variant at all: | ||
| 196 | (gettext (x11-keymap-layout-description layout) | ||
| 197 | "xkeyboard-config"))))))))))) | ||
| 187 | 198 | ||
| 188 | (define (format-result result) | 199 | (define (format-result result) |
| 189 | (let ((layout (x11-keymap-layout-name | 200 | (let ((layout (x11-keymap-layout-name |
