Если вы используете исходную команду, вы не запускаете другое приложение. Вы просто загружаете дополнительный код в ваше существующее приложение. Чтобы фактически запустить другое приложение, вы можете использовать exec tclsh otherapp.tcl
.
Чтобы получить два отдельных окна при получении двух файлов в одном и том же интерпретаторе, они должны использовать отдельные верхние уровни, как упоминал Гленн.
Если вы не хотите изменять исходный файл, другой возможностью является загрузка каждого файла в свой интерпретатор.
interp create app2
app2 eval {source otherapp.tcl}
Убедитесь, что файлы вашего приложения содержат package require Tk
, если вы хотите использовать эту технику.