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.44, Аноним (44), 07:13, 23/11/2019 [^] [^^] [^^^] [ответить]
| –6 +/– |
70-150МБ. А ещё учти лёгкость переноса и упаковки приложений на электроне.
| |
|
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-х совместимость не дропает.
За что и респект.
| |
|
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, упомянутый выше хелловорлд они реализовать смогут, но накидать в окно произвольных виджетов с их помощью не получится.
| |
|
|
7.36, pin (??), 21:17, 22/11/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это как надо упороться, что бы на баше писать такое. Нечитабельно от слова сосвем.
| |
7.37, Аноним (5), 21:45, 22/11/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> yad
Спасибо, эти ущербные zenity и kdialog теперь даже не вспомню. Но Tk оно не заменит, т.к. не позволяет программировать интерактив.
| |
|
|
9.41, Аноним (5), 01:51, 23/11/2019 [^] [^^] [^^^] [ответить] | +1 +/– | Ну так я ищу инструменты для широкого круга задач, а не для рисования хелловордо... текст свёрнут, показать | |
|
|
|
|
|
|
|
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.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 [^] [^^] [^^^] [ответить]
| +/– |
Вы этот срач читали? Там ОП наклали полную панамку уже в первом десятке ответов. Обоснованно.
| |
3.58, Michael Shigorin (ok), 20:48, 23/11/2019 [^] [^^] [^^^] [ответить]
| +/– |
Ричарду бы понять, что лисп -- это не всегда гвоздь от _этой_ стены...
// если что, начинал с того финского двухтомника;
// Остерхута себе тоже на матричнике ещё распечатывал
| |
|
|
|
|
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 сам по себе весьма портабельный, так теперь сделать еще проще в том числе и для погремушек. Как для приложений может и под вопросом, а в качестве изоленты -- вполне себе.
| |
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 надо писать. У ней вся Винда тулкитом.
| |
|
|
2.73, annual slayer (?), 18:40, 21/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
ничего там не мимикрирует, там тупо захардкожена Adwaita, может еще пара тем
в основном причина в заднепроходных гномодизайнерах, которые принципиально против документирование StyleContext-а в GTK3, как часть их внутренней кампании против тем -- чтобы больше людей были вынуждены наслаждаться их state of art дизайном
а ковыряться в исходниках, зная что это незадокументированное АПИ и в следующей версии запросто может быть всё переименовано -- никто адекватный не будет
если открыть код фуррифокса или хрома по интеграции с ГТК3 -- там просто полный пи³дец, мне кажется писать его -- было наказанием для часто-опаздывающих в офис работников или за какие другие трудовые провинности
| |
|
|