Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / man / mann / console.n
CommitLineData
920dae64
AT
1'\"
2'\" Copyright (c) 2001 Donal K. Fellows
3'\"
4'\" See the file "license.terms" for information on usage and redistribution
5'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
6'\"
7'\" RCS: @(#) $Id: console.n,v 1.4.4.1 2004/10/28 10:19:29 dkf Exp $
8'\"
9'\" The definitions below are for supplemental macros used in Tcl/Tk
10'\" manual entries.
11'\"
12'\" .AP type name in/out ?indent?
13'\" Start paragraph describing an argument to a library procedure.
14'\" type is type of argument (int, etc.), in/out is either "in", "out",
15'\" or "in/out" to describe whether procedure reads or modifies arg,
16'\" and indent is equivalent to second arg of .IP (shouldn't ever be
17'\" needed; use .AS below instead)
18'\"
19'\" .AS ?type? ?name?
20'\" Give maximum sizes of arguments for setting tab stops. Type and
21'\" name are examples of largest possible arguments that will be passed
22'\" to .AP later. If args are omitted, default tab stops are used.
23'\"
24'\" .BS
25'\" Start box enclosure. From here until next .BE, everything will be
26'\" enclosed in one large box.
27'\"
28'\" .BE
29'\" End of box enclosure.
30'\"
31'\" .CS
32'\" Begin code excerpt.
33'\"
34'\" .CE
35'\" End code excerpt.
36'\"
37'\" .VS ?version? ?br?
38'\" Begin vertical sidebar, for use in marking newly-changed parts
39'\" of man pages. The first argument is ignored and used for recording
40'\" the version when the .VS was added, so that the sidebars can be
41'\" found and removed when they reach a certain age. If another argument
42'\" is present, then a line break is forced before starting the sidebar.
43'\"
44'\" .VE
45'\" End of vertical sidebar.
46'\"
47'\" .DS
48'\" Begin an indented unfilled display.
49'\"
50'\" .DE
51'\" End of indented unfilled display.
52'\"
53'\" .SO
54'\" Start of list of standard options for a Tk widget. The
55'\" options follow on successive lines, in four columns separated
56'\" by tabs.
57'\"
58'\" .SE
59'\" End of list of standard options for a Tk widget.
60'\"
61'\" .OP cmdName dbName dbClass
62'\" Start of description of a specific option. cmdName gives the
63'\" option's name as specified in the class command, dbName gives
64'\" the option's name in the option database, and dbClass gives
65'\" the option's class in the option database.
66'\"
67'\" .UL arg1 arg2
68'\" Print arg1 underlined, then print arg2 normally.
69'\"
70'\" RCS: @(#) $Id: man.macros,v 1.4 2000/08/25 06:18:32 ericm Exp $
71'\"
72'\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
73.if t .wh -1.3i ^B
74.nr ^l \n(.l
75.ad b
76'\" # Start an argument description
77.de AP
78.ie !"\\$4"" .TP \\$4
79.el \{\
80. ie !"\\$2"" .TP \\n()Cu
81. el .TP 15
82.\}
83.ta \\n()Au \\n()Bu
84.ie !"\\$3"" \{\
85\&\\$1 \\fI\\$2\\fP (\\$3)
86.\".b
87.\}
88.el \{\
89.br
90.ie !"\\$2"" \{\
91\&\\$1 \\fI\\$2\\fP
92.\}
93.el \{\
94\&\\fI\\$1\\fP
95.\}
96.\}
97..
98'\" # define tabbing values for .AP
99.de AS
100.nr )A 10n
101.if !"\\$1"" .nr )A \\w'\\$1'u+3n
102.nr )B \\n()Au+15n
103.\"
104.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
105.nr )C \\n()Bu+\\w'(in/out)'u+2n
106..
107.AS Tcl_Interp Tcl_CreateInterp in/out
108'\" # BS - start boxed text
109'\" # ^y = starting y location
110'\" # ^b = 1
111.de BS
112.br
113.mk ^y
114.nr ^b 1u
115.if n .nf
116.if n .ti 0
117.if n \l'\\n(.lu\(ul'
118.if n .fi
119..
120'\" # BE - end boxed text (draw box now)
121.de BE
122.nf
123.ti 0
124.mk ^t
125.ie n \l'\\n(^lu\(ul'
126.el \{\
127.\" Draw four-sided box normally, but don't draw top of
128.\" box if the box started on an earlier page.
129.ie !\\n(^b-1 \{\
130\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
131.\}
132.el \}\
133\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
134.\}
135.\}
136.fi
137.br
138.nr ^b 0
139..
140'\" # VS - start vertical sidebar
141'\" # ^Y = starting y location
142'\" # ^v = 1 (for troff; for nroff this doesn't matter)
143.de VS
144.if !"\\$2"" .br
145.mk ^Y
146.ie n 'mc \s12\(br\s0
147.el .nr ^v 1u
148..
149'\" # VE - end of vertical sidebar
150.de VE
151.ie n 'mc
152.el \{\
153.ev 2
154.nf
155.ti 0
156.mk ^t
157\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
158.sp -1
159.fi
160.ev
161.\}
162.nr ^v 0
163..
164'\" # Special macro to handle page bottom: finish off current
165'\" # box/sidebar if in box/sidebar mode, then invoked standard
166'\" # page bottom macro.
167.de ^B
168.ev 2
169'ti 0
170'nf
171.mk ^t
172.if \\n(^b \{\
173.\" Draw three-sided box if this is the box's first page,
174.\" draw two sides but no top otherwise.
175.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
176.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
177.\}
178.if \\n(^v \{\
179.nr ^x \\n(^tu+1v-\\n(^Yu
180\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
181.\}
182.bp
183'fi
184.ev
185.if \\n(^b \{\
186.mk ^y
187.nr ^b 2
188.\}
189.if \\n(^v \{\
190.mk ^Y
191.\}
192..
193'\" # DS - begin display
194.de DS
195.RS
196.nf
197.sp
198..
199'\" # DE - end display
200.de DE
201.fi
202.RE
203.sp
204..
205'\" # SO - start of list of standard options
206.de SO
207.SH "STANDARD OPTIONS"
208.LP
209.nf
210.ta 5.5c 11c
211.ft B
212..
213'\" # SE - end of list of standard options
214.de SE
215.fi
216.ft R
217.LP
218See the \\fBoptions\\fR manual entry for details on the standard options.
219..
220'\" # OP - start of full description for a single option
221.de OP
222.LP
223.nf
224.ta 4c
225Command-Line Name: \\fB\\$1\\fR
226Database Name: \\fB\\$2\\fR
227Database Class: \\fB\\$3\\fR
228.fi
229.IP
230..
231'\" # CS - begin code excerpt
232.de CS
233.RS
234.nf
235.ta .25i .5i .75i 1i
236..
237'\" # CE - end code excerpt
238.de CE
239.fi
240.RE
241..
242.de UL
243\\$1\l'|0\(ul'\\$2
244..
245.TH console n 8.4 Tk "Tk Built-In Commands"
246.BS
247'\" Note: do not modify the .SH NAME line immediately below!
248.SH NAME
249console \- Control the console on systems without a real console
250.SH SYNOPSIS
251\fBconsole\fR \fIsubcommand\fR ?\fIarg ...\fR?
252.BE
253
254.SH DESCRIPTION
255.PP
256The console window is a replacement for a real console to allow input
257and output on the standard I/O channels on platforms that do not have
258a real console. It is implemented as a separate interpreter with the
259Tk toolkit loaded, and control over this interpreter is given through
260the \fBconsole\fR command. The behaviour of the console window is
261defined mainly through the contents of the \fIconsole.tcl\fR file in
262the Tk library (or the \fIConsole\fR resource on Macintosh systems.)
263.PP
264.TP
265\fBconsole eval \fIscript\fR
266Evaluate the \fIscript\fR argument as a Tcl script in the console
267interpreter. The normal interpreter is accessed through the
268\fBconsoleinterp\fR command in the console interpreter.
269.TP
270\fBconsole hide\fR
271Hide the console window from view. Precisely equivalent to
272withdrawing the \fB.\fR window in the console interpreter.
273.TP
274\fBconsole show\fR
275Display the console window. Precisely equivalent to deiconifying the
276\fB.\fR window in the console interpreter.
277.TP
278\fBconsole title \fR?\fIstring\fR?
279Query or modify the title of the console window. If \fIstring\fR is
280not specified, queries the title of the console window, and sets the
281title of the console window to \fIstring\fR otherwise. Precisely
282equivalent to using the \fBwm title\fR command in the console
283interpreter.
284.SH "ACCESS TO THE MAIN INTERPRETER"
285.PP
286The \fBconsoleinterp\fR command in the console interpreter allows
287scripts to be evaluated in the main interpreter. It supports two
288subcommands: \fBeval\fR and \fBrecord\fR.
289.PP
290.TP
291\fBconsoleinterp eval \fIscript\fR
292Evaluates \fIscript\fR as a Tcl script at the global level in the main
293interpreter.
294.TP
295\fBconsoleinterp record \fIscript\fR
296Records and evaluates \fIscript\fR as a Tcl script at the global level
297in the main interpreter as if \fIscript\fR had been typed in at the
298console.
299.SH "ADDITIONAL TRAP CALLS"
300.PP
301There are several additional commands in the console interpreter that
302are called in response to activity in the main interpreter.
303\fIThese are documented here for completeness only; they form part of
304the internal implementation of the console and are likely to change or
305be modified without warning.\fR
306.PP
307Output to the console from the main interpreter via the stdout and
308stderr channels is handled by invoking the \fBtk::ConsoleOutput\fR
309command in the console interpreter with two arguments. The first
310argument is the name of the channel being written to, and the second
311argument is the string being written to the channel (after encoding
312and end-of-line translation processing has been performed.)
313.PP
314When the \fB.\fR window of the main interpreter is destroyed, the
315\fBtk::ConsoleExit\fR command in the console interpreter is called
316(assuming the console interpreter has not already been deleted itself,
317that is.)
318.SH "DEFAULT BINDINGS"
319.PP
320The default script creates a console window (implemented using a text
321widget) that has the following behaviour:
322.IP [1]
323Pressing the tab key inserts a TAB character (as defined by the Tcl
324\et escape.)
325.IP [2]
326Pressing the return key causes the current line (if complete by the
327rules of \fBinfo complete\fR) to be passed to the main interpreter for
328evaluation.
329.IP [3]
330Pressing the delete key deletes the selected text (if any text is
331selected) or the character to the right of the cursor (if not at the
332end of the line.)
333.IP [4]
334Pressing the backspace key deletes the selected text (if any text is
335selected) or the character to the left of the cursor (of not at the
336start of the line.)
337.IP [5]
338Pressing either Control+A or the home key causes the cursor to go to
339the start of the line (but after the prompt, if a prompt is present on
340the line.)
341.IP [6]
342Pressing either Control+E or the end key causes the cursor to go to
343the end of the line.
344.IP [7]
345Pressing either Control+P or the up key causes the previous entry in
346the command history to be selected.
347.IP [8]
348Pressing either Control+N or the down key causes the next entry in the
349command history to be selected.
350.IP [9]
351Pressing either Control+B or the left key causes the cursor to move
352one character backward as long as the cursor is not at the prompt.
353.IP [10]
354Pressing either Control+F or the right key causes the cursor to move
355one character forward.
356.IP [11]
357Pressing F9 rebuilds the console window by destroying all its children
358and reloading the Tcl script that defined the console's behaviour.
359.PP
360Most other behaviour is the same as a conventional text widget except
361for the way that the \fI<<Cut>>\fR event is handled identically to the
362\fI<<Copy>>\fR event.
363.SH EXAMPLE
364Not all platforms have the \fBconsole\fR command, so debugging code
365often has the following code fragment in it so output produced by
366\fBputs\fR can be seen while during development:
367.CS
368catch {\fBconsole show\fR}
369.CE
370
371.SH KEYWORDS
372console, interpreter, window, interactive, output channels
373
374.SH "SEE ALSO"
375destroy(n), fconfigure(n), history(n), interp(n), puts(n), text(n), wm(n)