1wish(1) Tk Applications wish(1)
2
3
4
5______________________________________________________________________________
6
8 wish - Simple windowing shell
9
11 wish ?-encoding name? ?fileName arg arg ...?
12
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.
17
18 -colormap new Specifies that the window should have a new private
19 colormap instead of using the default colormap for
20 the screen.
21
22 -display display Display (and screen) on which to display window.
23
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.
28
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.
32
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.
37
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.
48
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.
52
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.
58_________________________________________________________________
59
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 “-”.
69
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.
77
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.
85
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.
91
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.
97
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.
105
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.
109
111 Wish sets the following Tcl variables:
112
113 argc Contains a count of the number of arg arguments (0 if
114 none), not including the options described above.
115
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.
120
121 argv0 Contains fileName if it was specified. Otherwise, con‐
122 tains the name by which wish was invoked.
123
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.
129
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.
134
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.
145
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.
166
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.
174
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.
184
186 shell, toolkit
187
188
189
190Tk 8.0 wish(1)