diff --git a/demos/01-demo.lisp b/demos/01-demo.lisp index 6130a39..ab6ded5 100644 --- a/demos/01-demo.lisp +++ b/demos/01-demo.lisp @@ -175,7 +175,7 @@ (display-splash body) (start-game body)) -(defun start-demo () +(defun start-demo (&key (host "0.0.0.0") (port 8080)) "Start demo." - (initialize 'on-new-window) - (open-browser)) + (initialize 'on-new-window :host host :port port) + (open-browser :url (format nil "http://127.0.0.1:~A" port))) diff --git a/run-builder b/run-builder index b1b56cd..eeea7c9 100755 --- a/run-builder +++ b/run-builder @@ -1 +1 @@ -sbcl --eval "(ql:quickload :clog/tools)" --eval "(clog-tools:clog-builder :app t)" +sbcl --eval "(ql:quickload :clog/tools)" --eval "(clog-tools:clog-builder :port 0 :app t :start-browser t)" diff --git a/tools/clog-builder.lisp b/tools/clog-builder.lisp index 2b20056..8a84771 100644 --- a/tools/clog-builder.lisp +++ b/tools/clog-builder.lisp @@ -2637,8 +2637,10 @@ of controls and double click to select control." (defparameter *app-mode* nil) -(defun clog-builder (&key (port 8080) app project static-root system) - "Start clog-builder." +(defun clog-builder (&key (port 8080) (start-browser t) + app project static-root system) + "Start clog-builder. When port is 0 choose a random port. When app is +t, shutdown clog on termination of first window." (if project (setf *start-project* (string-downcase (format nil "~A" project))) (setf *start-project* nil)) @@ -2646,7 +2648,8 @@ of controls and double click to select control." (setf static-root (merge-pathnames "./www/" (asdf:system-source-directory system)))) (when app - (setf *app-mode* t) + (setf *app-mode* t)) + (when (eql port 0) (setf port (clog-connection:random-port))) (if static-root (initialize nil :port port :static-root static-root) @@ -2655,4 +2658,5 @@ of controls and double click to select control." (set-on-new-window 'on-new-db-admin :path "/dbadmin") (set-on-new-window 'on-attach-builder-page :path "/builder-page") (set-on-new-window 'on-convert-image :path "/image-to-data") - (open-browser :url (format nil "http://127.0.0.1:~A/builder" port))) + (when start-browser + (open-browser :url (format nil "http://127.0.0.1:~A/builder" port))))