Блог им. semiletovи вот я выпустил TEA 31

Очередная целочисленная версия текстового редактора TEA. Подробности далее…
====НОВОСТИ ПРО TEA====
TEA 31.0.0, 19 сентября 2011

tea-editor.sourceforge.net
sites.google.com/site/teaw32 (русский сайт для Windows-версии)

Новшеств больше скрытых, чем явных. В связи с грядущим портированием TEA на следующую версию библиотеки Qt, я отказался от двух модулей этой самой Qt — QtScript и QtSVG. На что это повлияло? Во-первых, исчез встроенный интерпретатор JavaScript. Во-вторых, SVG-иконки и вообще чтение формата SVG. Далее, раньше функция «Вычислить» была взята из этого самого интерпретатора JavaScript. Поэтому мне быстренько пришлось написать её аналог самому. В новом варианте, не поддерживаются скобки и различные функции, кроме разве что возведения в степень и процентов (см. руководство для подробностей). Вот я вас обрадовал, правда?
Профили. Поддержка профилей улучшена и исправлена. Напомню, что в профиле сохраняются различные параметры внешнего вида TEA — размер, положение, шрифты, перенос строк, отображение номеров строк и так далее. Например, можно создать профиль «IDE» и «просто текст» и переключаться между ними по мере нужды, через меню либо по горячим клавишам.
Далее. Везде в TEA, где есть поиск, поиск улучшен. Как именно — долго объяснять, но работает удобнее.
Подсветка. Изящнее.
Много других, незримых правок.
С кирпичным пролетарским приветом, Петр Семилетов!
  • +5
  • semiletov
  • 19 сентября 2011, 17:23

Комментарии (32)

  • avatar
  • ghost
  • 19 сентября 2011, 18:36
  • #
  • 0
Чай 31? O_o
задрал мя BlueFish — вспомнил добрым словом TEA буду осваивать… тем более новая версия… спасибо за труд
Я когда-то тоже Bluefish использовал, пока не портировал TEA с вынды под Linux. Точнее, не портировал, а переписал заново :)
Очень хочется раскритиковать.
Во-первых где deb? Почему не думаем о пользователе? Я даже если и могу собрать из сырцов, то принципиально этого не делаю. Точнее делаю в крайнем-крайнем случае(а сейчас явно не тот случай). Неужели сложно завести ППАшку на ланчпаде, где это все собирается из нужной ветки доступно без лишних телодвижений? Это минимум времени займет у девелопера, но сэкономит тысячи человекочасов простых пользователей. Покупайте энергосберегающие лампочки, утепляйте балконы, заставляйте разработчиков собирать пакеты!
Во-вторых, ну что за мицголизмы? Это конечно атмосферно, но разбивает напрочь стандартные подходы пользователя к программам. Есть устоявшиеся специфичные названия, терминология. Править эту терминологию как-минимум неумно по большому ряду причин столь очевидному, что даже не стану объяснять.
31й релиз не смотрел, но осуждаю. =)

Вам мой капиталистический привет! =D
1. Мною при каждом выпуске очередной версии выкладывается бинарник, который достаточно поместить в, например, /usr/local/bin любого современного дистрибутива, и потом можно запускать TEA.
2. Выпуском deb-пакетов TEA занимается Tobias Quathamer, поэтому все вопросы относительно официального deb-пакета — к ведущему пакета.
3. Я не занимаюсь выпуском пакетов. В случае с TEA, когда все ресурсы (документация, иконки) встроены в бинарник, для работы с TEA без ручной сборки оного, достаточно собранного мною бинарника.
Исчерпывающе?
1. Некошерно.
2. Так и надо в даунлоаде дать ссылку на его PPA. Это не требует усилий, зато сильно упростит поиск.
3. Пихать ресурсы в бинарь — это плохой подход, свойственный разве что виндузятникам, имхо.
4. Про мицголизмы в русской локализации решили аккуратно промолчать? =)

Я вообще без всякой задней мысли придираюсь, мне просто действительно интересно, почему так или эдак. Очень часто натыкаюсь на подобные проекты, у каждого конечно свои заморочки, но в итоге мне они начинают казаться несерьезными что ли. Конечно разработчик ничего никому не должен и вообще сам решает, как и что делать, но все-же он хотя бы минимально заинтересован в аудитории своего проекта, так что делать шаги навстречу аудитории все-таки стоит.

Воспринимайте не как жесткую критику, а как некий фидбэк, даже может во многом субъективный.
Спасибо за ответы.

И еще есть вопрос, на который возможно не раз уже приходилось отвечать а зачем вообще tea? Чем он лучше scite, emacs, gedit, vim, %othertexteditor%?
2. Ссылка на бинарник дается на сайте TEA. Чего уж боле?
3. Поскольку ресурсы в TEA невелики по размеру, то «пихание» оных в бинарник — наилучшее решение, т.к. в разных дистрибутивах разные требования к расположению «вспомогательных» файлов, т.е. встроенные ресурсы упрощают приспособление программы к дистрибутивам.
4. Я не знаю значения слова «мицголизм» и не хочу его знать, поскольку русский язык таких уродств не приемлет.
5. «Зачем вообще TEA» — вопрос из разряда «зачем вообще планета Марс». Я не рассматриваю TEA в категории лучше или хуже других редакторов. TEA предлагает определенный набор функций и стиль работы (ничего лишнего, трекер-подобный интерфейс, строка для ввода параметров вместо многочисленных диалоговых окон). Кому-то с TEA по пути, кому-то нет.
2. Есть в системе пакетный менеджер и единый стандарт установки и обновления приложений. Зачем его ломать? PPA — это более предпочтительный метод доставки стороннего ПО или версий, не включенных в официальные репозитории. Причин, думаю, объяснять не надо.
3. Эти требования соблюдаются и поддерживаются другими средствами (например специальные дистрозависимые конфигурационные файлы, которые пишутся ментейнерами, вам надо только дать им такую возможность), незачем гланды удалять дрелью, через сами знаете что. =)
4. Есть такой деятель( Mithgol ), зашедший в деле борьбы за чистоту русского языка в крайность(применяет дореволюционную орфографию и т.д.). Можете ознакомиться с его постами на Хабре, например. Я просто увидел нечто схожее в подходе к локализации, потому и привел сравнение.

