Add resize-screen.
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Wed, 1 Sep 1993 18:06:16 +0000 (18:06 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Wed, 1 Sep 1993 18:06:16 +0000 (18:06 +0000)
v7/src/edwin/tterm.scm

index 54e57c982510771b6a8d95dd7ecfd54decc3aed5..96504443fccb4b3b19f48d4e6f60e82ec0c126f6 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: tterm.scm,v 1.22 1993/08/02 04:22:51 cph Exp $
+$Id: tterm.scm,v 1.23 1993/09/01 18:06:16 gjr Exp $
 
 Copyright (c) 1990-1993 Massachusetts Institute of Technology
 
@@ -1079,4 +1079,20 @@ Note that the multiply factors are in tenths of characters.  |#
            (let ((n (fix:- n factor-n)))
              (vector-set! overhead y (fix:quotient (fix:+ o n) 10))
              (loop (fix:1+ y) (fix:- o factor-1) n)))))
-    (values overhead factor)))
\ No newline at end of file
+    (values overhead factor)))
+
+(define (resize-screen)
+  (let* ((screen (selected-screen))
+        (state (screen-state screen)))
+    (if (not (terminal-state? state))
+       (editor-error "Not a terminal screen")
+       (let ((port console-output-port)
+             (desc (terminal-state/description state)))
+         (let ((x-size (output-port/x-size port))
+               (y-size (output-port/y-size port)))
+           (without-interrupts
+            (lambda ()
+              (set-tn-x-size! desc x-size)
+              (set-tn-y-size! desc y-size)
+              (set-screen-size! screen x-size y-size)))
+           (update-screen! screen #t))))))
\ No newline at end of file