LINUX.ORG.RU
ФорумTalks

[gui][и всё-таки она вертится] FOX toolkit, adie


0

1

В продолжение треда. Наткнулся совершенно случайно на тулкит FOX и редактор adie. Ну то есть я про FOX и раньше слышал краем уха, но посмотреть не было повода.

Про его внутренности говорить не буду, так как не в курсе — просто несколько чисто внешних наблюдений:

* Диалог открытия файлов. Практически полностью скопирован из винды — хорошие идеи нужно нагло копировать, всё правильно. Довольно гибко настраиваемый режим просмотра, сортировка, простейшие файловые операции, букмарки. Не как кдешный, конечно, но и отнюдь не убогий by design gtk-шный file chooser, все фичи которого — это на самом деле задокументированные баги.

* Диалог выбора цвета. Выбор по цветовому кругу. Выбор по значениям RGB, HSV и CMY ползунками или вводом точных значений. Выбор по палитре стандартных цветов. Выбор/сохранение цветов в пользовательскую палитру из 24-х элементов. Возможность взять цвет «пипеткой» прямо с экрана. Единственное, чего не хватает — возможности ввести цвет в виде значения #RRGGBB.

* В диалоге выбора шрифта можно фильтровать список по character set, width, pitch и scalable.

Казалось бы, неужели так сложно в дизайне стандартных диалогов: не делать хуже, чем есть в уже существующих реализациях. Вот почему у разработчика FOX toolkit это получилось, а у всей толпы авторов gtk - нет?

Текстовый редактор adie - отдельная песня. Боковая панель с деревом файлов. Подсветка синтаксиса. Персистентные букмарки. Поиск с регэкспами. Куча мелких удобств вида «открыть выделенное», «вставить из файла/извлечь в файл», «goto (..», «goto ..)», «select (..)», запоминание позиции в файлах, «search and replace history is stored persistently» и т.п. Разумеется, почти всё это вроде как очевидно и должно быть в любом уважающем себя редакторе. Но почему, блджад, этого нет в редакторах «для простого пользователя»?!

Быстрый. Реально, зараза, быстрый gui. Между двумя окнами редактора переключение происходит мгновенно, я как ни старался, не смог обнаружить никакой задержки отрисовки. Всё остальное — открытие диалогов, реакция на ввод и т.п. — тоже реактивно. Глянул еще пару софтин на этом тулките, но у них отрисовка подтормаживает, не так сильно, как в приложениях на gtk, но подтормаживает. Возможно, кривовато написаны. А этот редактор - непосредственно от автора тулкита, показывает нам, что тулкит на самом деле реально быстрый.

Нет ни поддержки плагинов, ни скриптового языка, т.е. к серьёзной работе редактор не пригоден. Но в данном случае мы имеем редактор, который даже в таком недопиленном виде по юзабилити уже на голову превосходит коллективные поделки а ля gedit. Если к нему еще поддержку скриптования и конфигурабельных хоткеев прикрутить, получится просто отличная вещь.

Жручесть памяти пониженная (в редакторе открыто 2 окна, в одном из которых - html главной страницы ЛОРа) :

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
vadim    10448  1.5  1.3  33412 17844 pts/7    S+   19:36   1:08 adie
При том что на самом деле кучу места там просто сожрал libGLcore:
vadim@host3:~$ pmap -q 10448 | grep -v ':' | awk '$4 != "[" {print $2 " " $4}' | sort -rh | head -n5
11960K /usr/lib/libGLcore.so.173.14.30
3092K /usr/lib/libFOX-1.6.so.0.0.43
2048K /usr/lib/locale/locale-archive
1588K /usr/lib/libGLcore.so.173.14.30
1404K /lib/libc-2.13.so

После открытия 5-мегабайтного html стало так:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
vadim    10448  1.5  2.2  43988 28616 pts/7    S+   19:36   1:19 adie
Для сравнения: на этом же файле gedit и emacs отъедают больше сотни метров и наааачинааааюююют туууупииить.

Разумеется, есть мелкие баги. Т.к. и девелоперская, и пользователськая база у проекта маленькая, это понятно и простительно. Баги можно поправить, недореализованное - реализовать, были бы разработчики.

Что характерно, этот редактор обычно даже не упоминается в статьях типа «обзор 10-ти лучших редакторов для linux» и подобных.

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

>хорошие идеи нужно нагло копировать, всё правильно

Неа. We need another bicycle, bicycle, bicycle...

Софт в *nix уже давно пишется как proof-of-concept и не предназначен для реального применения.

devl547 ★★★★★ ()
Ответ на: комментарий от devl547

> Софт в *nix уже давно пишется как proof-of-concept и не предназначен для реального применения.

Ага. И особенно феерично, что никаких новых concepts он при этом не содержит.

geekless ★★ ()
Ответ на: комментарий от aho

> только для вас - есть вполне объективные параметры вроде скорости отрисовки примитивов, создания/удаления компонентов гуя, скорости обработки событий

ну я уже видел тут эти «объективные параметры» в твоем исполнении.

ну тут Qt во все поля, но к скорости это отношения не имеет


бгг, типа не_фанатик вынужденно истекает объективностью

elipse ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.