You should have received a copy of the GNU General Public License
along with MIT/GNU Scheme; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301, USA.
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+ USA.
+
-mit-scheme-x11-screen 0.2 - Matt Birkholz, 2017-05-23
-=====================================================
++mit-scheme-pucked-x11-screen 0.2.1 - Matt Birkholz, 2017-05-23
++==============================================================
+
-Updated to use new string procedures, with help from Chris Hanson.
++New upstream using new string procedures.
-mit-scheme-x11-screen 0.1 - Matt Birkholz, 2016-05-25
-=====================================================
+mit-scheme-pucked-x11-screen 0.1.1 - Matt Birkholz, 2017-03-01
+==============================================================
- * Stolen from MIT/GNU Scheme.
+ The Edwin display type x11-screen is now a separately buildable and
+ installable automake package. It requires MIT/GNU Scheme with an x11
+ plugin to build and operate.
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([MIT/GNU Scheme Edwin X11 Screen plugin],
- [0.2],
- [bug-mit-scheme@gnu.org],
- [mit-scheme-x11-screen])
+AC_INIT([MIT/GNU Scheme Pucked Edwin X11 Screen plugin],
- [0.1.1],
++ [0.2.1],
+ [matt@birchwood-abbey.net],
+ [mit-scheme-pucked-x11-screen])
AC_CONFIG_SRCDIR([x11-screen.pkg])
AC_COPYRIGHT(
(with-loader-base-uri (system-library-uri "x11-screen/")
(lambda ()
(load-package-set "x11-screen")))
- (add-subsystem-identification! "X11-Screen" '(0 1))
-(add-subsystem-identification! "X11-Screen" '(0 2))
-
-;; Reassign (edwin x-commands) bindings created by the define-
-;; primitives form. Reassign them to their replacements in the (x11)
-;; package.
-(let ((xcom (->environment '(edwin x-commands)))
- (x11 (->environment '(x11))))
- (for-each (lambda (name)
- (environment-assign! xcom name (environment-lookup x11 name)))
- '(x-list-fonts
- x-set-default-font
- x-window-clear
- x-window-get-position
- x-window-get-size
- x-window-lower
- x-window-raise
- x-window-set-background-color
- x-window-set-border-color
- x-window-set-border-width
- x-window-set-cursor-color
- x-window-set-font
- x-window-set-foreground-color
- x-window-set-internal-border-width
- x-window-set-mouse-color
- x-window-set-mouse-shape
- x-window-set-position
- x-window-set-size
- x-window-x-size
- x-window-y-size
- xterm-reconfigure
- xterm-set-size
- xterm-x-size
- xterm-y-size)))
-
-;; Reassign (edwin screen x-screen) bindings exported to (edwin).
-(let ((edwin (->environment '(edwin)))
- (x11 (->environment '(edwin screen x11-screen))))
- (for-each (lambda (name)
- (environment-assign! edwin name (environment-lookup x11 name)))
- '(edwin-variable$x-cut-to-clipboard
- edwin-variable$x-paste-from-clipboard
- os/interprogram-cut
- os/interprogram-paste
- x-root-window-size
- x-screen-ignore-focus-button?
- x-selection-timeout
- xterm-screen/flush!
- xterm-screen/grab-focus!)))
-
-;; Reassign (edwin screen x-screen) bindings exported to (edwin x-commands).
-(let ((edwin (->environment '(edwin x-commands)))
- (x11 (->environment '(edwin screen x11-screen))))
- (for-each (lambda (name)
- (environment-assign! edwin name (environment-lookup x11 name)))
- '(screen-display
- screen-xterm
- xterm-screen/set-icon-name
- xterm-screen/set-name)))
-
-;; Remove the X display type. If it stays on the list, its available?
-;; operation will load the prx11 microcode module which contains
-;; conflicting definitions for symbols like xterm_open_window.
-(let ((env (->environment '(edwin display-type))))
- (set! (access display-types env)
- (filter (lambda (display-type)
- (not (eq? 'X ((access display-type/name env) display-type))))
- (access display-types env))))
++(add-subsystem-identification! "X11-Screen" '(0 2 1))
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301, USA.
-mit-scheme-x11 0.2 - Matt Birkholz, 2017-05-23
-==============================================
+mit-scheme-pucked-x11 0.2.1 - Matt Birkholz, 2017-03-18
+=======================================================
- * New upstream converts strings (atom names and xterm content) to UTF8
- bytes for the foreign library. This should be transparent if you
- were using standard ASCII property names and writing only ASCII
- graphical characters to your xterms.
-Use new Unicode support. Convert (restrict) strings (atom names and
-xterm content) to iso8859-1. This should be transparent if you were
-using standard Latin1 property names and writing only Latin1 graphical
++New upstream converts (restricts) strings (atom names and xterm
++content) to iso8859-1. This should be transparent if you were using
++standard Latin1 property names and writing only Latin1 graphical
+ characters to your xterms.
-mit-scheme-x11 0.1 - Matt Birkholz, 2016-02-19
-==============================================
+mit-scheme-pucked-x11 0.1.1 - Matt Birkholz, 2017-03-01
+=======================================================
- * Stolen from MIT/GNU Scheme.
-Converted to a libtool plugin. Moved X11 data parsing
-(x_event_to_object) to Scheme/FFI code.
++* Stole v0.1 from MIT/GNU Scheme.
The X11 option.
- This plugin creates an (x11) package emulating the primitives of the
- old x11 microcode module. Its (x11 device) package registers a
- graphics device type named X11, an exact replacement for the micro-
- module based X graphics type. When this option is loaded, with the
- DISPLAY environment variable set, make-graphics-device will display an
- X11 window by default.
-
- This plugin is built in the customary GNU way:
-This plugin creates an (x11) package, a drop-in replacement for the
-microcode module based (runtime x-graphics) package. It is built in
-the customary GNU way:
++This plugin creates an (x11) package that registers a graphics device
++type named X11, an exact replacement for the microcode module based X
++graphics device type. The plugin is built in the customary GNU way:
./configure ...
make all check install
To load:
- (load-option 'X11)
+ (load-option 'x11)
+
-Loading this plugin re-assigns the bindings in (runtime x-graphics).
-Any existing X graphics devices will stop working, and make-graphics-
-device will begin creating X11 graphics devices instead.
++If the DISPLAY environment variable set, make-graphics-device will
++create an X11 window by default.
To import into a CREF package set, add this to your .pkg file:
(with-loader-base-uri (system-library-uri "x11/")
(lambda ()
(load-package-set "x11")))
- (add-subsystem-identification! "X11" '(0 1))
-(add-subsystem-identification! "X11" '(0 2))
-
-;; Until the microcode module based X Graphics system is removed,
-;; reassign the define-primitives bindings in (runtime x-graphics) to
-;; their replacements in (x11).
-(let ((x-graphics (->environment '(runtime x-graphics)))
- (x11 (->environment '(x11))))
- (for-each (lambda (name)
- (environment-assign! x-graphics name
- (environment-lookup x11 name)))
- '(
- x-close-all-displays
- x-display-descriptor
- x-display-get-default
- x-display-process-events
- x-font-structure
- x-window-beep
- x-window-clear
- x-window-colormap
- x-window-depth
- x-window-event-mask
- x-window-flush
- x-window-iconify
- x-window-id
- x-window-lower
- x-window-map
- x-window-query-pointer
- x-window-raise
- x-window-set-background-color
- x-window-set-border-color
- x-window-set-border-width
- x-window-set-cursor-color
- x-window-set-event-mask
- x-window-set-font
- x-window-set-foreground-color
- x-window-set-icon-name
- x-window-set-input-hint
- x-window-set-internal-border-width
- x-window-set-mouse-color
- x-window-set-mouse-shape
- x-window-set-name
- x-window-set-position
- x-window-set-size
- ;; x-window-starbase-filename No such primitive!
- x-window-visual
- x-window-withdraw
- x-window-x-size
- x-window-y-size
- x-graphics-copy-area
- x-graphics-drag-cursor
- x-graphics-draw-arc
- x-graphics-draw-line
- x-graphics-draw-lines
- x-graphics-draw-point
- x-graphics-draw-points
- x-graphics-draw-string
- x-graphics-draw-image-string
- x-graphics-fill-polygon
- x-graphics-map-x-coordinate
- x-graphics-map-y-coordinate
- x-graphics-move-cursor
- x-graphics-open-window
- x-graphics-reconfigure
- x-graphics-reset-clip-rectangle
- x-graphics-set-clip-rectangle
- x-graphics-set-dashes
- x-graphics-set-fill-style
- x-graphics-set-function
- x-graphics-set-line-style
- x-graphics-set-vdc-extent
- x-graphics-vdc-extent
- x-bytes-into-image
- x-create-image
- x-destroy-image
- x-display-image
- x-get-pixel-from-image
- x-set-pixel-in-image
- x-allocate-color
- x-create-colormap
- x-free-colormap
- x-query-color
- x-set-window-colormap
- x-store-color
- x-store-colors
- x-visual-deallocate)))
-
-;; Check that these (integrated!) constants DO "match" the C
-;; constants, just because we can (with the FFI's help).
-(let ((x-graphics (->environment '(runtime x-graphics)))
- (x11 (->environment '(x11))))
- (for-each (lambda (name)
- (if (not (equal? (environment-lookup x-graphics name)
- (environment-lookup x11 name)))
- (warn "Incorrect C constant in (runtime x-graphics):" name)))
- '(event-type:button-down
- event-type:button-up
- event-type:configure
- event-type:enter
- event-type:focus-in
- event-type:focus-out
- event-type:key-press
- event-type:leave
- event-type:motion
- event-type:expose
- event-type:delete-window
- event-type:map
- event-type:unmap
- event-type:take-focus
- event-type:visibility
- number-of-event-types)))
++(add-subsystem-identification! "X11" '(0 2 1))
(define-package (x11 base)
(files "x11-base")
(parent (x11))
+ (export ()
+ x-close-all-displays)
+ (import (runtime ustring)
+ cp1-ref
+ ustring-cp-size
+ ustring?)
(export (x11)
x-visual-deallocate
x-close-display