Закачал и посмотрел на систему сборки. Острых ощущений хватило на целый вечер. Я пакеты для одного из нашенских дистров собираю и сразу вам скажу - ЭТО туда не попадёт. Не столько по причине зависимостей (соберём что надо), сколько из-за страшной системы сборки (слишком много стругать надо). Попробуйте осилить нормальную систему сборки (autotools||scons) не пихая всё подряд в дистрибутив. Сам-то редактор выглядит многообещающе.
Да ладно уж скриншоты старого скетча показывать. То, что он из коробки не работал с русским на какой-то момент, ни о чём не говорит. В тулките как помнится всё прямо сделано, проблем нет. Можно и доделать (другое дело, что и систему сборки скетча не смотрел ни разу). Про облагораживание внешнего вида тулкита - тут три варианта по крайней мере:
1) Проталкивать в апстрим (если уже не, тогда требовать нужную версию).
2) Форкнуть (или найти кто форкнет и скооперироваться).
3) Написать и поддержать в актуальном состояний патч-сет.
Сомневаюсь, что Гуидо ван Россум или Остерхауз, радостно взвизгнув, начнут патчить Питон и Тикль. :) Более того, их народ просит об этом уже не один год, а мотиффообразина как была так и есть.
Ну у каждого свое мнение на этот счет. Можно было бы извратится и ЧАСТИЧНО заюзать системный Питон. Все остальное - в стаильных дистрах отсутствует. Кроме того, если вы заметили, патчились пакеты, причем не все патчи легко интегряться с системными приложениями.
Короче рассматривайте это все как один дистрибутив. Ну если вам больше греет душу один на все configure/make/make install, то как вы понимаете, его не сложно сотворить.
>То, что он из коробки не работал с русским на какой-то момент
Вы думаете, что что-то поменялось? ;) Ну разве, что в порте на Gtk.
> Сомневаюсь, что Гуидо ван Россум или Остерхауз, радостно взвизгнув, начнут патчить Питон и Тикль. :) Более того, их народ просит об этом уже не один год, а мотиффообразина как была так и есть.
При чем питон и тикль - не пойму. Чего там конкретно патчить, то? Насколько я в курсе, там как раз всё прямо сделано. Другое дело, что кто-то своё старое приложение на более новую (и прямую) версию тулкита не портировал или забросил проект. Про мотиф - где вы его видели в питоне ? Есть отдельные привязки. В дистрибутиве идёт только Tkinter - да и тот как помнится собирается с системными либами.
Чего это такого народ просит? Не знает сам толком, чего хотеть.
> Ну у каждого свое мнение на этот счет. Можно было бы извратится и ЧАСТИЧНО заюзать системный Питон. Все остальное - в стаильных дистрах отсутствует. Кроме того, если вы заметили, патчились пакеты, причем не все патчи легко интегряться с системными приложениями.
Частично - это сильно. Такого извращения давно не слышал. Что ж вы там такое запатчили, а? Что с того, что в стаильных дистрах что-то отсутствует? На это (превьюшки типа нашего случая) есть нестабильные ветки. Что бы это значило - "патчились пакеты"? Слышал, сорцы патчат. Про пакеты готовые - не слышал.
> Короче рассматривайте это все как один дистрибутив. Ну если вам больше греет душу один на все configure/make/make install, то как вы понимаете, его не сложно сотворить.
Может тогда и имя какое этому дистрибутиву дадите? "sK1 Linux preview editon" например? Ядра и нескольких либ только не хватает. Запатчите их и готово.
> Вы думаете, что что-то поменялось? ;) Ну разве, что в порте на Gtk.
Про Gtk не скажу, не писал на нём. Но почему-то когда я ещё года три назад писал приложение на Python2.1/2.2/Tkinter, то у меня и с англиским и с русски всё было нормально. Китайский что-то не попробовавал, но, подозреваю, и он бы заработал нормально. Писать надо прямо.
> Игорь, не позорься. Скажи в кубунте sudo apt-get install sketch и фтыкай в корректное отображение кириллицы в менюхах скетча :)
+1
А то новый подход какой-то - задавать конфиги в рамках библиотеки и компилировать их в бинарный код. Приложения надо писать лучше/патчить/конфигурить (если библиотека приличная, а все вышеупомянутые такими вроде являются).
Эт нечестно :)) в Тикле utf-8 а Скетч на iso-8859-1 ориентирован. Или я неправильно че-то в сорцах смотрел? Интерфейс еще можно натянуть на utf, но внутреннею шрифтовую систему - фиг.
> Дефолтный Тикль много чего не поддерживает, напр. антиалиасинг шрифтов. Ну а 8.5a в дефолты никто не ставит.
Кто заставляет ориентироваться на дефолты? И у вас нестабильная ветка, и у них - это не значит, что надо стабильную переписывать. Надо требовать наличия в систему пакета нужной версий. Поверьте, если программа хороша, она и без фокусов типа "велосипед, чтоб под существующие дистры работало" получит широкое распространение. Пусть даже и со временем. Там и функционал подтянется и дефолты.
> Дефолтный Тикль много чего не поддерживает, напр. антиалиасинг шрифтов. Ну а 8.5a в дефолты никто не ставит.
о ситуации со шрифтами в тк я в курсе
мой вопрос в другом -- допустим меня вполне устраивает дефолтный внешний вид а-ля мотиф; смогу ли я запустить ваш редактор (возможно с небольшим напильником), или там какая-то существенная функциональность зависит от патченого Tk?
canvas наприме какой-нибудь особый или ещё что-то?
канвас вообще не тиклевский :) Не стоит пытаться - конструктор мы не старались делать. Ну уж звыняйте - хотели все-таки редактор получить, а не набор универсальных запчастей.
1. Невысокий перформанс.
2. Как вы себе представляете имплементацию альфа-канала или поддержку ICC на тиклевой канве?
3. Антиалиасинг где брать будем? меня инковцы этим просто задрали.
Да и еще много разных фич, больших и маленьких. Да, не все они заимплеменчены, но так хоть есть возможность, а вот ждать от оф.тикля - ну это просто наивно.
допустим. Тогда ваши предложения в студию - как будем фиксить через то самое место в рантайме системную тиклю:
Антиалиасинг шрифтов ("нехорошая" сборка freetype - незаконна)
Zoom опция для окна - ну на весь экран программно.
Икону для окон так чтоб не xbm 2-х цветный
Меню как-то причесать, привести к божескому виду...
Короче говоря - http://wiki.tcl.tk/10630 Осилите на ходу поправить - честь вам и хвала. Ведь там совсем немного - пару-тройку тысяч строк кода нехватает ;)
Кстати, Tkinter тоже вдоль и поперек перелопачен.
А вопрос относительно мотиф-стайл - для любителей извратов можно запустить тему Default (ностальжи). Текущий Plastik - это всего лишь одна из тем. Жаждущим попробовать - копать в sK1/lib/tk8.5/tk.tcl
>Надо требовать наличия в систему пакета нужной версий.
Самый верный путь в небытие - большинство дистров этих пакетов не имеет. Кроме того, вы никогда не задумывались, что Тикль не для красоты болтается в системе? Равно как и Питон? И заменять их на unstable...
>>Надо требовать наличия в систему пакета нужной версий.
> Самый верный путь в небытие - большинство дистров этих пакетов не имеет.
Есть такая тенденция - если разработчик программы бойтся ухода её в небытиё, то либо программа так плоха, либо такой разработчик. Пакеты нужных версий в дистрибутиве - дело майнтайнера этих пакетв в оном, не ваше.
> Кроме того, вы никогда не задумывались, что Тикль не для красоты болтается в системе? Равно как и Питон? И заменять их на unstable...
Тот, кто хочет пробовать новый софт и сидит на unstable, как ни странно (либо делает точечные обновления). Типа ваша программа вся такая rock-stable.
Короче говоря, Тикль по-любому придется с собой возить - его еще патчить и патчить. От Питона, вчера подумали, вроде можно избавится. И даже нужно - его билд занимает большую часть времени. Tkinter тоже нужен свой, но это не проблема, поскольку это одна либа.
> А можно узнать конкретные причины, по которой не подошла тиклевая канва?
тут-то как раз всё вполне очевидно -- то, что может понадобиться векторному редактору, вполне может выходить за пределы необходимого для тиклевой канвы, и поэтому вполне разумно иметь собственный виджет над которым у разработчиков полный контроль.
>тут-то как раз всё вполне очевидно -- то, что может понадобиться векторному редактору, вполне может выходить за пределы необходимого для тиклевой канвы, и поэтому вполне разумно иметь собственный виджет над которым у разработчиков полный контроль.
Я неспроста спросил этот вопрос. Не с целью уколоть, а узнать. Сейчас делаю кое-кой проектик небольшой, который использует канву Tk. Вот я и пытаюсь узнать, почему надстройки над родной канвой Tk не спасают и надо цеплять какой-то другой виджет для этого.
Ну вот AP парвильно спросил про пересчет цветов и перерисовку. Ответ был, что типа можно надстройку написать, но это все-равно уже не канва Tk. А, по-моему, она и есть, просто функции расширены. Вот насчет антиалиасинга границ фигур, я не знаю. Можно ли это сделать на более высоком уровне, не переписывая родную канву? Если можно нарисовать графический примитив, то можно и в алиасингом поиграться
И все-таки я бы попытался насущные функции по доработке канвы попытаться пихнуть в основную ветку Tk. Мне так показалось по ответам автора, что он не пытался. Слова "думаете, он захочет?" (точно не помню) говорят о том, IMHO, что попыток не было. :) или я неправ?
> Вот насчет антиалиасинга границ фигур, я не знаю. Можно ли это сделать на более высоком уровне, не переписывая родную канву?
насколько я понимаю то как Tk работает c X-сервером -- нельзя.
в данной конкретной ситуации для антиалиасинга фигур проще взять opengl-виджет из pyopengl и заюзать с ним библиотеку mirra, в которой все основные графические примитивы уже есть.
ещё я совершенно не вижу способов заставить Tk-канву поворачивать текст и вообще выстраивать символы вдоль произвольного пути.
> И все-таки я бы попытался насущные функции по доработке канвы попытаться пихнуть в основную ветку Tk.
ИМХО это очень политическое и трудоёмкое занятие.
если изменения большие то лучший способ -- сделать форк, довести до ума и показать что это нужно, а потом уж пихать в основную ветку.