1#lang racket/base 2(require ffi/unsafe) 3 4(provide gtk3? 5 get-gdk3-lib 6 get-gtk3-lib) 7 8(define (get-gdk3-lib) 9 (ffi-lib "libgdk-3" '("0" "") #:fail (lambda () #f))) 10(define (get-gtk3-lib) 11 ;; Open in "global" mode so that gtk_print_operation_run() 12 ;; can find the printer dialog using _g_module_symbol(): 13 (ffi-lib "libgtk-3" '("0" "") #:global? #t #:fail (lambda () #f))) 14 15(define gtk3? 16 (and (not (getenv "PLT_GTK2")) 17 (get-gdk3-lib) 18 (get-gtk3-lib))) 19