X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/1e5024665aa88cc70a5639b3a85fbc6469188b85..203681e230fc5783f54dabe79d765f4c4cec0351:/hello-world.lisp?ds=sidebyside diff --git a/hello-world.lisp b/hello-world.lisp index 0f4b5ec..9af70ab 100644 --- a/hello-world.lisp +++ b/hello-world.lisp @@ -1,15 +1,19 @@ -(in-package "GTK") - -(make-instance 'window - :type :toplevel - :title "Test" - :border-width 5 - :show-all t - :child (make-instance 'button - :label "Hello World!" - :signal (list 'clicked - #'(lambda (button) - (print button) (write-line "clicked")) - :object t))) - +(gtk:clg-init) +(gtk:within-main-loop + (make-instance 'gtk:window +; :type :toplevel + :title "Test" + :border-width 5 + :visible t :show-children t + :child (make-instance 'gtk:button + :label "Hello World!" + :signal (list 'clicked + #'(lambda () + (write-line "Hello World!")))) + :signal (list 'delete-event + #'(lambda (event) + (declare (ignore event)) + (write-line "Destroying window") + nil ; Returning NIL generates a destroy event + ))))