Note: Many of the Tk 4.0 widgets take 'Standard Options' such as
-insertontime that are not implemented in Limbo/Tk. See Options not supported in Limbo/Tk.
bindThe bind command is perhaps the command that differs the most from Tk 4.0. Mostly, it is a subset of functionality that is implemented. One difference is that the tag that can be bound to can be one of only two things: the name of an existing widget, or the name all, which causes bindings for all of the widgets under the toplevel implicit in the command). The idea of a widget class is completely absent in Limbo/Tk. Event sequence specifications are also somewhat restricted. A sequence is either a single character (rune), meaning a KeyPress of that character, or a sequence of events in angle brackets. Events are separated by blanks or minus signs.widget
<event-event-...-event> command bindwidget
<event-event-...-event> + command
The following events are accepted:
Note: The characters cannot be specified using X11 names (for example, Return).
Note: Unlike Tk 4.0, if the mouse is moved with a button pressed, the Button event is delivered in combination with a Motion event as long as the button remains pressed.
The event sequence can contain any combination of the above events. They are treated as independent events, and if any of the events occur, the sequence matches. You cannot combine Key Presses of more than one key. As for delivery: events will not be combined, except that Motion events may be combined with button presses (possibly doubled).
The binding script argument has % substitution, as specified in Tk 4.0. However, only the following are implemented: %%, %b, %h, %s, %w, %x, %y, %A, %K, %W, %X, and %Y. The %s substitution gives the logical OR of the mouse buttons for mouse events, and the decimal value of the pressed character for key events. The %K substitution gives the pressed character in the form of four hexadecimal digits (not a textual string, as in Tk 4.0). The %A substitution will escape a {, }, or a \, so that it won't confuse the command string parser when used in a bind script.
image create bitmap [name] [options]As mentioned above, Limbo/Tk bitmaps are in fact full color images. If a maskfile is given, it may also have a depth greater than 1 bit; the meaning is that if a pixel of the mask is non-zero then the corresponding pixel of the image should be drawn.
button pathname
[options]
As in Tk 4.0 (but note difference in units for -height and -width).
canvas pathname
[options]
The postscript subcommand is not implemented.
checkbutton pathname
[options]
Un-implemented options: -indicatoron, -offvalue, -onvalue, and --selectimage. The flash and toggle subcommands are not implemented.
destroy [window window...]As in Tk 4.0.
entry pathname
[options]
The scan subcommand is not implemented. Many of the key bindings are not implemented because there is currently no way to type those keys to Inferno (for example, Home). Note difference in units for -height and -width.
focus window
The focus model in Inferno is different. Only one widget has the keyboard focus at any one time. Limbo/Tk does not maintain a private keyboard focus for each toplevel tree and automatically move the focus there whenever the tree is entered. (But canvas and text widgets do maintain a private keyboard focus.) The focus window command moves the keyboard focus to the given window. By default, the first press of the primary button in an entry, listbox or text widget causes the focus to be moved to that widget. Just entering a menu widget gives it the focus.
The -displayof, -force, and -lastfor options are not implemented.
frame pathname
[options]
Un-implemented options: class, colormap, and visual.
grab window
grab option [arg arg ...]
Limbo/Tk implements only global grabs, so the -global option is not recognized. The grab current command is not implemented. The grab command is not recognized as a synonym for grab set.
image option [arg arg ...]Only bitmap image types are implemented, but, as documented under bitmap, Inferno bitmaps are not just 1-bit deep. Thus, Inferno bitmaps are an implementation of both bitmap and photo types. However, Limbo/Tk does not recognized the wide variety of graphics formats that Tk 4.0 does. External programs are provided to convert from other formats, such as JPEG, into the Inferno bitmap format. The file descriptor syntax for specifying bitmaps is useful when an external program writes the bitmap to a file descriptor.
The -data and -maskdata options are not implemented.
label pathname
[options]
Un-implemented options: -justify and -wraplength. Note difference in units for -height and -width.
listbox pathname
[options]
The bbox and scan subcommands are not implemented. Note difference in units for -height and -width.
lower window
The belowThis optional parameter is not recognized.
menu pathname
[options]
Un-implemented options: -postcommand, -tearoff, -tearoff command, and -transient. In the add subcommand, the -accelerator, -indicatoron, and -selectimage options are not implemented. In the index subcommand, the last and pattern index forms are not implemented. The configure and entrycget subcommands are not implemented.
menubutton pathname
[options]
Un-implemented options: -indicatoron, -justify, and -wraplength.
pack option arg [arg...] pack slave [slave ...] [options] pack configure slave [slave ...] [options] pack forget slave [slave ...] pack propagate master [0 | 1] pack slaves masterThe info subcommand is not implemented.
radiobutton pathname [options]Unimplemented options: -indicatoron, -justify, -selectimage, and -wraplength. The flash subcommand is not implemented.
raise window
The aboveThis optional parameter is not recognized.
scale pathname [options]Unimplemented options: -digits and -variable.
scrollbar pathname [options]The old syntax of set and get is not supported.
send channame stringRather than sending things to a different application, the send channame string command sends a string along a given named Limbo channel, as described above.
text pathname [options]The dump subcommand is not implemented. The -regexp mode of the search subcommand is not implemented.
updateThe optional idletasks argument is not recognized.