GUILE NCURSES 2.2: Compiling With the Panels Library

Next: , Previous: , Up: Panels Library [Contents][Index]


4.13.2 Compiling With the Panels Library

To use panels library functions, you have to use the module (ncurses panel).

#!/usr/bin/guile
!#
(use-modules (ncurses curses)
 (ncurses panel))
(define stdscr (initscr))
(let* ((win1 (newwin 5 10 5 5))
 (win2 (newwin 5 10 7 7)))
 (make-panel! win1)
 (make-panel! win2)
 (box win1 (acs-vline) (acs-hline))
 (addstr win1 "box 1" #:y 1 #:x 1)
 (box win2 (acs-vline) (acs-hline))
 (addstr win2 "box 2" #:y 1 #:x 1)
 (update-panels)
 (doupdate)
 (sleep 1)
 ;; Move panel 1 to the bottom
 (addstr win1 "bottom" #:y 1 #:x 1)
 (bottom-panel win1)
 (update-panels)
 (doupdate)
 (sleep 1)
 ;; Move panel 1 to the top
 (addstr win1 "top " #:y 1 #:x 1)
 (top-panel win1)
 (update-panels)
 (doupdate)
 (sleep 1)
 ;; Hide panel 1
 (addstr win1 "hide " #:y 1 #:x 1)
 (hide-panel win1)
 (update-panels)
 (doupdate)
 (sleep 1)
 ;; Unhide panel 1
 (addstr win1 "show " #:y 1 #:x 1)
 (show-panel win1)
 (update-panels)
 (doupdate)
 (sleep 1)
 ;; Move panel 1
 (addstr win1 "move " #:y 1 #:x 1)
 (move-panel win1 2 2)
 (update-panels)
 (doupdate)
 (sleep 1))
(endwin)

As you can see, above program follows a simple flow. The windows are created with newwin and then they are marked as panels with make-panel!. As we attach one panel after another, the stack of panels gets updated. To put them on screen update-panels and doupdate are called.

The panels can be brought to the front with top-panel or pushed to the back with bottom-panel. They can be removed with hide-panel, and then unhidden with show-panel.

AltStyle によって変換されたページ (->オリジナル) /