#| -*-Scheme-*-
-$Id: edwin.pkg,v 1.104 1992/11/20 18:24:38 cph Exp $
+$Id: edwin.pkg,v 1.105 1992/11/20 19:09:51 cph Exp $
Copyright (c) 1989-1992 Massachusetts Institute of Technology
x-button4-down
x-button4-up
x-button5-down
- x-button5-up))
+ x-button5-up)
+ (export (edwin screen x-screen)
+ update-xterm-screen-names!))
(define-package (edwin keys)
(files "key")
;;; -*-Scheme-*-
;;;
-;;; $Id: xcom.scm,v 1.9 1992/11/20 18:24:46 cph Exp $
+;;; $Id: xcom.scm,v 1.10 1992/11/20 19:10:04 cph Exp $
;;;
;;; Copyright (c) 1989-92 Massachusetts Institute of Technology
;;;
(lambda (name)
(xterm-screen/set-icon-name (selected-screen) name)))
+(define (update-xterm-screen-names! screen)
+ (let ((window
+ (if (and (selected-screen? screen) (within-typein-edit?))
+ (typein-edit-other-window)
+ (screen-selected-window screen))))
+ (let ((buffer (window-buffer window))
+ (update-name
+ (lambda (set-name format length)
+ (if format
+ (set-name
+ screen
+ (string-trim-right
+ (format-modeline-string window format length)))))))
+ (update-name xterm-screen/set-name
+ (ref-variable x-screen-name-format buffer)
+ (ref-variable x-screen-name-length buffer))
+ (update-name xterm-screen/set-icon-name
+ (ref-variable x-screen-icon-name-format buffer)
+ (ref-variable x-screen-icon-name-length buffer)))))
+
+(define-variable x-screen-name-format
+ "If not false, template for displaying X window name.
+Has same format as `mode-line-format'."
+ 'mode-line-buffer-identification)
+
+(define-variable x-screen-name-length
+ "Maximum length of X window name.
+Used only if `x-screen-name-format' is non-false."
+ 64
+ exact-nonnegative-integer?)
+
+(define-variable x-screen-icon-name-format
+ "If not false, template for displaying X window icon name.
+Has same format as `mode-line-format'."
+ "edwin")
+
+(define-variable x-screen-icon-name-length
+ "Maximum length of X window icon name.
+Used only if `x-screen-icon-name-format' is non-false."
+ 32
+ exact-nonnegative-integer?)
+
(define-command x-raise-screen
"Raise the editor screen so that it is not obscured by other X windows."
()
;;; -*-Scheme-*-
;;;
-;;; $Id: xterm.scm,v 1.36 1992/11/20 18:24:55 cph Exp $
+;;; $Id: xterm.scm,v 1.37 1992/11/20 19:10:11 cph Exp $
;;;
;;; Copyright (c) 1989-92 Massachusetts Institute of Technology
;;;
(begin
(set-screen-icon-name! screen name)
(x-window-set-icon-name (screen-xterm screen) name)))))
-\f
+
(define (xterm-screen/wrap-update! screen thunk)
(let ((finished? false))
(dynamic-wind
(update-xterm-screen-names! screen)
(set-screen-redisplay-flag! screen false)))
(xterm-screen/flush! screen)))))
-
-(define (update-xterm-screen-names! screen)
- (let ((window
- (if (and (selected-screen? screen) (within-typein-edit?))
- (typein-edit-other-window)
- (screen-selected-window screen))))
- (let ((buffer (window-buffer window))
- (update-name
- (lambda (set-name format length)
- (if format
- (set-name
- screen
- (string-trim-right
- (format-modeline-string window format length)))))))
- (update-name xterm-screen/set-name
- (ref-variable x-screen-name-format buffer)
- (ref-variable x-screen-name-length buffer))
- (update-name xterm-screen/set-icon-name
- (ref-variable x-screen-icon-name-format buffer)
- (ref-variable x-screen-icon-name-length buffer)))))
-
-(define-variable x-screen-name-format
- "If not false, template for displaying X window name.
-Has same format as `mode-line-format'."
- 'mode-line-buffer-identification)
-
-(define-variable x-screen-name-length
- "Maximum length of X window name.
-Used only if `x-screen-name-format' is non-false."
- 64
- exact-nonnegative-integer?)
-
-(define-variable x-screen-icon-name-format
- "If not false, template for displaying X window icon name.
-Has same format as `mode-line-format'."
- "edwin")
-
-(define-variable x-screen-icon-name-length
- "Maximum length of X window icon name.
-Used only if `x-screen-icon-name-format' is non-false."
- 32
- exact-nonnegative-integer?)
\f
(define (xterm-screen/discard! screen)
(set! screen-list (delq! screen screen-list))