; .EnTete "Le-Lisp (c) version 15.2" " " "Toplevel Multifene↑tres"
; .Section "Le TOPLEVEL multi-fenetres"
;
; .Centre "*****************************************************************"
; .Centre " Ce fichier est en lecture seule hors du projet ALE de l'INRIA.  "
; .Centre " Il est maintenu par ILOG SA, 2 Avenue Gallie'ni, 94250 Gentilly "
; .Centre " (c) Le-Lisp est une marque de'pose'e de l'INRIA                 "
; .Centre "*****************************************************************"

; .Centre "$Header: topwin.ll,v 4.2 88/11/18 14:50:31 neidl Exp $"

(unless (>= (version) 15.2)
        (error 'load 'erricf 'topwin))

(setq #:sys-package:colon 'topwindow)

;  De'finition des fene↑tres de type #:window:tty

(unless (getprop '#:image:rectangle:window:tty 'defstruct)
	(libload #u"ttywindow"))

(add-feature 'window)

(defvar topwindow)

(de topwindow i
    (cond ((null i)
           (not (not topwindow)))
          ((car i)
           (unless topwindow
                   (bitprologue)
                   (setq topwindow (create-window '#:window:tty
                                          0 0
                                          (div (bitxmax) 2)
                                          (div (bitymax) 2)
                                          "Le←Lisp : Toplevel" 1 0)
                         #:sys-package:itsoft 
                         (cons '#.#:sys-package:colon #:sys-package:itsoft))
                   (current-window topwindow)
                   (modify-window topwindow () () () () () () 1)))
          (t
            (tyflush)
            (current-window ())
            (kill-window topwindow)
            (setq topwindow ())
            (setq #:sys-package:itsoft
                  (delq '#.#:sys-package:colon #:sys-package:itsoft))
            (bitepilogue))))


; .SSection "Pepe dans les fene↑tres"
; Dans les fene↑tres sur tty Pepe est plus joli customise' de la manie`re
; suivante\ :

(when (featurep 'pepe)

(setq #:sys-package:colon 'pepe)

(defkey     #↑V (:nextscreen))

(defesckey  #/V (:prevscreen))

(defesckey  #/< (setq :ydisplay 0 :xcursor 0 :ycursor 0 :column 0))

(defesckey  #/> 
    (setq :ycursor (length :buffer)
          :ydisplay (max 0 (- :ycursor
                              (div #:tty:ymax 2)))
          :ycursor (- :ycursor :ydisplay 1))
    (:endline))
)