sh-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]

SH-TK(1)							      SH-TK(1)

NAME
       tk, chan, send, recv, alt - loadable tk module for sh.

SYNOPSIS
       load tk

       chan name...
       send chan value
       tk window title [ args...  ]
       tk winctl winid cmd
       tk wintitle winid title
       tk namechan chan [ name ]
       tk del name
       tk winid tkcmd
       ${tk window title [ args...  ] }
       ${tk onscreen winid [ how ] }
       ${tk winid tkcmd }
       ${recv chan }
       ${alt chan  ...	}

DESCRIPTION
       Tk  is  a  loadable module for sh(1) that provides access to Inferno Tk
       graphics and string channels.  Most of the  builtin  commands  that  it
       defines	map  closely  to primitives within wmlib(2) and tk(2).	Unless
       otherwise stated, if a command requires a winid argument, if no	window
       with that id is found, a bad win exception is raised. Similarly, a ref‐
       erence to an unknown channel name will  raise  a	 bad  chan  exception.
       There  is  no  requirement that this module be used in a windowing con‐
       text: although window creation will fail if there is  no	 context,  the
       channel communication primitives will work regardless.

       chan	 For each name in turn, chan creates a new channel called name
		 within the tk module.	Name  henceforth  represents  a	 Limbo
		 chan  of string and can be used to send string values between
		 sh processes running in parallel. A  chan  is	also  used  to
		 receive  events arriving from the window manager. It is ille‐
		 gal to create a  channel  whose  name	consists  entirely  of
		 numeric digits.

       send	 Send sends its argument value down the channel chan, blocking
		 until a corresponding receive operation takes	place  on  the
		 channel.

       tk window Tk  window  creates  a	 new top-level window with the text of
		 title in the titlebar at the top. Each window created by  the
		 tk module is assigned a unique numeric id. This id is printed
		 by this command; to get access to the value of the winid in a
		 script,  use  ${tk  window}.  All the remaining arguments are
		 joined together by spaces and passed as the  tk  options  for
		 the  window.  When a window is created, a corresponding chan‐
		 nel of the same name is created. Events from the window  man‐
		 ager  arrive  on  this	 channel,  and	should be responded to
		 appropriately using tk winctl.

       tk onscreen
		 Tk onscreen must be called to make window winid  visible  for
		 the  first time, the same as onscreen in tkclient(2).	How is
		 the same as for that call - if	 given,	 it  must  be  one  of
		 place, onscreen or exact.

       tk winctl Tk  winctl is used to communicate requests to the window man‐
		 ager.	(see winctl() in wmlib(2)).  If an event arriving on a
		 window's  channel  is passed to tk winctl, a suitable default
		 action will take place.  The set of possible actions include:

		 exit	A request to close the window.

		 size	A request to resize the window.

		 task	A request to miniaturise the window.

		 move	A request to move the window.

       tk wintitle
		 Tk wintitle changes the title of the window winid to title.

       tk del	 Tk del deletes a channel or a window. If name is the winid of
		 an  existing  window, then both the window and its associated
		 channel are destroyed.	 A del of a  non-existent  channel  or
		 window is ignored.

       tk namechan
		 Tk  namechan  invokes	the Tk module's namechan() function to
		 give a tk name to a channel within the tk module.  If name is
		 omitted, then the tk name given will be the same as chan.

       tk winid	 If  winid  is	the  id of an existing window, the rest of the
		 arguments joined together by spaces and sent as a tk  command
		 to be interpreted in that window. If the shell is in interac‐
		 tive mode, then the string returned by tk  will  be  printed.
		 The  exit  status of tk is false if the string returned by tk
		 begins with a bang (!)	 character.

       ${tk window}
		 Tk window is the same as its command counterpart, except that
		 it  yields  the winid of the newly created window rather than
		 printing it.

       ${tk winid}
		 This command is the same as its command  counterpart,	except
		 that  it  yields  the return value from the Tk command as its
		 result.

       ${recv}	 Recv receives a string value from chan and yields that value.
		 It  will  block  until	 a  corresponding send operation takes
		 place on the channel.

       ${alt}	 Alt waits until a value is available  on  any	of  the	 named
		 chans.	 It yields a list containing two elements, the name of
		 the channel from which the value was received, and the actual
		 value received.

EXAMPLE
       The  following  code  creates a window and allows normal window manager
       operations on it. Another shell in a new process group  is  created  in
       order  to prevent the shell window from disappearing when the tk window
       is deleted.

	      sh
	      load std tk
	      pctl newpgrp
	      wid=${tk window 'My window'}
	      tk onscreen $wid
	      tk $wid update
	      while {} {tk winctl $wid ${recv $wid}} &

SOURCE
       /appl/cmd/sh/tk.b

SEE ALSO
       sh(1), sh-std(1), sh-expr(1), tkcmd(1), tk(2),  tkclient(2),  wmlib(2),
       ``The Tk Reference Manual''

								      SH-TK(1)
[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