Using tkcon as the console

The default console in tkoutline is nice and tkcon [1] is much better. To use tkcon instead:

  1. Download tkcon.tcl from http://tkcon.sourceforge.net and place it in your home directory. (If you don't know where your home directory is, then hit <F2> to get to tkoutline's default console and type file normalize ~).
  2. Place the following code in your startup script (Edit->Edit Startup Script).
 proc setupTkcon {} {
    # From http://wiki.tcl.tk/tkcon
    package require tkcon
    set tkcon::PRIV(showOnStartup) 0
    set tkcon::PRIV(protocol) {tkcon hide}

    # A way to still get to the default console
    bind Outline <F3> [bind Outline <F2>]

    # Replace the default console with tkcon
    bind Outline <F2> {
        # Display the console
        tkcon show

        # Commands will execute within the context of the current outline
        # Note this only updates when <F2> is hit, not when current outline changes--which is different than the default tkoutline console
        ::tkcon::AttachNamespace [[::tkoutline::browser getoutline current] outline self]

        # Extra clue on which outline is current
        ::tkcon title "Tkoutline console - [file tail [[::tkoutline::browser getoutline current] outlinefile set fileName]]"

        # Convenient way to send away the console
        tkcon eval bind TkConsole <Escape> {tkcon hide}
        }
    }

 # This is the function that gets called after tkoutline initialization is complete
 proc afterInit {} {
    source ~/tkcon.tcl
    setupTkcon
 }

Tkcon has it's own preferences file (see http://tkcon.sourceforge.net/docs/start.html) and you can do things like change the font of tkcon.


Updated 28 Apr 2005, 01:18 GMT
Search - Recent Changes - Reference - About WiKit - Go to Tkoutline - Help
Sourceforge logo