I'm working on TIP-561 to bring the console command (the Tk console window - the one that's always been available on Windows) to Linux/Unix, which has never had it as a built-in command.
As part of that, I'm trying to find out the current state of console on macOS.
If you're on a Mac and have ever used console (or tried console show and had it work, or not), I'd really appreciate hearing about it - what version of Tcl/Tk, and whether it worked as expected. Even "I tried it just now and here's what happened" would be useful.
Thanks,
-et
With both Linux and MacOSX, there is a "real" terminal shell, that is full featured. The console command is only really "needed" with MS-Windows. *Developers* under Linux and MacOSX, generally just fire up a terminal and run
wish from the shell command and can have access to everything a console window
gives you.
I don't know specificly about MacOSX, but I have never had any reason use the console command from Linux.
At Mon, 10 Aug 2026 13:06:40 -0700 et99 <et99@rocketship1.me> wrote:
I'm working on TIP-561 to bring the console command (the Tk console window - the one that's always been available on Windows) to Linux/Unix, which has never had it as a built-in command.
As part of that, I'm trying to find out the current state of console on macOS.
If you're on a Mac and have ever used console (or tried console show and had it work, or not), I'd really appreciate hearing about it - what version of Tcl/Tk, and whether it worked as expected. Even "I tried it just now and here's what happened" would be useful.
Thanks,
-et
At Mon, 10 Aug 2026 13:06:40 -0700 et99 <et99@rocketship1.me> wrote:
I'm working on TIP-561 to bring the console command (the Tk consoleWith both Linux and MacOSX, there is a "real" terminal shell, that is
window - the one that's always been available on Windows) to
Linux/Unix, which has never had it as a built-in command.
As part of that, I'm trying to find out the current state of console
on macOS.
If you're on a Mac and have ever used console (or tried console show
and had it work, or not), I'd really appreciate hearing about it -
what version of Tcl/Tk, and whether it worked as expected. Even "I
tried it just now and here's what happened" would be useful.
full featured. The console command is only really "needed" with
MS-Windows. *Developers* under Linux and MacOSX, generally just fire
up a terminal and run wish from the shell command and can have access
to everything a console window gives you.
I don't know specificly about MacOSX, but I have never had any reason
use the console command from Linux.
So, whatever you end up doing, please **do not break** the existing
Linux (and MacOS) situation where firing up wish in a terminal gives a
proper "console" (i.e., by redirecting stderr and stdout to somewhere
other than fd's 1 and 2 that are given to wish via the OS).
On 8/10/2026 3:09 PM, Rich wrote:
snip
So, whatever you end up doing, please **do not break** the existing
Linux (and MacOS) situation where firing up wish in a terminal gives a proper "console" (i.e., by redirecting stderr and stdout to somewhere
other than fd's 1 and 2 that are given to wish via the OS).
Nothing to fear. The TIP and the implementation, completely understand that the typical linux/unix user does not want or expect a console to open on running the program with wish (or tclsh even after package require Tk).
The technique being used currently is the tclIndex mechanism which would only even load anything upon seeing the command "console" and then nothing would happen until the explicit "console show" command is executed. Nothing would happen either if the command console is already defined, as a proc or command as tclIndex uses the unknown command hook.
However, the question came up on the core mailing list about the console command on macos. I have not been able to get an answer as to if the console command is defined, does anything, and if so what, and I don't have a Mac to test with.
-et
OK, I have an old (2013 vintage) Intel MacBook running MacOSX 10.15. I just fired up wish (8.6.16) and typed console. Got 'invalid command name "console"'. (Same for Linux.)
Why is there any need to bother with the console under MacOSX or Linux? What would be the point?
On 8/10/2026 5:17 PM, Robert Heller wrote:
OK, I have an old (2013 vintage) Intel MacBook running MacOSX 10.15.-a I just
fired up wish (8.6.16) and typed console.-a Got 'invalid command name
"console"'.-a (Same for Linux.)
According to Torsten Berg, there are two build types for the Mac.
One, an "install-embedded" build supports the console and a "normal" build does not.
For the one that does have a console, it opens up automatically - like windows, though I don't know if that happens when a script file is given on the command line.
et99 <et99@rocketship1.me> posted:
According to Torsten Berg, there are two build types for the Mac.
One, an "install-embedded" build supports the console and a "normal" build does not.
For the one that does have a console, it opens up automatically - like windows, though I don't know if that happens when a script file is given on the command line.
Pretty sure I've got the "normal" build, it goes like this...
me@MAC ~ % tclsh
% package require Tk
8.6.18
% console show
invalid command name "console"
% console
invalid command name "console"
On 8/10/2026 5:17 PM, Robert Heller wrote:
OK, I have an old (2013 vintage) Intel MacBook running MacOSX 10.15. I just
fired up wish (8.6.16) and typed console. Got 'invalid command name "console"'. (Same for Linux.)
Why is there any need to bother with the console under MacOSX or Linux? What
would be the point?
Thanks Robert, that's genuinely useful.I just had a Terminal open (I *always* have a Terminal open), and just typed "wish" at the command prompt. Then at the Tcl prompt type "console" and got the invalid command name message.
One follow-up question first, before I read too much into it: how exactly
did you launch wish - from Terminal with no script argument, or by double-clicking a Wish.app bundle?
Reason I ask: the manual says TkAqua only disables console for bundled-app launches (startup script + stdin /dev/null), and testers on a different TIP apparently had a working console on a Mac not long ago. Want to rule out launch method before concluding it's missing outright.
On why bother with a console at all on Unix/Linux - a few concrete things it gives you over a terminal running tclsh/wish:
- Tab completion for commands, variables, and file names
- As you type, a fully-completed command or variable name changes color, giving live feedback that what you've typed is recognized, even before pressing tab
- Brace/bracket/paren matching with highlight
- Full mouse support for editing - point, click, select, copy/paste anywhere in the buffer
- stderr shown in red, distinct from stdout
- A separate window that doesn't clutter or scroll your terminal; history command compatible
- Zoomable font via mouse wheel/trackpad (9.1+)
- Direct access to the running interpreter's own live state via console eval - That same console eval access also makes it easy to add your own features - extra buttons, menu items, or colorized output streams (e.g. tagging your own output green, separate from the built-in stdout/stderr colors)
- It's a real text widget underneath, with a lot of extras already built in - if you ever need a logging window in your own app, this saves you from writing one from scratch
- Windows users who use the console will now have that option on unix systems - Until requested, remains unloaded.
Thanks again for actually testing rather than just asking.
-et
I just had a Terminal open (I *always* have a Terminal open), and just typed "wish" at the command prompt. Then at the Tcl prompt type "console" and got the invalid command name message.
et99 <et99@rocketship1.me> posted:
According to Torsten Berg, there are two build types for the Mac.
One, an "install-embedded" build supports the console and a "normal" build does not.
For the one that does have a console, it opens up automatically - like windows, though I don't know if that happens when a script file is given on the command line.
Pretty sure I've got the "normal" build, it goes like this...
me@MAC ~ % tclsh
% package require Tk
8.6.18
% console show
invalid command name "console"
% console
invalid command name "console"
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 74 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 53:38:27 |
| Calls: | 1,101 |
| Calls today: | 1 |
| Files: | 1,339 |
| Messages: | 276,196 |