5. Хороший ответ, хотя и немного предсказуемый. Спасибо.
PPA — это более предпочтительный метод доставки стороннего ПО или версий, не включенных в официальные репозитории.
… для Ubuntu. :)
… для Ubuntu. :)

будто что-то плохое. =)
хорошее-хорошее, но не единственное :-)
2. В какой системе? Какой единый стандарт? Простите, чего ради я должен выпускать пакеты для Ubuntu? Повторюсь — в мои задачи не входит выпуск пакетов для какого-либо дистрибутива вообще.
3. Я максимально упрощаю работу ведущих пакетов.
4. Я не читаю Хабр.
Есть такая штука как LSB(Linux Standard Base) — набор спецификаций для дистрибутивов для их совместимости между собой. Большинство mainstream дистрибутивов им вполне следуют.
Разве LSB определяет, как именно в Debian переименовываются некоторые файлы исходника и в какой каталог помещаются изображения, используемые программой?
LSB определяет структуру каталогов. Есть такой каталог — /usr/share там можно создать каталог tea и там держать все ресурсы. Это соблюдают все дистрибутивы которые я видел.

Что означает «как именно в Debian переименовываются некоторые файлы исходника» — не распарсил, но думаю на усмотрение maintainer'a проекта
В Debian свои, внутренние правила для всего. Например, файлы документации помещаются в строго оговоренный каталог, а некоторые сжимаются и переименовываются (ChangeLog становится changelog.gz, NEWS — NEWS.gz, COPYING вообще не помещается в пакет). И если из кода программы надо обращаться к этим файлам, то исходник следует приспособить под Debian через переключатели препроцессора. Это лишь один из примеров хлопот, которые доставляет Debian разработчикам, которые хотят, чтобы их программа из deb-пакета работала так же, как программа в сборке для других дистрибутивов.
Я Debian не использую и видел постольку-поскольку, поэтому можете мне показать пункт ихнего руководства который описывает местоположение ресурсов приложения? Из того, что я видел — только ссылка на следование FHS
Поищите самостоятельно, если есть такая потребность.
Если говорить о картинках и вспомогательных вещах, то я не нашёл в руководстве разработчика Debian прямого запрета держать всё что надо в /usr/share/tea например.
Некогда я провёл много времени для того, чтобы приспособить исходники TEA-GTK к Debian, тщательно изучая различные «полиси» Debian и общаясь с ведущим пакета. Сейчас у меня нет желания снова рыться в документации Debian, чтобы вытащить оттуда цитаты.
Под какой лицензией выпускаются исходники?
Уже нашёл. Сделаю пакетик для Fedora. Может и в репы рашнфедора закину.
Общественное достояние (public domain). То же относится к иконкам, шаблонам и прочему. Код — GPLv3.
Нет ли у вас желания перейти на использование некоторых системных библиотек, а не дублировать их функциональность в коде TEA?
Какие именно системные библиотеки?
Ну там zip, ещё что-то…
Кстати, вот и пакеты koji.russianfedora.ru/koji/packageinfo?packageID=166
Ещё можно допилить, десктоп-файл добавить…
Спасибо! Я сделаю на пакеты ссылку на сайте TEA, в разделе Downloads!
Про zip — это не совсем системная библиотека :) Я стараюсь держать зависимости TEA на минимуме, т.е. QT + возможная сборка с hunspell и aspell. ZLIB используется потому, что она входит в состав самой Qt (кроме Debian — там надо устанавливать отдельно), и нужна для поддержки форматов вроде ODT и DOCX. А больше — ничего стороннего.
Но почему? Это жене unix-way.
засада какая-то в 64 битной убунту =(
1) из rpm в deb

vasilisc@vasilisc:~/Загрузки$ alien -d tea-31.0.0-2.fc16.R.i686.rpm 
Must run as root to convert to deb format (or you may use fakeroot).
vasilisc@vasilisc:~/Загрузки$ sudo alien -d tea-31.0.0-2.fc16.R.i686.rpm 
Warning: Skipping conversion of scripts in package tea: postinst
Warning: Use the --scripts parameter to include the scripts.
tea-31.0.0-2.fc16.R.i686.rpm is for architecture i386 ; the package cannot be built on this system


vasilisc@vasilisc:~/Загрузки$ uname -a
Linux vasilisc.intra.net 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:17:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux


2) готовый бинарник
./tea
./tea: error while loading shared libraries: libaspell.so.15: wrong ELF class: ELFCLASS64


3) компиляция

vasilisc@vasilisc:~/wplace/tea$ qmake PREFIX=usr/bin
Project MESSAGE: ASpell enabled
vasilisc@vasilisc:~/wplace/tea$ make
g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DVERSION_NUMBER=\"31.0.0\" -DASPELL_ENABLE -DSPELLCHECK_ENABLE -DNOCRYPT -DNOUNCRYPT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -o rvln.o rvln.cpp
rvln.cpp:38:17: fatal error: QtGui: Нет такого файла или каталога
compilation terminated.
make: *** [rvln.o] Ошибка 1

Уже на первом шаге ошибка — rpm ведь для i686/i386, а ты пытаешься перевести его на 64-битную архитектуру.
дак не вижу 64битные дебы и рпм =(
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.