1wish(1)                         Tk Applications                        wish(1)


8       wish - Simple windowing shell


11       wish ?-encoding name? ?fileName arg arg ...?


14       -encoding name      Specifies  the encoding of the text stored in file‐
15                           Name.  This option is only recognized prior to  the
16                           fileName argument.
18       -colormap new       Specifies that the window should have a new private
19                           colormap instead of using the default colormap  for
20                           the screen.
22       -display display    Display (and screen) on which to display window.
24       -geometry geometry  Initial geometry to use for window.  If this option
25                           is specified, its value is stored in  the  geometry
26                           global  variable  of  the  application's Tcl inter‐
27                           preter.
29       -name name          Use name as the title to be displayed in  the  win‐
30                           dow,  and  as  the name of the interpreter for send
31                           commands.
33       -sync               Execute all X  server  commands  synchronously,  so
34                           that  errors  are  reported immediately.  This will
35                           result in much slower execution, but it  is  useful
36                           for debugging.
38       -use id             Specifies  that the main window for the application
39                           is to be embedded in the window whose identifier is
40                           id,  instead  of  being  created  as an independent
41                           toplevel window.  Id must be specified in the  same
42                           way  as  the value for the -use option for toplevel
43                           widgets (i.e.  it has a form like that returned  by
44                           the winfo id command).
45                           Note  that  on  some  platforms this will only work
46                           correctly if id refers to a Tk  frame  or  toplevel
47                           that has its -container option enabled.
49       -visual visual      Specifies the visual to use for the window.  Visual
50                           may  have  any  of  the  forms  supported  by   the
51                           Tk_GetVisual procedure.
53       --                  Pass   all   remaining  arguments  through  to  the
54                           script's argv variable without  interpreting  them.
55                           This  provides  a  mechanism  for passing arguments
56                           such as -name to a script instead  of  having  wish
57                           interpret them.


61       Wish is a simple program consisting of the Tcl command language, the Tk
62       toolkit, and a main program that reads commands from standard input  or
63       from a file.  It creates a main window and then processes Tcl commands.
64       If wish is invoked  with  arguments,  then  the  first  few  arguments,
65       ?-encoding  name?  ?fileName?,  specify the name of a script file, and,
66       optionally, the encoding of the text data stored in that  script  file.
67       A value for fileName is recognized if the appropriate argument does not
68       start with “-”.
70       If there are no arguments, or the arguments do not specify a  fileName,
71       then  wish  reads  Tcl  commands interactively from standard input.  It
72       will continue processing commands until all windows have  been  deleted
73       or  until  end-of-file is reached on standard input.  If there exists a
74       file “.wishrc” in the home directory of the user,  wish  evaluates  the
75       file  as  a Tcl script just before reading the first command from stan‐
76       dard input.
78       If arguments to wish do specify a fileName, then fileName is treated as
79       the  name  of a script file.  Wish will evaluate the script in fileName
80       (which presumably creates a user interface), then it  will  respond  to
81       events  until all windows have been deleted.  Commands will not be read
82       from standard input.  There is no  automatic  evaluation  of  “.wishrc
83       when  the  name of a script file is presented on the wish command line,
84       but the script file can always source it if desired.
86       Note that on Windows,  the  wishversion.exe  program  varies  from  the
87       tclshversion.exe  program  in  an additional important way: it does not
88       connect to a standard Windows console and is instead  a  windowed  pro‐
89       gram.  Because of this, it additionally provides access to its own con‐
90       sole command.


93       Wish automatically processes all of the command-line options  described
94       in the OPTIONS summary above.  Any other command-line arguments besides
95       these are passed through to the application using  the  argc  and  argv
96       variables described later.


99       The  name  of  the application, which is used for purposes such as send
100       commands, is taken from the -name option, if it is  specified;   other‐
101       wise it is taken from fileName, if it is specified, or from the command
102       name by which wish was invoked.  In the last two  cases,  if  the  name
103       contains a “/” character, then only the characters after the last slash
104       are used as the application name.
106       The class of the application, which is used for purposes such as speci‐
107       fying  options  with a RESOURCE_MANAGER property or .Xdefaults file, is
108       the same as its name except that the first letter is capitalized.


