;;; -*-Scheme-*- ;;; ;;; Demonstrate use of the WM_DELETE_WINDOW protocol. (require 'xlib) (let* ((dpy (open-display)) (del-atom (intern-atom dpy 'WM_DELETE_WINDOW)) (prot-atom (intern-atom dpy 'WM_PROTOCOLS)) (win (create-window 'parent (display-root-window dpy) 'width 100 'height 100 'background-pixel (white-pixel dpy)))) (set-wm-name! win '(fine)) (set-wm-protocols! win (vector del-atom)) (map-window win) (unwind-protect (handle-events dpy #t #f (client-message (lambda (event w type data) (and (eq? type prot-atom) (vector? data) (eq? (make-atom (vector-ref data 0)) del-atom))))) (close-display dpy)))