+#+sbcl
+(defun clg-init-with-threading (&optional display)
+ "Initializes the system and starts the event handling"
+ (unless (gdk:display-get-default)
+ (gdk:gdk-init)
+ (gdk:threads-set-lock-functions)
+ (unless (gtk-init)
+ (error "Initialization of GTK+ failed."))
+ (sb-thread:make-thread
+ #'(lambda ()
+ (gdk:display-open display)
+ (gdk:with-global-lock (main)))
+ :name "gtk event loop")))
+
+