[Zipguy] (2013-01-21) - You can find out my email address by clicking on Zipguy. It started from this "I did look at the [console eval] which is cool! Thanks for that. Not quite sure if I fully understand that yet. If I wrote a command like this: console eval {winfo geometry .} it would not display in the console. However if I typed it into the console, it would display in there: 483x177+79+28 or something like that. One of the things on my to do list is to increase the width of the console, which would be nice to be able to retrieve the answer of 483 wide pixels from the console, and add 100 pixels to it, then format it to $geospec and give the command: console eval {wm geometry $geospec} but that command would say can't read "geospec": no such variable " which was on another page (namely [console - work with the parent window]). I tried writing a program which would attempt to retrieve the console's width (and more) from the console's window manager. I got this far. ======tcl # zipguy - routine added for puts with date %Y-%m-%d and time proc puts_log {message {nr no} {pt pt}} { if {$nr == "nr"} { puts -nonewline " $message" } elseif {$pt == "pt" } { set time [clock format [clock seconds] -format "%Y-%m-%d %I:%M:%S %p"] puts "$time $message" } else { puts "" } };# END-PROC console show set geospec "Unset" puts_log "geospec is: $geospec" # console eval [ after idle {return }] console eval [ set a [list wm geometry .]] # console eval {[consoleinterp [list set $geospec {$a}]]} puts_log "geospec is: $geospec" ====== Some of the lines I've been trying to get to work (with "console eval {}") are incorrect and don't seem to work. What I tried doing was making a list out of [wm geometry .] which did not seem to be accepted either. However, they do seem to work when they are typed into the console. [http://www.geocities.ws/thezipguy/misc/width_from_console.png] I don't know what I'm doing wrong, I must be dumb. Thanks for any help, that anyone, can provide to me. [RLE] (2012-01-21): You really should read up on the [interp] documentation. '''console''' in your case is the name of a second interpreter and the '''console eval''' call asks that second interpreter to run a bit of code. The return value from '''console eval''' is whatever that bit of code returns. So if you change your example to be this it should work: ====== set geospec [ console eval {wm geometry .} ] ====== Then the current interpreter (where you are running '''set''' and '''console eval''' will receive the result from the '''wm geometry .''' being run in the second interpreter. Then you should be able to edit the geometry string, and pass it back to the second interpreter like so: ====== console eval [ list wm geometry . $geospec ] ====== At which point, assuming changing the console's geometry works properly, the console should change size. <> Arts and crafts of Tcl-Tk programming | Command | Tk