This page is intended as a discussion platform with the goal to possibly obtain a console behaviour improvment to being proposed as a TIP. Refer also to [LV]'s question here: [console] ---- **Inventory** In both cases discussed below, it must be differentiated between invokes from a native OS's console and invokes from e.g. a desktop icon. 1. console entry 'tclsh' Called from a native console, the platforms uniformly behave identically whether tclsh is called with or without a script as an argument. 2. tclsh invocation from icon etc. Under Windows, tclsh can be started from outside a console window, while linux/unix don't allow this, unless tclsh is opened with a script containing a 'package require Tk'. 3. console entry 'wish' When starting Tcl via wish, major differences will occur: * The command "console" appears to exist, but only in Windows. * In Windows, a Tk-based console is opened together with a Toplevel window (also on MAC?) while Unix/Linux simply open the console as with tclsh, with a Tk toplevel created. 4. wish invocation from icon etc. Here, the behaviour differs through OS'es when invoked without argument: windows creates a Toplevel AND a console, Linux/unix only a toplevel. Having stated this, it seems that the use of WISH should be deprecated. This would imply that "the" simple way to invoke an interactive console in scripts running under Windows should be deprecated, too (i.e. the console command). ---- **Ideas for portability improvement** (These ideas are noted without commenting them in terms of value) 1. A console command restricted to WISH invokes with 'script' as an argument (without script this would contradict with the existing console). Console show should create a Tk-based console. 2. An extra command line option with tclsh could help eliminate the need for a console command: -i, for interactive. This would force interactive mode, allowing introspection on running scripts (as is equally possible with 'console show'). In contrast to the 'console' command, the console window is visible/present all the time, which may be undesired. 3. package require Tk automatically creates a hidden Tk-based console, when not already present (as is the case in Windows). ---- Idea 2 might be problematic, because the native shell is still active while processing tclsh + argument. But perhaps, a way can be found. However, for some system constellations this idea is even very valuable. E.g. in systems with a console device separated from a graphics device. Example: Embedded systems where a Tk app should start automatically after power-up. A remote console via serial port allows hooking in a running application when necessary. Without forcing interactive mode, remote introspection is possible only by killing the Tk-app, and then start it in two steps: tclsh + source xxx. (further comments and ideas are welcome) ---- !!!!!! %| [Arts and crafts of Tcl-Tk programming] - [Category Command] |% !!!!!!