diff options
Diffstat (limited to 'development/tkcon/man/man1/tkcon.1')
-rw-r--r-- | development/tkcon/man/man1/tkcon.1 | 625 |
1 files changed, 625 insertions, 0 deletions
diff --git a/development/tkcon/man/man1/tkcon.1 b/development/tkcon/man/man1/tkcon.1 new file mode 100644 index 0000000000..6bf1c711ae --- /dev/null +++ b/development/tkcon/man/man1/tkcon.1 @@ -0,0 +1,625 @@ +'\" +'\" Generated from file 'tkcon\&.1\&.man' by tcllib/doctools with format 'nroff' +'\" Copyright (c) Jeffrey Hobbs (jeff at hobbs\&.org) +'\" +.TH "tkcon" 1 2\&.5 tkcon\&.1 "TkCon" +.\" The -*- nroff -*- definitions below are for supplemental macros used +.\" in Tcl/Tk manual entries. +.\" +.\" .AP type name in/out ?indent? +.\" Start paragraph describing an argument to a library procedure. +.\" type is type of argument (int, etc.), in/out is either "in", "out", +.\" or "in/out" to describe whether procedure reads or modifies arg, +.\" and indent is equivalent to second arg of .IP (shouldn't ever be +.\" needed; use .AS below instead) +.\" +.\" .AS ?type? ?name? +.\" Give maximum sizes of arguments for setting tab stops. Type and +.\" name are examples of largest possible arguments that will be passed +.\" to .AP later. If args are omitted, default tab stops are used. +.\" +.\" .BS +.\" Start box enclosure. From here until next .BE, everything will be +.\" enclosed in one large box. +.\" +.\" .BE +.\" End of box enclosure. +.\" +.\" .CS +.\" Begin code excerpt. +.\" +.\" .CE +.\" End code excerpt. +.\" +.\" .VS ?version? ?br? +.\" Begin vertical sidebar, for use in marking newly-changed parts +.\" of man pages. The first argument is ignored and used for recording +.\" the version when the .VS was added, so that the sidebars can be +.\" found and removed when they reach a certain age. If another argument +.\" is present, then a line break is forced before starting the sidebar. +.\" +.\" .VE +.\" End of vertical sidebar. +.\" +.\" .DS +.\" Begin an indented unfilled display. +.\" +.\" .DE +.\" End of indented unfilled display. +.\" +.\" .SO ?manpage? +.\" Start of list of standard options for a Tk widget. The manpage +.\" argument defines where to look up the standard options; if +.\" omitted, defaults to "options". The options follow on successive +.\" lines, in three columns separated by tabs. +.\" +.\" .SE +.\" End of list of standard options for a Tk widget. +.\" +.\" .OP cmdName dbName dbClass +.\" Start of description of a specific option. cmdName gives the +.\" option's name as specified in the class command, dbName gives +.\" the option's name in the option database, and dbClass gives +.\" the option's class in the option database. +.\" +.\" .UL arg1 arg2 +.\" Print arg1 underlined, then print arg2 normally. +.\" +.\" .QW arg1 ?arg2? +.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation). +.\" +.\" .PQ arg1 ?arg2? +.\" Print an open parenthesis, arg1 in quotes, then arg2 normally +.\" (for trailing punctuation) and then a closing parenthesis. +.\" +.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages. +.if t .wh -1.3i ^B +.nr ^l \n(.l +.ad b +.\" # Start an argument description +.de AP +.ie !"\\$4"" .TP \\$4 +.el \{\ +. ie !"\\$2"" .TP \\n()Cu +. el .TP 15 +.\} +.ta \\n()Au \\n()Bu +.ie !"\\$3"" \{\ +\&\\$1 \\fI\\$2\\fP (\\$3) +.\".b +.\} +.el \{\ +.br +.ie !"\\$2"" \{\ +\&\\$1 \\fI\\$2\\fP +.\} +.el \{\ +\&\\fI\\$1\\fP +.\} +.\} +.. +.\" # define tabbing values for .AP +.de AS +.nr )A 10n +.if !"\\$1"" .nr )A \\w'\\$1'u+3n +.nr )B \\n()Au+15n +.\" +.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n +.nr )C \\n()Bu+\\w'(in/out)'u+2n +.. +.AS Tcl_Interp Tcl_CreateInterp in/out +.\" # BS - start boxed text +.\" # ^y = starting y location +.\" # ^b = 1 +.de BS +.br +.mk ^y +.nr ^b 1u +.if n .nf +.if n .ti 0 +.if n \l'\\n(.lu\(ul' +.if n .fi +.. +.\" # BE - end boxed text (draw box now) +.de BE +.nf +.ti 0 +.mk ^t +.ie n \l'\\n(^lu\(ul' +.el \{\ +.\" Draw four-sided box normally, but don't draw top of +.\" box if the box started on an earlier page. +.ie !\\n(^b-1 \{\ +\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' +.\} +.el \}\ +\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' +.\} +.\} +.fi +.br +.nr ^b 0 +.. +.\" # VS - start vertical sidebar +.\" # ^Y = starting y location +.\" # ^v = 1 (for troff; for nroff this doesn't matter) +.de VS +.if !"\\$2"" .br +.mk ^Y +.ie n 'mc \s12\(br\s0 +.el .nr ^v 1u +.. +.\" # VE - end of vertical sidebar +.de VE +.ie n 'mc +.el \{\ +.ev 2 +.nf +.ti 0 +.mk ^t +\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n' +.sp -1 +.fi +.ev +.\} +.nr ^v 0 +.. +.\" # Special macro to handle page bottom: finish off current +.\" # box/sidebar if in box/sidebar mode, then invoked standard +.\" # page bottom macro. +.de ^B +.ev 2 +'ti 0 +'nf +.mk ^t +.if \\n(^b \{\ +.\" Draw three-sided box if this is the box's first page, +.\" draw two sides but no top otherwise. +.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 +.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c +.\} +.if \\n(^v \{\ +.nr ^x \\n(^tu+1v-\\n(^Yu +\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c +.\} +.bp +'fi +.ev +.if \\n(^b \{\ +.mk ^y +.nr ^b 2 +.\} +.if \\n(^v \{\ +.mk ^Y +.\} +.. +.\" # DS - begin display +.de DS +.RS +.nf +.sp +.. +.\" # DE - end display +.de DE +.fi +.RE +.sp +.. +.\" # SO - start of list of standard options +.de SO +'ie '\\$1'' .ds So \\fBoptions\\fR +'el .ds So \\fB\\$1\\fR +.SH "STANDARD OPTIONS" +.LP +.nf +.ta 5.5c 11c +.ft B +.. +.\" # SE - end of list of standard options +.de SE +.fi +.ft R +.LP +See the \\*(So manual entry for details on the standard options. +.. +.\" # OP - start of full description for a single option +.de OP +.LP +.nf +.ta 4c +Command-Line Name: \\fB\\$1\\fR +Database Name: \\fB\\$2\\fR +Database Class: \\fB\\$3\\fR +.fi +.IP +.. +.\" # CS - begin code excerpt +.de CS +.RS +.nf +.ta .25i .5i .75i 1i +.. +.\" # CE - end code excerpt +.de CE +.fi +.RE +.. +.\" # UL - underline word +.de UL +\\$1\l'|0\(ul'\\$2 +.. +.\" # QW - apply quotation marks to word +.de QW +.ie '\\*(lq'"' ``\\$1''\\$2 +.\"" fix emacs highlighting +.el \\*(lq\\$1\\*(rq\\$2 +.. +.\" # PQ - apply parens and quotation marks to word +.de PQ +.ie '\\*(lq'"' (``\\$1''\\$2)\\$3 +.\"" fix emacs highlighting +.el (\\*(lq\\$1\\*(rq\\$2)\\$3 +.. +.\" # QR - quoted range +.de QR +.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3 +.\"" fix emacs highlighting +.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3 +.. +.\" # MT - "empty" string +.de MT +.QW "" +.. +.BS +.SH NAME +tkcon \- Tk console replacement +.SH SYNOPSIS +\fBtkcon\fR [{\fIoption\fR \fIvalue\fR | \fItcl_script\fR} \&.\&.\&.] +.sp +.BE +.SH DESCRIPTION +.PP +TkCon is a replacement for the standard console that comes with Tk +(on Windows/Mac, but also works on Unix)\&. +The console itself provides many more features than the standard +console\&. +TkCon works on all platforms where Tcl/Tk is available\&. +It is meant primarily to aid one when working with the little +details inside Tcl and Tk, giving Unix users the GUI console +provided by default in the Mac and Windows Tk\&. +.TP +\fBtkcon\fR [{\fIoption\fR \fIvalue\fR | \fItcl_script\fR} \&.\&.\&.] +.PP +.SH OPTIONS +.PP +Except for \fB-rcfile\fR, command line arguments are handled after +the TkCon resource file is sourced, but before the slave +interpreter or the TkCon user interface is initialized\&. +.PP +\fB-rcfile\fR is handled right before it would be sourced, +allowing you to specify any alternate file\&. +Command line arguments are passed to each new console and +will be evaluated by each\&. +To prevent this from happening, you have to say +.CS + + +tkcon main set argv {}; tkcon main set argc 0 + +.CE +.PP +For these options, any unique substring is allowed\&. +.TP +\fB-argv\fR (also \fB--\fR) +Causes TkCon to stop evaluating arguments and set the remaining +args to be argv/argc (with \fB--\fR prepended)\&. +This carries over for any further consoles\&. +This is meant only for wrapping TkCon +around programs that require their own arguments\&. +.TP +\fB-color-<color>\fR \fIcolor\fR +Sets the requested color type to the specified color for tkcon\&. +See \fBtkconrc\fR(5) for the recognized \fB<color>\fR names\&. +.TP +\fB-eval\fR \fItcl_script\fR (also \fB-main\fR or \fB-e\fR) +A Tcl script to eval in each main interpreter\&. +This is evaluated after the resource file is loaded and the +slave interpreter is created\&. +Multiple \fB-eval\fR switches will be recognized (in order)\&. +.TP +\fB-exec\fR \fIslavename\fR +Sets the named slave that tkcon operates in\&. +In general, this is only useful to set to \fI""\fR (empty), +indicating to tkcon to avoid the multi-interpreter model and +operate in the main environment\&. +When this is empty, any further arguments will be only used +in the first tkcon console and not passed onto further new consoles\&. +This is useful when using tkcon as a console for extended wish +executables that don't load there commands into slave interpreters\&. +.TP +\fB-font\fR \fIfont\fR +Sets the font that tkcon uses for its text windows\&. +If this isn't a fixed width font, tkcon will override it\&. +.TP +\fB-nontcl\fR \fITCL_BOOLEAN\fR +Sets \fB::tkcon::OPT(nontcl)\fR to \fITCL_BOOLEAN\fR (see +\fBtkconrc\fR(5))\&. +Needed when attaching to non-Tcl interpreters\&. +.TP +\fB-package\fR \fIpackage_name\fR (also \fB-load\fR) +Packages to automatically load into the slave interpreters (i\&.e\&. "Tk")\&. +.TP +\fB-rcfile\fR \fIfilename\fR +Specify an alternate tkcon resource file name\&. +.TP +\fB-root\fR \fIwidgetname\fR +Makes the named widget the root name of all consoles (i\&.e\&. \&.tkcon)\&. +.TP +\fB-slave\fR \fItcl_script\fR +A Tcl script to eval in each slave interpreter\&. +This will append the one specified in the tkcon resource file, if any\&. +.PP +.SH "KEY BINDINGS" +.PP +Most of the bindings are the same as for the \fBtext\fR widget\&. +Some have been modified to make sure that the integrity of the +console is maintained\&. +Others have been added to enhance the usefulness of the console\&. +Only the modified or new bindings are listed here\&. +.TP +\fBControl-x\fR or \fBCut\fR (on Sparc5 keyboards) +Cut\&. +.TP +\fBControl-c\fR or \fBCopy\fR (on Sparc5 keyboards) +Copy\&. +.TP +\fBControl-v\fR or \fBPaste\fR (on Sparc5 keyboards) +Paste\&. +.TP +\fBInsert\fR +Insert (duh)\&. +.TP +\fBUp\fR +Goes up one level in the commands line history when cursor is on +the prompt line, otherwise it moves through the buffer\&. +.TP +\fBDown\fR +Goes down one level in the commands line history when cursor +is on the last line of the buffer, otherwise it moves through the buffer\&. +.TP +\fBControl-p\fR +Goes up one level in the commands line history\&. +.TP +\fBControl-n\fR +Goes down one level in the commands line history\&. +.TP +\fBTab\fR +Tries to expand file path names, then variable names, then proc names\&. +.TP +\fBEscape\fR +Tries to expand file path names\&. +.TP +\fBControl-P\fR +Tries to expand procedure names\&. +The procedure names will be those that are actually in the attached +interpreter (unless nontcl is specified, in which case it always +does the lookup in the default slave interpreter)\&. +.TP +\fBControl-V\fR +Tries to expand variable names (those returned by [info vars])\&. +It's search behavior is like that for procedure names\&. +.TP +\fBReturn\fR or \fBEnter\fR +Evaluates the current command line if it is a complete command, +otherwise it just goes to a new line\&. +.TP +\fBControl-a\fR +Go to the beginning of the current command line\&. +.TP +\fBControl-l\fR +Clear the entire console buffer\&. +.TP +\fBControl-r\fR +Searches backwards in the history for any command that contains +the string in the current command line\&. +Repeatable to search farther back\&. +The matching substring off the found command will blink\&. +.TP +\fBControl-s\fR +As above, but searches forward (only useful if you searched too far back)\&. +.TP +\fBControl-t\fR +Transposes characters\&. +.TP +\fBControl-u\fR +Clears the current command line\&. +.TP +\fBControl-z\fR +Saves current command line in a buffer that can be retrieved +with another \fBControl-z\fR\&. +If the current command line is empty, then any saved command +is retrieved without being overwritten, otherwise the current +contents get swapped with what's in the saved command buffer\&. +.TP +\fBControl-Key-1\fR +Attaches console to the console's slave interpreter\&. +.TP +\fBControl-Key-2\fR +Attaches console to the console's master interpreter\&. +.TP +\fBControl-Key-3\fR +Attaches console to main TkCon interpreter\&. +.TP +\fBControl-A\fR +Pops up the "About" dialog\&. +.TP +\fBControl-N\fR +Creates a new console\&. Each console has separate state, including +it's own widget hierarchy (it's a slave interpreter)\&. +.TP +\fBControl-q\fR +Close the current console OR Quit the program (depends on the +value of \fB::tkcon::TKCON(slaveexit)\fR)\&. +.TP +\fBControl-w\fR +Closes the current console\&. +Closing the main console will exit the program (something has +to control all the slaves\&.\&.\&.)\&. +.PP +.PP +TkCon also has electric bracing (similar to that in emacs)\&. +It will highlight matching pairs of {}'s, []'s, ()'s and ""'s\&. +For the first three, if there is no matching left element for the right, +then it blinks the entire current command line\&. +For the double quote, if there is no proper match then it just blinks +the current double quote character\&. +It does properly recognize most escaping (except escaped escapes), +but does not look for commenting (why would you interactively +put comments in?)\&. +.SH COMMANDS +.PP +There are several new procedures introduced in TkCon to improve +productivity and/or account for lost functionality in the Tcl +environment that users are used to in native environments\&. +There are also some redefined procedures\&. +Here is a non-comprehensive list: +.TP +\fBalias\fR ?\fIsourceCmd\fR \fItargetCmd\fR ?\fIarg\fR \fIarg\fR \&.\&.\&.?? +Simple alias mechanism\&. +It will overwrite existing commands\&. +When called without args, it returns current aliases\&. +Note that TkCon makes some aliases for you (in slaves)\&. +Don't delete those\&. +.TP +\fBclear\fR ?\fIpercentage\fR? +Clears the text widget\&. +Same as the <\fBControl-l\fR> binding, except this will accept a +percentage of the buffer to clear (1-100, 100 default)\&. +.TP +\fBdir\fR ?\fI-all\fR? ?\fI-full\fR? ?\fI-long\fR? ?\fIpattern\fR \fIpattern\fR \&.\&.\&.? +Cheap way to get directory listings\&. +Uses glob style pattern matching\&. +.TP +\fBdump\fR \fItype\fR ?\fI-nocomplain\fR? ?\fI-filter pattern\fR? ?\fB--\fR? \fIpattern\fR ?\fIpattern\fR \&.\&.\&.? +The dump command provides a way for the user to spit out state +information about the interpreter in a Tcl readable (and +human readable) form\&. +See \fBdump\fR(n) for details\&. +.TP +\fBecho\fR ?\fIarg\fR \fIarg\fR \&.\&.\&.? +Concatenates the args and spits the result to the console (stdout)\&. +.TP +\fBedit\fR ?\fI-type type\fR? ?\fI-find str\fR? ?\fI-attach interp\fR? \fIarg\fR +Opens an editor with the data from arg\&. +The optional type argument can be one of: \fIproc\fR, \fIvar\fR or \fIfile\fR\&. +For proc or var, the arg may be a pattern\&. +.TP +\fBidebug\fR \fIcommand\fR ?\fIargs\fR? +Interactive debugging command\&. +See \fBidebug\fR(n) for details\&. +.TP +\fBlremove\fR ?\fI-all\fR? ?\fI-regexp\fR \fI-glob\fR? \fIlist\fR \fIitems\fR +Removes one or more items from a list and returns the new list\&. +If \fI-all\fR is specified, it removes all instances of each item +in the list\&. +If \fI-regexp\fR or \fI-glob\fR is specified, it interprets each item in +the items list as a regexp or glob pattern to match against\&. +.TP +\fBless\fR +Aliased to \fBedit\fR\&. +.TP +\fBls\fR +Aliased to \fBdir\fR \fI-full\fR\&. +.TP +\fBmore\fR +Aliased to \fBedit\fR\&. +.TP +\fBobserve\fR \fItype\fR ?\fIargs\fR? +This command provides passive runtime debugging output for +variables and commands\&. +See \fBobserve\fR(n) for details\&. +.TP +\fBputs\fR (same options as always) +Redefined to put the output into TkCon\&. +.TP +\fBtkcon\fR \fImethod\fR ?\fIargs\fR? +Multi-purpose command\&. +See \fBtkcon\fR(n) for details\&. +.TP +\fBtclindex\fR \fI?-extensions patternlist? ?-index TCL_BOOLEAN? ?-package TCL_BOOLEAN? ?dir1 dir2 \&.\&.\&.?\fR +Convenience proc to update the "\fItclIndex\fR" (controlled by \fI-index\fR switch) +and/or "\fIpkgIndex\&.tcl\fR" (controlled by \fI-package\fR switch) file in the named +directories based on the given pattern for files\&. +It defaults to creating the "\fItclIndex\fR" but not the "\fIpkgIndex\&.tcl\fR" file, +with the directory defaulting to [pwd]\&. +The extension defaults to *\&.tcl, with *\&.[info sharelibextension] +added when \fI-package\fR is true\&. +.TP +\fBunalias\fR \fIcmd\fR +unaliases command\&. +.TP +\fBwhat\fR \fIstring\fR +The what command will identify the word given in string in +the Tcl environment and return a list of types that it was recognized as\&. +Possible types are: alias, procedure, command, array variable, +scalar variable, directory, file, widget, and executable\&. +Used by procedures dump and which\&. +.TP +\fBwhich\fR \fIcommand\fR +Like the \fBwhich\fR command of Unix shells, this will tell you if a +particular command is known, and if so, whether it is internal or +external to the interpreter\&. +If it is an internal command and there is a slot in \fBauto_index\fR for it, +it tells you the file that \fBauto_index\fR would load\&. +This does not necessarily mean that that is where the file came from, +but if it were not in the interpreter previously, then that +is where the command was found\&. +.PP +.PP +There are several procedures that I use as helpers that some may find +helpful in there coding (i\&.e\&. expanding pathnames)\&. Feel free to lift +them from the code (but do assign proper attribution)\&. +.SH EXAMLPES +.PP +Some examples of tkcon command line startup situations: +.CS + + +\fBmegawish\fR /usr/bin/tkcon \fB-exec\fR "" \fB-root\fR \&.tkcon \fImainfile\&.tcl\fR + +.CE +Use tkcon as a console for your \fBmegawish\fR application\&. +You can avoid starting the line with megawish if that is the +default \fBwish\fR that TkCon would use\&. +The \fB-root\fR ensures that tkcon will not conflict with the +application root window\&. +.CS + + +\fBtkcon\fR \fB-font\fR "Courier 12" \fB-load\fR Tk + +.CE +Use the courier font for TkCon and always load Tk in slave +interpreters at startup\&. +.CS + + +\fBtkcon\fR \fB-rcfile\fR ~/\&.wishrc \fB-color-bg\fR white + +.CE +Use the ~/\&.wishrc file as the resource file, and a white +background for TkCon's text widgets\&. +.SH FILES +TkCon will search for a resource file in "\fI~/\&.tkconrc\fR"\&. +TkCon never sources the "\fI~/\&.wishrc\fR" file\&. +The resource file is sourced by each new instance of the console\&. +An example resource file is provided in \fBtkconrc\fR(5)\&. +.SH "SEE ALSO" +\fBdump\fR(n), \fBidebug\fR(n), \fBobserve\fR(n), \fBtext\fR(n), \fBtkcon\fR(n), \fBtkconrc\fR(5) +.SH KEYWORDS +Tk, console +.SH COPYRIGHT +.nf +Copyright (c) Jeffrey Hobbs (jeff at hobbs\&.org) + +.fi |