Provided by: tkcon_2.7.3-1_all bug

NAME

       tkcon - Tk console replacement

SYNOPSIS

       tkcon [{option value | tcl_script} ...]

________________________________________________________________________________________________________________

DESCRIPTION

       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.

       tkcon [{option value | tcl_script} ...]

OPTIONS

       Except  for  -rcfile,  command  line  arguments are handled after the TkCon resource file is sourced, but
       before the slave interpreter or the TkCon user interface is initialized.

       -rcfile 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

              tkcon main set argv {}; tkcon main set argc 0

       For these options, any unique substring is allowed.

       -argv (also --)
              Causes TkCon to stop evaluating arguments and set the remaining args  to  be  argv/argc  (with  --
              prepended).   This  carries  over for any further consoles.  This is meant only for wrapping TkCon
              around programs that require their own arguments.

       -color-<color> color
              Sets the requested color type to the specified color for tkcon.  See tkconrc(5) for the recognized
              <color> names.

       -eval tcl_script (also -main or -e)
              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  -eval  switches  will  be  recognized  (in
              order).

       -exec slavename
              Sets  the  named  slave  that  tkcon  operates  in.   In general, this is only useful to set to ""
              (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.

       -font font
              Sets  the font that tkcon uses for its text windows.  If this isn't a fixed width font, tkcon will
              override it.

       -nontcl TCL_BOOLEAN
              Sets ::tkcon::OPT(nontcl) to TCL_BOOLEAN (see  tkconrc(5)).   Needed  when  attaching  to  non-Tcl
              interpreters.

       -package package_name (also -load)
              Packages to automatically load into the slave interpreters (i.e. "Tk").

       -rcfile filename
              Specify an alternate tkcon resource file name.

       -root widgetname
              Makes the named widget the root name of all consoles (i.e. .tkcon).

       -slave tcl_script
              A  Tcl  script to eval in each slave interpreter.  This will append the one specified in the tkcon
              resource file, if any.

KEY BINDINGS

       Most of the bindings are the same as for the text 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.

       Control-x or Cut (on Sparc5 keyboards)
              Cut.

       Control-c or Copy (on Sparc5 keyboards)
              Copy.

       Control-v or Paste (on Sparc5 keyboards)
              Paste.

       Insert Insert (duh).

       Up     Goes up one level in the commands line history when cursor is on the  prompt  line,  otherwise  it
              moves through the buffer.

       Down   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.

       Control-p
              Goes up one level in the commands line history.

       Control-n
              Goes down one level in the commands line history.

       Tab    Tries to expand file path names, then variable names, then proc names.

       Escape Tries to expand file path names.

       Control-P
              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).

       Control-V
              Tries to expand variable names (those returned by [info vars]).  It's search behavior is like that
              for procedure names.

       Return or Enter
              Evaluates  the  current  command line if it is a complete command, otherwise it just goes to a new
              line.

       Control-a
              Go to the beginning of the current command line.

       Control-l
              Clear the entire console buffer.

       Control-r
              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.

       Control-s
              As above, but searches forward (only useful if you searched too far back).

       Control-t
              Transposes characters.

       Control-u
              Clears the current command line.

       Control-z
              Saves current command line in a buffer that can be  retrieved  with  another  Control-z.   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.

       Control-Key-1
              Attaches console to the console's slave interpreter.

       Control-Key-2
              Attaches console to the console's master interpreter.

       Control-Key-3
              Attaches console to main TkCon interpreter.

       Control-A
              Pops up the "About" dialog.

       Control-N
              Creates a new console. Each console has separate state, including it's own widget hierarchy  (it's
              a slave interpreter).

       Control-q
              Close the current console OR Quit the program (depends on the value of ::tkcon::TKCON(slaveexit)).

       Control-w
              Closes  the  current  console.   Closing  the main console will exit the program (something has to
              control all the slaves...).

       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?).

COMMANDS

       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:

       alias ?sourceCmd targetCmd ?arg arg ...??
              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.

       clear ?percentage?
              Clears the text widget.  Same as the <Control-l> binding, except this will accept a percentage  of
              the buffer to clear (1-100, 100 default).

       dir ?-all? ?-full? ?-long? ?pattern pattern ...?
              Cheap way to get directory listings.  Uses glob style pattern matching.

       dump type ?-nocomplain? ?-filter pattern? ?--? pattern ?pattern ...?
              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 dump(3tk) for details.

       echo ?arg arg ...?
              Concatenates the args and spits the result to the console (stdout).

       edit ?-type type? ?-find str? ?-attach interp? arg
              Opens an editor with the data from arg.  The optional type argument can be one of:  proc,  var  or
              file.  For proc or var, the arg may be a pattern.

       idebug command ?args?
              Interactive debugging command.  See idebug(3tk) for details.

       lremove ?-all? ?-regexp -glob? list items
              Removes  one or more items from a list and returns the new list.  If -all is specified, it removes
              all instances of each item in the list.  If -regexp or -glob is specified, it interprets each item
              in the items list as a regexp or glob pattern to match against.

       less   Aliased to edit.

       ls     Aliased to dir -full.

       more   Aliased to edit.

       observe type ?args?
              This  command  provides  passive  runtime  debugging  output  for  variables  and  commands.   See
              observe(3tk) for details.

       puts (same options as always)
              Redefined to put the output into TkCon.

       tkcon method ?args?
              Multi-purpose command.  See tkcon(3tk) for details.

       tclindex ?-extensions patternlist? ?-index TCL_BOOLEAN? ?-package TCL_BOOLEAN? ?dir1 dir2 ...?
              Convenience proc to update the "tclIndex" (controlled  by  -index  switch)  and/or  "pkgIndex.tcl"
              (controlled  by  -package  switch)  file  in  the named directories based on the given pattern for
              files.  It defaults to creating the "tclIndex" but not the "pkgIndex.tcl" file, with the directory
              defaulting  to [pwd].  The extension defaults to *.tcl, with *.[info sharelibextension] added when
              -package is true.

       unalias cmd
              unaliases command.

       what string
              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.

       which command
              Like the which 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 auto_index for it, it tells you the file that auto_index 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.

       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).

EXAMLPES

       Some examples of tkcon command line startup situations:

              megawish /usr/bin/tkcon -exec "" -root .tkcon mainfile.tcl

       Use tkcon as a console for your megawish application.  You can avoid starting the line with  megawish  if
       that  is  the default wish that TkCon would use.  The -root ensures that tkcon will not conflict with the
       application root window.

              tkcon -font "Courier 12" -load Tk

       Use the courier font for TkCon and always load Tk in slave interpreters at startup.

              tkcon -rcfile ~/.wishrc -color-bg white

       Use the ~/.wishrc file as the resource file, and a white background for TkCon's text widgets.

FILES

       TkCon will search for a resource file in "~/.tkconrc".  TkCon never sources the  "~/.wishrc"  file.   The
       resource  file  is  sourced by each new instance of the console.  An example resource file is provided in
       tkconrc(5).

SEE ALSO

       dump(3tk), idebug(3tk), observe(3tk), text(3tk), tkcon(3tk), tkconrc(5)

KEYWORDS

       Tk, console

COPYRIGHT

       Copyright (c) Jeffrey Hobbs (jeff at hobbs.org)