The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск Tcl/Tk 8.6.10

22.11.2019 15:36

Представлен релиз Tcl/Tk 8.6.10, динамического языка программирования, распространяемого совместно с кроссплатформенной библиотекой базовых элементов графического интерфейса. Несмотря на то, что основное распространение Tcl получил для создания интерфейсов пользователя и как встраиваемый язык, Tcl также подходит для других задач. Например, для web-разработки, создания сетевых приложений, администрирования систем и тестирования.

В новой версии:

  • В Tk переработана реализация цикла обработки событий (event loop).
  • Добавлена начальная поддержка emoji в текстовых полях.
  • Переработаны биндинги для MouseWheel.
  • Внесены улучшения в работу Tk на платформе macOS, в том числе добавлена поддержка окон со вкладками, интернационализации и отрисовки в режиме с тёмной темой оформления.
  • На платформе Windows в Tk обеспечена поддержка горизонтальной прокрутки.
  • Добавлена команда "[tcl::unsupported::timerate]" для тестирования производительности.
  • Обновлены включённые в базовую поставку пакеты Itcl 4.2.0, sqlite3 3.30.1, Thread 2.8.5, TDBC* 1.1.1, http 2.9.1, tcltest 2.5.1, registry 1.3.4, dde 1.4.2, libtommath 1.2.0.


  1. Главная ссылка к новости (https://sourceforge.net/p/tcl/...)
  2. OpenNews: Обновление Androwish, окружения для запуска приложений Tcl/Tk на системах с Android
  3. OpenNews: Языку Tcl исполнилось 30 лет
  4. OpenNews: Выпуск Tcl/Tk 8.6.8
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51916-tcl
Ключевые слова: tcl, tcltk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (62) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Albertio (ok), 16:07, 22/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А новой версии Tkabber'a уж не предвещается?
     
     
  • 2.15, анан (?), 17:07, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нет
    https://chiselapp.com/user/sgolovan/repository/tkabber/timeline
     
     
  • 3.29, Albertio (ok), 18:30, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > нет
    > https://chiselapp.com/user/sgolovan/repository/tkabber/timeline

    Ух. Может стоит собрать ребят да подтянуть до, хотя бы, нового релиза

     

  • 1.5, Аноним (5), 16:36, 22/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Любимая библиотека построения гуя, хоть и малофункциональная. Главный плюс — гуевое приложение не требует кучи отдельных файлов и компиляции, как в случае с Qt, а может быть хоть однострочной частью шелл-скрипта:
    wish <(echo 'button .b -text "Hello world!" -command exit; pack .b')
     
     
  • 2.11, фывфывфыв (?), 16:53, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > гуевое приложение не требует кучи отдельных файлов

    Соберите Qt / GTK (любой другой тулкит) в static.
    И да, интересно как TkTcl не требует кучи других либ? Через что он по вашему это все отрисовывает?

     
     
  • 3.13, Онаним (?), 17:02, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Я бы посмотрел на тебя как ты в статик пакуешь GTK для винды. Там как минимум 500 файлов значков Adwaita. Хуже наверное только приложения на PyGTK, к файлам значкам добавляется пару тысяч файлов дистрибутива пистон.
     
     
  • 4.21, Аноним (21), 17:44, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >Я бы посмотрел на тебя как ты в статик пакуешь GTK для винды. Там как минимум 500 файлов значков Adwaita. Хуже наверное только приложения на PyGTK, к файлам значкам добавляется пару тысяч файлов дистрибутива пистон.

    Куда уж другим фреймворкам до Electron с его ~1Gb барахла.

     
     
  • 5.35, Аноним (35), 19:45, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Electron с его ~1Gb барахла.

    Брехня

     
  • 5.44, Аноним (44), 07:13, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • –6 +/
    70-150МБ. А ещё учти лёгкость переноса и упаковки приложений на электроне.
     
     
  • 6.54, SOska (?), 19:39, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И пожирание памяти под 2 4 6 гб
     
  • 6.55, SOska (?), 19:40, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А также пожирание процесора даже при простом клике мыши внутри окна
     
  • 3.14, Аноним (5), 17:04, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Соберите Qt / GTK (любой другой тулкит) в static.

    Тогда получится огромный бинарный блоб, который невозможно ни посмотреть, ни отредактировать, и на котором придётся писать всё. Фу.

    > И да, интересно как TkTcl не требует кучи других либ?

    Они все ставятся из репозитория одной командой вроде
    apt install tk

     
     
  • 4.16, Аноним (5), 17:19, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И да, прошу предъявить пример подобного однострочника на шелле с хелловорлдом средствами Qt / GTK.

    К выбору Tk на эту роль я не сразу пришёл, а сначала исследовал Qt с его новомодным QtQuick. Целью было найти средство построения гуя, которое позволяет запихнуть программу полностью в короткий человекочитаемый скрипт, для чего Qt не подошёл совсем, а Tk оказался практически идеален.

    Вдобавок, написанное на Qt / GTK приложение придётся через 10 лет либо выкидывать, либо переписывать на новой версии фреймворка, в то время как Tk чуть ли не с 80-х совместимость не дропает.

     
     
  • 5.20, pin (??), 17:41, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >  в то время как Tk чуть ли не с 80-х совместимость не дропает.

    За что и респект.

     
     
  • 6.62, Попугай Кеша (?), 10:33, 25/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Мне Clojure поэтому зашел. 12 лет языку, а совместимость не сломали.
     
  • 4.18, Аноним (5), 17:27, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > огромный бинарный блоб

    Ещё и для каждой платформы на каждой архитектуре свой, в то время как скрипт на Tcl/Tk кроссплатформен (в т.ч. на windows можно поставить интерпретатор, к нему привяжется расширение .wish и программы на нём станут исполнимы даблкликом).

     
     
  • 5.31, имя_ (?), 18:44, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >на windows можно поставить интерпретатор

    вот именно, бинарный блоб тем и хорош, что пользователю не надо лишних телодвижений.

     
     
  • 6.38, Аноним (5), 21:54, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    DirectX ставили, Visual C++ Redistributable ставили, дотнет ставили, так же и Tk ставят. В этом куда меньше телодвижений, чем для огранизации кросс-компиляции под их платформу мне, да и поддерживать этот огромный статический бинарь с периодически вылезающими уязвимостями не надо — пользователь сам может обновить библиотеку.
     
  • 6.45, svk28 (ok), 10:35, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На tcl/tk вполне себе можно сделать тот самый "бинарный блоб" со всем чем надо внутре, включая библиотеки и интерпретатор.
     
     
  • 7.53, Unnamme (?), 18:49, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное, просто достаточно запаковать прогамму в архив вместе с wish.exe (или что там у него) и маленьким эксешником (runme.exe). Всё кроме экзешника, и чего ещё там надо - спрятать по подподпапкам, чтобы не запускали wish и т.п.
    Ну и runme.exe будет запускать .\runtime\tcl\wish.exe (или не wish) с параметром .\coll_program\runme.tcl
     
     
  • 8.56, svk28 (ok), 20:08, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    https wiki tcl-lang org page How to compile a TCL script into an EXE program... текст свёрнут, показать
     
  • 4.22, asdasdas (?), 17:46, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Они все ставятся из репозитория одной командой вроде

    А когда это Gtk / Qt начали ставится не одной командой? У Tk (FreeType, пачка X'овых либ, zlib и т.д.) тоже зависимости есть и у зависимостей есть зависимости.

     
     
  • 5.24, Аноним (5), 17:56, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А толку от установленных GTK/Qt? Устанавливай — не устанавливай, а возможности писать однострочники всё равно не будет.

    Для самых примитивных случаев, правда, есть zenity и kdialog, упомянутый выше хелловорлд они реализовать смогут, но накидать в окно произвольных виджетов с их помощью не получится.

     
     
  • 6.30, foo (?), 18:38, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >но накидать в окно произвольных виджетов с их помощью не получится

    Да легко: https://sanana.kiev.ua/index.php/yad

     
     
  • 7.36, pin (??), 21:17, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это как надо упороться, что бы на баше писать такое. Нечитабельно от слова сосвем.
     
  • 7.37, Аноним (5), 21:45, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > yad

    Спасибо, эти ущербные zenity и kdialog теперь даже не вспомню. Но Tk оно не заменит, т.к. не позволяет программировать интерактив.

     
     
  • 8.39, foo (?), 23:46, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У вас требования растут по часам ... текст свёрнут, показать
     
     
  • 9.41, Аноним (5), 01:51, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так я ищу инструменты для широкого круга задач, а не для рисования хелловордо... текст свёрнут, показать
     
  • 7.43, Аноним (43), 04:11, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Да легко: https://sanana.kiev.ua/index.php/yad

    YAD, потому что слово AD было уже занято.

     
  • 2.42, Аноним (5), 02:30, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как правило, гуевые приложения ставят между пользователем и программистом огромную стену, чаще всего непреодолимую: чтобы пользователь смог что-то изменить в гуевом приложении на распространённых фреймворках (будь то хоть GTK+, хоть Qt, хоть win32 api, хоть Electron), ему нужно где-то взять исходники, установить и настроить среду для сборки и зависимости и научиться всё это компилировать. Причём некоторые из этих шагов могут быть как неочевидны, так и вообще невозможны (закрытые исходники).

    Фреймворк Tk позволяет обойтись без этой стены. Программы на нём в готовом виде представляют из себя исходный код, нередко одним файлом, который пользователь может открыть текстовым редактором и поправить или дописать нужным ему образом, после чего без лишних телодвижений запустить.

     
     
  • 3.48, пох. (?), 13:28, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    жаль что он не знает tcl, поэтому на самом деле - из вашего списка может только первое - открыть.

    На то он и "пользователь".

    А разработчики или админы, умеющие tcl, давно вымерли как мамонты.

     
     
  • 4.50, Аноним (5), 14:36, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Когда я был молодым и зелёным, то тоже не знал Tcl, но это не мешало мне править существующие и писать по аналогии новые скрипты на irc-бота eggdrop. Главное чтобы возможность была на поверхности, а пытливый ум, который её обнаружит и реализует, найдётся.

    «Пользователь» — это вообще ущербный оператор компьютера, недоученный. Полноценный оператор называется программистом, и мешать пользователю становиться программистом, предоставляя ему вместо софта лишь кучу бинарных блобов, особенно закрытых — преступление.

     
  • 4.51, Михрютка (ok), 18:40, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да ладно? Самое странное место, где я встретил TCL, было редактор сейвов для котора. Вполне себе редактировался пользователем, то есть мной.
     
  • 3.57, Аноним (57), 20:34, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Фреймворк Tk позволяет обойтись без этой стены. Программы на нём в готовом виде представляют из себя исходный код

    QML

     
     
  • 4.69, Аноним (5), 08:43, 26/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, это именно то, что я тогда искал. Но теперь мне кажется, что это даже к лучшему, что тогда я его не нашёл и приспособил сабж.
     

  • 1.7, Аноним (7), 16:40, 22/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    У Столлмана, говорят, жутко бомбило с Tcl вообще и с господина Остераута в частности
     
     
  • 2.8, xm (ok), 16:44, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "Значит хорошие сапоги. Надо брать".
     
  • 2.10, Аноним (10), 16:49, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это когда Столлман топил за консольку? Столлман известный флюгер, только вращается в след за своими сектантами, а не общественным мнением.
     
     
  • 3.25, Аноним (25), 18:12, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Путь пользователей усеян злодеяниями проприетарщиков. Блажен тот, кто именем доброй воли показывает, как пастырь, несчастным и слабым путь к свободному ПО, ибо он и есть истинный пастырь.
     
  • 2.49, Аноним (49), 14:20, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Столлману не нравилось, что Tcl продвигали в качестве стандартного языка расширений, потому что расширения сами могут быть большими и сложными программами, и для их разработки нужен полноценный язык программирования (Столлман предложил Лисп), а не ограниченный скриптовый язык (Столлман указал на конкретные ограничения Tcl): https://groups.google.com/forum/#!msg/comp.lang.tcl/7JXGt-Uxqag/3JBTj5I43yAJ

    Не знаю, насколько Tcl развился с тех пор, и актуальны ли сегодня замечания Столлмана.

     
     
  • 3.52, Михрютка (ok), 18:44, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вы этот срач читали? Там ОП наклали полную панамку уже в первом десятке ответов. Обоснованно.
     
     
  • 4.60, Аноним (60), 18:32, 24/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Читал, и вы дальше этого десятка прочитайте.
     
  • 3.58, Michael Shigorin (ok), 20:48, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ричарду бы понять, что лисп -- это не всегда гвоздь от _этой_ стены...

    // если что, начинал с того финского двухтомника;
    // Остерхута себе тоже на матричнике ещё распечатывал

     

  • 1.26, user90 (?), 18:13, 22/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У меня всегда лицо дергается, когда я вижу что-то на Tk.
     
     
  • 2.28, Аноним (5), 18:29, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Из-за отсутствия градиентов на кнопках?
     
     
  • 3.32, user90 (?), 19:04, 22/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Гуй изначально имитирует физические объекты (кнопки, вкладки), Tk тут не особо старается. Про градиенты - к кдешникам))
     
     
  • 4.40, Аноним (5), 01:41, 23/11/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А языки программирования имитируют человеческие языки В той же мере Вопрос ст... большой текст свёрнут, показать
     

  • 1.47, ayu3Yah0 (?), 12:44, 23/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Смежный проект Androwish (http://www.androwish.org/) ставит целью запуск скриптов без изменений, либо с минимальными изменениями на android. Вполне рабочий вариант, если нет желания или возможности устанавливать интерпретатор с библиотеками, т.к. уже включает батарейки.
    Помимо того, что tcl сам по себе весьма портабельный, так теперь сделать еще проще в том числе и для погремушек. Как для приложений может и под вопросом, а в качестве изоленты -- вполне себе.
     
     
  • 2.74, Мдфвшьшк (?), 18:45, 20/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я прошерстил AndroWish. Замечательная штука. Даже бинарники позволяет запускать. Мой проект на Android с Androwish можно посмотреть здесь https://habr.com/ru/post/492110/
     

  • 1.59, Stax (ok), 12:15, 24/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как там с полноценной поддержкой hidpi, пилят аль нет?

    В 8.6.8 приложения в hidpi окружении выглядят так, что просто туши свет.

    Замечу, даже gimp на древнем gtk2 (пусть и с пачкой хаков) абсолютно юзабелен в hidpi .

    Я понимаю, что поддержка emoji, улучшать отрисовку на macOS и добавлять нескучные обои это весело, модно и молодежно, а hidpi это скучно и никто над этим работать не хочет (тем более что судя по https://wiki.tcl-lang.org/page/High+Resolution+Displays и предложениям добавлять хаки типа "установить шрифт в два раза крупнее" в конечные приложения, работы там вагон, а еще и конь не валялся). Но, может, если они хотят, чтобы этим кто-то продолжал пользоваться, они что-нибудь сделают насчет hidpi на линуксе? А не только темную тему для мак оси???

     
     
  • 2.61, Аноним (5), 02:24, 25/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Как там с полноценной поддержкой hidpi

    Всегда была нативная, Xlib же. С восьмидесятых годов, вероятно.
    for dpi in 48 75 96 120 160 320; do xrandr --output LVDS1 --dpi $dpi && wish <(echo "button .b -text {$dpi dpi}; pack .b") &; sleep 0.1; done
    https://imgur.com/a/YHpHCkl

     
     
  • 3.67, Анонимленьлогиниться (?), 07:36, 26/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вы, пожалуйста, не кнопку так покажите, а, к примеру, tkabber. Применить scale к кнопке изнутри приложения можно даже в Gtk+ 1 20-ти летней давности.
     
     
  • 4.68, Аноним (5), 08:39, 26/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > tkabber

    Отлично скейлит интерфейс, разве что кроме пиктограмм на тулбаре. Проблем не обнаружил.

    > изнутри приложения

    Не изнутри приложения, а в параметрах монитора сессии X11 (которые управляются посредством xrandr). Изнутри приложения в этом примере меняется только текст кнопки.

    > можно даже в Gtk+ 1

    Можно, да. Это не win32 api, где виджеты прибиваются гвоздями к пиксельной сетке и от увеличения шрифтов перестают вмещать надписи.

     
     
  • 5.71, annual slayer (?), 18:26, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я давно эту тк-ашную парашу вычистил дустом, но всё-таки обнаружил gitk (который прилетает внутри пакета с самим гитом)

    пруфы заскейленого gitk и git gui -- или балабол

     

  • 1.63, Аноним (-), 11:22, 25/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    лучший тулкит, ящитаю - легковесный и с логичным синтаксисом. Жаль только что не завезли возможность мимикрировать внешний вид под темы других тулкитов (как с qt через kvantum, например)
     
     
  • 2.64, antares0 (?), 12:14, 25/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Жаль только что  не завезли возможность мимикрировать внешний вид под темы других тулкитов (как с qt через kvantum, например)

    Было. Никто не заметил и ушло в историю.


     
     
  • 3.65, Аноним (5), 22:29, 25/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Попсовые тулкиты слишком быстро дропают совместимость со старыми версиями, чтобы на них что-то могло остаться.
     
     
  • 4.66, Anonymoustus (ok), 00:17, 26/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Попсовые тулкиты слишком быстро дропают совместимость со старыми версиями, чтобы на них
    > что-то могло остаться.

    На WinAPI надо писать. У ней вся Винда тулкитом.

     
     
  • 5.70, Аноним (5), 08:44, 26/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Tk имеет на нём бэкенд, и выглядит он вполне себе нативно.
     
     
  • 6.72, annual slayer (?), 18:28, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    значит, если запускать через wine-staging -- можно получить интеграцию с GTK3 темами ^__^
     
  • 2.73, annual slayer (?), 18:40, 21/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ничего там не мимикрирует, там тупо захардкожена Adwaita, может еще пара тем

    в основном причина в заднепроходных гномодизайнерах, которые принципиально против документирование StyleContext-а в GTK3, как часть их внутренней кампании против тем -- чтобы больше людей были вынуждены наслаждаться их state of art дизайном

    а ковыряться в исходниках, зная что это незадокументированное АПИ и в следующей версии запросто может быть всё переименовано -- никто адекватный не будет

    если открыть код фуррифокса или хрома по интеграции с ГТК3 -- там просто полный пи³дец, мне кажется писать его -- было наказанием для часто-опаздывающих в офис работников или за какие другие трудовые провинности

     

  • 1.75, Владимир (??), 18:49, 20/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Приложение на Android - https://habr.com/ru/post/482574/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру