Initial import
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
#lang scribble/manual
|
||||
|
||||
@(require (for-label racket/base
|
||||
racket/class
|
||||
racket/gui/base
|
||||
racket-tray))
|
||||
|
||||
@title{Racket Tray}
|
||||
@author{hnmdijkema}
|
||||
|
||||
@defmodule[racket-tray]
|
||||
|
||||
Racket Tray provides a small system-tray API. Version 0.1 supports Windows.
|
||||
The Windows implementation uses the native handle of an existing Racket GUI
|
||||
top-level window and does not require an additional native library.
|
||||
|
||||
@defproc[(mk-tray [frame (is-a?/c top-level-window<%>)]
|
||||
[icon-file path-string?]
|
||||
[on-click-cb (or/c #f (-> any))])
|
||||
any/c]{
|
||||
Creates a tray icon associated with @racket[frame]. @racket[icon-file] can be
|
||||
a Windows @tt{.ico} file or a @tt{.png} file. PNG alpha transparency is
|
||||
preserved. When the tray icon is activated, @racket[on-click-cb] is queued in
|
||||
the eventspace of @racket[frame]. The returned value is passed to the other
|
||||
procedures in this library.
|
||||
}
|
||||
|
||||
@defproc[(tray-close [tray any/c]) void?]{
|
||||
Removes the tray icon and releases the Windows resources associated with it.
|
||||
}
|
||||
|
||||
@defproc[(tray-set-icon! [tray any/c]
|
||||
[icon-file path-string?]) void?]{
|
||||
Replaces the icon of @racket[tray] with the icon loaded from
|
||||
@racket[icon-file]. Both @tt{.ico} and @tt{.png} files are accepted.
|
||||
}
|
||||
|
||||
@defproc[(tray-set-menu! [tray any/c]
|
||||
[menu any/c]) void?]{
|
||||
Sets the context menu for @racket[tray]. @racket[menu] can be a
|
||||
@racket[popup-menu%], @racket[#f], or a list. A list entry of the form
|
||||
@racket[(list label callback)] creates an item, while @racket['separator] or
|
||||
@racket[#f] creates a separator. Each callback is a zero-argument procedure.
|
||||
}
|
||||
Reference in New Issue
Block a user