elk/scm/xwidgets.scm

52 lines
1.3 KiB
Scheme

;;; -*-Scheme-*-
;;;
;;; The Scheme part of the Xt extension.
;; kludge
(define site-lib-xt "")
(define site-force-load-xm "")
(define site-lib-xmotif "")
(if (feature? 'motif)
(fluid-let ((load-libraries
(string-append site-force-load-xm " " site-lib-xmotif " "
load-libraries)))
(require 'xaw.so 'xt-motif.so))
(fluid-let ((load-libraries
(string-append site-lib-xt " " load-libraries)))
(require 'xaw.so)))
(load 'xlib.scm)
(provide 'xlib)
(provide 'xt)
(define (manage-child w)
(manage-children (list w)))
(define (unmanage-child w)
(unmanage-children (list w)))
(define (add-callback w name fun)
(add-callbacks w name (list fun)))
(define (create-managed-widget . args)
(let ((w (apply create-widget args)))
(manage-child w)
w))
(define application-initialize #f)
(let ((con) (dpy) (app-class #f) (shell-class #f))
(set! application-initialize
(lambda (name . fallback-res)
(set! con (create-context))
(if (not (null? fallback-res))
(apply set-context-fallback-resources! con fallback-res))
(set! dpy (initialize-display con #f name app-class))
(create-shell name shell-class (find-class 'application-shell) dpy))))
;; Backwards compatibility:
(define widget-window widget->window)