tk man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

TK(2)									 TK(2)

NAME
       Tk:  toplevel,  namechan,  cmd,	pointer, keyboard, imageget, imageput,
       quote, rect - graphics toolkit

SYNOPSIS
       include "draw.m";
       include "tk.m";
       tk := load Tk Tk->PATH;
       Image:	 import Draw;

       Toplevel: adt
       {
	   display:    ref Draw->Display;
	   wreq:       chan of string;
	   image:      ref Image;
	   ctxt:       ref Draw->Wmcontext;
	   screenr:    Draw->Rect;
       };

       toplevel: fn(display: ref Draw->Display, arg: string): ref Toplevel;
       namechan: fn(top: ref Toplevel, c: chan of string, n: string): string;
       cmd:	 fn(top: ref Toplevel, arg: string): string;
       pointer:	   fn(top: ref Toplevel, p: Draw->Pointer);
       keyboard: fn(top: ref Toplevel, key: int);
       getimage: fn(top: ref Toplevel, name: string):
		    (ref Image, ref Image, string);
       putimage: fn(top: ref Toplevel, name: string, i, m: ref Image): string;
       rect:	 fn(top: ref Toplevel, name: string, flags: int): Draw->Rect;
       quote:	 fn(s: string): string;
       color:	 fn(s: string): int;

DESCRIPTION
       The Tk module provides primitives for building user  interfaces,	 based
       on Ousterhout's Tcl/TK.	The interface to the toolkit itself is primar‐
       ily the passing of strings to and from  the  elements  of  the  toolkit
       using  the cmd function; see section 9 of this manual for more informa‐
       tion about the syntax of those strings.	Tkclient(2) is	conventionally
       used to create tk windows that interact correctly with a running window
       manager.

       Toplevel creates a new window called a Toplevel,	 which	is  under  the
       control	of  the Tk toolkit, on an existing display, usually one inher‐
       ited from the graphics Context (see draw-context(2)).  The Toplevel  is
       passed  to cmd and namechan (q.v.)  to drive the widgets in the window.
       Arg is a string containing creation options (such  as  -borderwidth  2)
       that are applied when creating the toplevel window.

       Cmd passes command strings to the widgets in the Toplevel t and returns
       the string resulting from their execution.  For example, given a canvas
       .c in the Toplevel t,
	   x := int tk->cmd(t, ".c cget -actx");
       returns the integer x coordinate of the canvas.

       Bindings	 can  be created in a Toplevel that trigger strings to be sent
       on Limbo channels.  Such channels must be declared  to  the  Tk	module
       using  namechan.	  For  example, to create a button that sends the word
       Ouch when it is pressed:
	   hitchannel := chan of string;
	   tk->namechan(t, hitchannel, "channel");
	   tk->cmd(t,
		"button .b.Hit -text Hit -command {send channel Ouch}");
	   expl := <-hitchannel;     # will see Ouch when button pressed

       Pointer and keyboard pass mouse and keyboard events to a Tk window  for
       delivery	 to  widgets;  they  must be called by each application, which
       usually receives them via a Wmcontext structure	(see  draw-context(2))
       obtained from the window manager, often via tkclient(2).

       Putimage	 passes an image and a mask into Tk.  If name is the name of a
       Tk widget, it must be either a panel(9) widget, or a top	 level	widget
       (ie,  ``.'')   ``.'')   or  a menu widget, in which case the associated
       image or window image is set to i.  (m is ignored  for  menu  and  top-
       level  widgets.)	  Otherwise,  name  must  be  the  name of an existing
       image(9) which has its image and mask set to copies of i and m  respec‐
       tively.

       Initially,  a  Tk  toplevel  has	 no image to draw on.  Tk uses wreq to
       request new images of an external authority, and to inform said author‐
       ity  when  the images are to be deleted.	 The requests are formatted as
       per quoted in string(2), and hold one of the following:

       !reshape name reqid minx miny maxx maxy
	      A new image for name is requested (name is either	 the  toplevel
	      widget  or  a menu).  The desired rectangle for the new image is
	      given by [minx miny  maxx	 maxy],	 and  the  application	should
	      respond by creating a new image and using putimage to pass it to
	      Tk.  Reqid is used by Tk to filter out responses to  out-of-date
	      requests;	 when responding to a reshape request, the name passed
	      to putimage should have a space and reqid appended.  Tkclient(2)
	      usually deals with the details of this.

       delete name
	      The  image  name has been deleted. This is generated for menu(9)
	      widgets when they are unmapped.

       raise name
	      Tk widget name should be raised above other windows on the  same
	      screen.

       lower name
	      Tk  widget  name	should be lowered beneath other windows on the
	      same screen.

       Wreq may be set to nil if  an  application  is  not  prepared  to  read
       requests sent on this channel.

       Rect  returns  the  bounding  rectangle	of  widget name in top.	 Flags
       determines the form of rectangle	 returned.   If	 flags	is  zero,  the
       actual  rectangle of name in screen coordinates, not including its bor‐
       der, is returned. The bitmask flags that can change this are:

       Border Include the widget's border.

       Required
	      Return the rectangle required by the  widget,  rather  than  the
	      rectangle that has been actually allocated to it.

       Local  Return the rectangle in coordinates relative to the logical ori‐
	      gin of the actual top level image.

       Quote returns a string that is the same as its arguments, but  enclosed
       in  curly  braces  and with internal curly braces escaped.  This can be
       used to make an arbitrary string into a word suitable as an argument to
       a Tk function.

       Color  returns  a  colour in 32-bit RGBA format corresponding to the tk
       colour name s.  (see types(9) for details).

       Screenr gives the rectangle of the screen containing the toplevel  win‐
       dow.   Tk  has no a priori way of knowing what this is; it is initially
       set to the rectangle of the display image, and may be set by the appli‐
       cation if it knows better (e.g. from the wmrect file served by wm(1)).

SOURCE
       /libinterp/tk.c
       /libtk/*.c

SEE ALSO
       intro(9),  image(9),  panel(9),	tkcmd(1),  sh-tk(1),  draw-context(2),
       tkclient(2), wmlib(2)
       `An Overview of Limbo/Tk', this manual, Volume 2.

									 TK(2)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net