diff --git a/main.rkt b/main.rkt new file mode 100644 index 0000000..b35f995 --- /dev/null +++ b/main.rkt @@ -0,0 +1,4 @@ +#lang racket/base + +(require "private/web-wire.rkt") +(provide (all-from-out "private/web-wire.rkt")) diff --git a/private/web-wire.rkt b/private/web-wire.rkt new file mode 100644 index 0000000..4643064 --- /dev/null +++ b/private/web-wire.rkt @@ -0,0 +1,63 @@ +(module web-wire racket/base + + (require racket/system + ) + + (provide ww-start + ww + ww-stop + + ww-new + ww-move + ww-resize + ww-set-title + ww-set-icon + ) + + + (define-struct ww + ( + [win #:auto #:mutable] + [process-handler #:auto #:mutable] + [cb-move #:auto #:mutable] + [cb-resize #:auto #:mutable] + + ) + #:auto-value #f + ) + + (define (ww-start) + (let* ((cwd (current-directory)) + (bin (build-path cwd ".." "bin" "linux" "web-wire")) + (ww (make-ww)) + (ports (process bin))) + (let* ((in (car ports)) + (out (cadr ports)) + (pid (caddr ports)) + (err (cadddr ports)) + ) + (set-ww-process-handler! (thread + (displayln bin) + (let ((ports (process bin))) + + #t)) + + (define (ww-stop) + #t) + + (define (ww-new) + #t) + + (define (ww-move) + #t) + + (define (ww-resize) + #t) + + (define (ww-set-title) + #t) + + (define (ww-set-icon) + #t) + + ); end of module \ No newline at end of file