111       Wish sets the following Tcl variables:
113       argc           Contains a count of the number of arg  arguments  (0  if
114                      none), not including the options described above.
116       argv           Contains a Tcl list whose elements are the arg arguments
117                      that follow a -- option or  do  not  match  any  of  the
118                      options  described  in  OPTIONS  above,  in order, or an
119                      empty string if there are no such arguments.
121       argv0          Contains fileName if it was specified.  Otherwise,  con‐
122                      tains the name by which wish was invoked.
124       geometry       If  the  -geometry  option is specified, wish copies its
125                      value into this variable.  If the variable still  exists
126                      after  fileName  has been evaluated, wish uses the value
127                      of the variable in a wm geometry command to set the main
128                      window's geometry.
130       tcl_interactive
131                      Contains  1  if  wish  is reading commands interactively
132                      (fileName was not specified and standard input is a ter‐
133                      minal-like device), 0 otherwise.


136       If you create a Tcl script in a file whose first line is
137              #!/usr/local/bin/wish
138       then  you  can  invoke  the script file directly from your shell if you
139       mark it as executable.  This assumes that wish has  been  installed  in
140       the  default  location in /usr/local/bin;  if it is installed somewhere
141       else then you will have to modify the above line to match.   Many  UNIX
142       systems  do  not  allow  the  #!  line to exceed about 30 characters in
143       length, so be sure that the wish executable  can  be  accessed  with  a
144       short file name.
146       An  even better approach is to start your script files with the follow‐
147       ing three lines:
148              #!/bin/sh
149              # the next line restarts using wish \
150              exec wish "$0" ${1+"$@"}
151       This approach has three advantages over the approach  in  the  previous
152       paragraph.   First, the location of the wish binary does not have to be
153       hard-wired into the script:  it can be anywhere in  your  shell  search
154       path.   Second,  it gets around the 30-character file name limit in the
155       previous approach.  Third, this approach will  work  even  if  wish  is
156       itself  a shell script (this is done on some systems in order to handle
157       multiple architectures or operating systems:  the wish  script  selects
158       one  of  several  binaries  to run).  The three lines cause both sh and
159       wish to process the script, but the exec is only executed  by  sh.   sh
160       processes the script first;  it treats the second line as a comment and
161       executes the third line.  The exec statement cause the  shell  to  stop
162       processing and instead to start up wish to reprocess the entire script.
163       When wish starts up, it treats all three lines as comments,  since  the
164       backslash  at  the  end  of the second line causes the third line to be
165       treated as part of the comment on the second line.
167       The end of a script file may be marked either by the  physical  end  of
168       the medium, or by the character, “\032” (“\u001a”, control-Z).  If this
169       character is present in the file, the wish application will  read  text
170       up  to  but  not including the character.  An application that requires
171       this character in  the  file  may  encode  it  as  “\032”,  “\x1a”,  or
172       “\u001a”;  or  may  generate  it  by  use of commands such as format or
173       binary.


176       When wish is invoked interactively it normally prompts for each command
177       with  “%  ”.   You  can  change  the  prompt  by  setting the variables
178       tcl_prompt1 and tcl_prompt2.  If variable tcl_prompt1  exists  then  it
179       must consist of a Tcl script to output a prompt;  instead of outputting
180       a prompt wish will evaluate the script in  tcl_prompt1.   The  variable
181       tcl_prompt2  is  used  in a similar way when a newline is typed but the
182       current command is not yet complete; if tcl_prompt2 is not set then  no
183       prompt is output for incomplete commands.


186       tclsh(1), toplevel(n), Tk_Main(3), Tk_MainLoop(3), Tk_MainWindow(3)


189       application,  argument,  interpreter, prompt, script file, shell, tool‐
190       kit, toplevel
194Tk                                    8.0                              wish(1)