linux & mac support, refactoring on minimize

This commit is contained in:
2026-08-29 21:13:29 +02:00
parent c7137fc11f
commit 9f87eae8aa
9 changed files with 1760 additions and 535 deletions
+6 -4
View File
@@ -3,15 +3,17 @@
(require rackunit
racket-tray)
;; The public module must be loadable on every platform, even when no tray
;; backend is available for the current operating system.
;; The public module must be loadable on every package build host, including a
;; Linux host that does not have the optional AppIndicator runtime installed.
(check-true (procedure? mk-tray))
(check-true (procedure? tray-close))
(check-true (procedure? tray-set-icon!))
(check-true (procedure? tray-set-menu!))
;; Keep the keyword part of the public API testable without constructing a GUI
;; window or depending on Windows being available on the package build host.
;; Keep the public signature testable without opening a GUI window or requiring
;; any native tray implementation to be available on the build host.
(check-true (procedure-arity-includes? mk-tray 3))
(define-values (required-keywords allowed-keywords)
(procedure-keywords mk-tray))