[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: installer: Refresh config-window contents.
From: |
Danny Milosavljevic |
Subject: |
02/02: installer: Refresh config-window contents. |
Date: |
Sun, 9 Jul 2017 20:25:15 -0400 (EDT) |
dannym pushed a commit to branch wip-installer-2
in repository guix.
commit 2b2322714ad2aa333cebd85a9ce778333dbd2c5e
Author: Danny Milosavljevic <address@hidden>
Date: Mon Jul 10 02:21:51 2017 +0200
installer: Refresh config-window contents.
* gnu/system/installer/page.scm (page-refresh): Refresh config-window
contents.
* gnu/system/installer/configure.scm (configure-page-init): Add
config-window-port.
* gnu/system/installer/format.scm (format-page-init): Add
config-window-port.
* gnu/system/installer/install.scm (install-page-init): Add
config-window-port.
---
gnu/system/installer/configure.scm | 7 ++++---
gnu/system/installer/format.scm | 1 +
gnu/system/installer/install.scm | 2 +-
gnu/system/installer/page.scm | 12 +++++++++---
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/gnu/system/installer/configure.scm
b/gnu/system/installer/configure.scm
index 66593cd..19c241a 100644
--- a/gnu/system/installer/configure.scm
+++ b/gnu/system/installer/configure.scm
@@ -214,9 +214,10 @@
(getmaxy text-window)
0)))
- (let ((p (make-window-port (inner config-window))))
- (generate-guix-config p (getmaxx (inner config-window)))
- (force-output p))
+ (let ((port (open-output-string)))
+ (generate-guix-config port (getmaxx (inner config-window)))
+ (force-output port)
+ (page-set-datum! p 'config-window-port port))
(push-cursor (page-cursor-visibility p))
(page-set-datum! p 'navigation buttons)
diff --git a/gnu/system/installer/format.scm b/gnu/system/installer/format.scm
index d1bfc95..100651d 100644
--- a/gnu/system/installer/format.scm
+++ b/gnu/system/installer/format.scm
@@ -167,5 +167,6 @@ match those uuids read from the respective partitions"
(page-set-datum! p 'navigation buttons)
(page-set-datum! p 'text-window text-window)
(page-set-datum! p 'config-window config-window)
+ (page-set-datum! p 'config-window-port (open-output-string))
(buttons-post buttons bwin)
(buttons-select-by-symbol buttons 'cancel)))
diff --git a/gnu/system/installer/install.scm b/gnu/system/installer/install.scm
index a741552..765b283 100644
--- a/gnu/system/installer/install.scm
+++ b/gnu/system/installer/install.scm
@@ -149,7 +149,6 @@
(install-page-init page)
(page-set-initialised! page #t)))
-
(define (install-page-init p)
(let* ((s (page-surface p))
(text-window (derwin
@@ -181,5 +180,6 @@
(push-cursor (page-cursor-visibility p))
(page-set-datum! p 'navigation buttons)
(page-set-datum! p 'config-window (inner config-window))
+ (page-set-datum! p 'config-window-port (open-output-string))
(buttons-post buttons bwin)))
diff --git a/gnu/system/installer/page.scm b/gnu/system/installer/page.scm
index 1aab0cd..1666dc2 100644
--- a/gnu/system/installer/page.scm
+++ b/gnu/system/installer/page.scm
@@ -320,6 +320,7 @@ If a form is used it's assumed that the menu is not used
and vice versa."
(buttons (page-datum p 'navigation))
(menu (page-datum p 'menu))
(config-window (page-datum p 'config-window))
+ (config-window-port (page-datum p 'config-window-port))
(config-window-title (page-datum p 'config-window-title)))
(if menu
(begin
@@ -330,9 +331,14 @@ If a form is used it's assumed that the menu is not used
and vice versa."
(if form
(form-refresh form))
(if config-window
- (boxed-window-decoration-refresh config-window
- (or config-window-title
- "Output")))
+ (begin
+ (boxed-window-decoration-refresh config-window
+ (or config-window-title
+ "Output"))
+ (erase (inner config-window))
+ ; TODO scrolling...
+ (if config-window-port
+ (addstr (inner config-window) (get-output-string
config-window-port)))))
(move focused-window y x))))))
(define (page-enter p)