LINUX.ORG.RU

GNU guile-ncurses версия 1.2

 , , ,


0

1

Майк Грэн (Mike Gran) сообщает о выходе новой версии библиотеки GNU guile-ncurses v1.2, предназначенной для создания текстовых пользовательских интерфейсов с помощью Guile - диалекта языка Scheme - с применением средств ncurses.

Основные изменения:

Компоненты библиотеки адаптированы для использования функций проверки условий модулей srfi-34/35. Добавлены функции curses-wrong-type-arg-error?, curses-bad-state-error?

Новые функции: mcprint, is-subwin?, is-pad?, is-cleared?, is-idlok?, is-idcok?, is-immedok?, is-leaveok?, is-scrollok?, getscrreg, has-mouse?, is-keypad?, is-meta?, is-nodelay?, is-immedok?, is-notimeout?, getmaxx, getmaxy, getbegx, getbegy, getparx, getpary, getcurx, getcury

Новые вспомогательные функции: wcwidth, standout, standout-on, standout-off

Три функции переименованы: wsyncdown -> syncdown, wsyncup -> syncup, wcursyncup -> cursyncup

>>> Подробности



Проверено: maxcom ()
Последнее исправление: OldFatMan (всего исправлений: 1)
Ответ на: комментарий от anonymous

>К слову у transmission есть gtk-ui.

который не умеет работать через RPC, в отличие от

lazyklimm ★★★★★
()

Прикрутили никому не нужную библиотеку к одному из интерпретаторов одного из диалектов лиспа - как круто!

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

> Вы что-то имеете против Qt?

Против этого куска гумна? Гумна, в котором чтобы создать поток, надо наследоваться от QThread? Гумна, в котором нельзя делать шаблонных наследников от QOBject (с Q_OBJECT)? Гумна, в котором толком не работают сокеты, а соответствующй тикет в трекере висит с осени? Гумна, в котором сигналы-слоты проверяются в рантайме? Нет, против этого гумна я ничего не имею.

Но вот когда поливают грязью такую прекрасную и технически совершенную вещь, как gtk - пройти мимо не могу

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

иллюзия.
при пингах овер 400-500 тормозит так же.

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

Зачем вы попросили меня дать примеры незаменимых программ? Незаменимых вещей вообще не существует, а степень качества программы зависит от многих факторов, которые по большему счету определяются мастерством разработчика, а не тулкитом. Тулкит ведь сам по себе не может написать незаменимый софт. Однако я вижу тормозящие виджеты меню и совершенно феерический диалог выбора файлов. Тут не отвертеться, это проблемы gtk. Ну и конечно шрифты, их рендеринг в GTK меня просто убивает, хотя это наверное субъективно. Нужно тратить кучу времени для того чтобы они выглядели хоть немного лучше. ГнилойТулКит, который нужно дорабатывать до приемлемого качества? Увольте. Ну и переучитесь, чтобы уметь работать с Qt, когда ваша архаика умрет наконец-то, а то так и останется что на лоре поливать говном то что не смогли осилить.

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

>тормозящие виджеты меню

cel1200/интеграшка savage, gtk-шные виджеты в общем прорисовываются быстрее qt-ных.

совершенно феерический диалог выбора файлов.

диалоги выбора файлов вообще унылы, я стараюсь ими не пользоваться.

progname /path/to/filename либо как в emacs

Ну и конечно шрифты, их рендеринг в GTK меня просто убивает, хотя это наверное субъективно.

у меня одинаково выглядят

ГнилойТулКит

провокация flame

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

>Зачем вы попросили меня дать примеры незаменимых программ?

За тем, что на «мертвом» и «неудобном для разработки» флагманские приложения мира GNU писать не будут.

Ну и конечно шрифты, их рендеринг в GTK меня просто убивает, хотя это наверное субъективно. Нужно тратить кучу времени для того чтобы они выглядели хоть немного лучше

Субъективно, я того же мнения о размыленных шрифтах куте

феерический диалог выбора файлов

Опять субъективно. Он мне вполне нравится, а вот аналог виндового диалога, что предоставляет для этих целей - ничем не лучше.

переучитесь, чтобы уметь работать с Qt, когда ваша архаика умрет наконец-то, а то так и останется что на лоре поливать говном то что не смогли осилить

Чувак, ты по ходу не понял. Я одинаково успешно использую оба тулкита, и за знание и того, и другого мне платят деньги. А то откуда бы я знал вышеприведенный список раздражающих косяков, как не из собственного опыта?

И чёрт меня дёрнул последний проект писать на куте. Каюсь, купился на унифицированный QtSql. Огрёб в итоге столько граблей, что больше ни в жизнь. Разработчикам на куте надо доплачивать за моральную травму.

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

> Сам начал писать интерфейс на Qt (альтернатив которому для постороения GUI нет)

Открой для себя уже, ну скажем Глэйд. А если тебя вставляет С++, в придачу к нему gtkmm. И хорош уже тут народ веселить.)))

anonymous
()
Ответ на: комментарий от yoghurt

>За тем, что на «мертвом» и «неудобном для разработки» флагманские приложения мира GNU писать не будут.

Вы про Qt спросили. Ну что ж, для меня осталась только одна незаменимая программа на GTK — Inkscape. В остальном достаточно аналогов, даже Firefox, медленно и плохо, но портируют на Qt. Так что вопрос времени.

Опять субъективно. Он мне вполне нравится, а вот аналог виндового диалога, что предоставляет для этих целей - ничем не лучше.

Он слишком прост и топорен. В Qt я могу например использовать интеграцию с nepomuk, мне нужно только набрать в адресной строке nepomuksearch://res/wallpapers и увидеть список всех изображений с тегом «wallpapers». Можно даже делать закладки для поиска по тегам. Это на самом деле удобно, но с gtk, черт возьми, можно только мечтать об удобстве пока у разработчиков какие-то собственные представления о том что такое эргономика и простота.

Ну а о том, как писать на кутях, спорить в треде про ncurses и scheme неуместно.

Hexs
()
Ответ на: комментарий от maxcom

>взамен предлагаю уже не делать таких приложений

А чем можно заменить, например, ncmpcpp?

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

Гтк/кути-поделия жрут лишнюю память, а mpd + ncmpcpp незаметны и прекрасно выполняют свою задачу. Гуй для такого излишен, а чистая консоль - неудобна.

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

> А чем можно заменить, например, ncmpcpp?

плеером в кармане

Гтк/кути-поделия жрут лишнюю память

А ты из в 32-бита собирай, тогда они много съесть не смогут

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

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

Hexs
()
Ответ на: комментарий от maxcom

Мнянонимуса, к примеру. И суть вовсе не в сказанном OldFatMan. Проблема глубже. Отчего бы часть пользователей считает текстовый режим пережитком прошлого? Кэп подсказывает: множество ui включает в себя подмножество cui и gui библиотек. Все же я бы рекоммендовал рассматривать cui (ncurses, в частности) как альтернативную ветвь ui, а не пережитком.

P.S.: К примеру, я часто работаю в vim и вовсе без Х'ов, да и mplayer бегает без gui и мышь часто спит.. Это всего лишь мой выбор.

anonymous
()
Ответ на: комментарий от maxcom

>плеером в кармане

Я, конечно понимаю, что и главному модератору хочется иногда потроллить, но это слишком:) Плеер в кармане не замена софтварному плееру, и наоборот. Разные условия использования, разные задачи.

А ты из в 32-бита собирай, тогда они много съесть не смогут

Вопрос не в том, сколько они жрут. Просто есть задача - выбрать музыку из списка и запустить её. Можно составить плейлист чтобы потом дальше само играло. А требование - удобный интерфейс.

Вот ncurses-интерфейс от упомянутого мною ncmpcpp - удобный. Не хуже чем гтк. Но гтк в любом случае будет потреблять больше. А зачем тогда он, если разницы нет? Пусть и в современных условиях на память в этих масштабах наплевать, но, имхо, рационализм должен быть везде.

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

>Открой для себя уже, ну скажем Глэйд. А если тебя вставляет С++, в придачу к нему gtkmm.

Кстати как ни странно gtkmm не особо прижился. Частенько разрабы не запариваются и в cpp'шный код цепляют нативнные либы без биндов.

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

>P.S.: К примеру, я часто работаю в vim и вовсе без Х'ов,

vim не юзает ncurses (и я не понял вброса кого-то там выше про vim). И иксовый gvim подруливает очень многим.

да и mplayer бегает без gui и мышь часто спит.. Это всего лишь мой выбор.


mplayer безусловно не нуждается в GUI, но причём тут сабж опять таки?

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

> vim не юзает ncurses

Что вы говорите?

mplayer безусловно не нуждается в GUI, но причём тут сабж опять таки?


man ldd

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

Я даже больше скажу:

$ ldd /usr/bin/cal

anonymous
()

Годная новость.

guile-ncurses очень нужная вещь. А вообще, больше библиотек для Scheme-хороших и разных. Ведь это потрясающий язык, настолько совершенный, что подобен брильянту. И незаслуженно забытый, к сожалению.

lucentcode ★★★★★
()
Ответ на: Годная новость. от lucentcode

Да, но тебя сейчас обосрут всякие жирдяи. Чего это он забытый? В нашей стране просто непопулярный.

Hexs
()

Кому не нравится ncurses - немедленно удалите его из системы 8)

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

>> А чем можно заменить, например, ncmpcpp?

плеером в кармане

А как им активировать мои 5 колонок и резонатор? Однодиновая пищалка - та справляется, а как из кармана-то?

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

> Но нафига скажем mplayer'у оно не пойму. Где он его использует?

Для поддержки вывода через aalib. Для получения сведений о терминале (man 5 terminfo).

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

Я и не претендовал на «раскрытие глубины проблемы». Просто привёл несколько примеров.

Текстовый режим вполне современен. А та «часть пользователей», которая «считает текстовый режим пережитком прошлого» видимо начинала свою деятельность сразу с GUI - отсюда и заблуждение.

Кстати, вот мне никто толково так и не смог объяснить, чем текстовый интерфейс хуже GUI.

Впрочем, действительно - личный выбор каждого...

OldFatMan
() автор топика
Ответ на: комментарий от d1337r

>Консольный софт всё ещё актуален.

Программы на ncurses - это уже по сути не консольный софт, а просто один из видов гуя. Со своими плюсами (малое потребление ресурсов, возможность работы без иксов) и минусами (невозможность сделать различные графические элементы, низкое разрешение).

anonymous
()
Ответ на: комментарий от maxcom

>кого в 2011 году интерисует ncurses? они бы еще turbo vision притащили

Кажется, я понял значение этой фразы.

Имеется ввиду не то, что текстовые интерфейсы как таковые не нужны, а не нужны текстовые интерфейсы, основывающиеся конкретно на ncurses.

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

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

А если не секрет и не лень, можно немного подробнее: в чём именно «непотребство» ncurses заключается?

PS: Не троллинга ради - конкретные мнения интересуют. Буквально 2-3 предложения.

OldFatMan
() автор топика
Ответ на: комментарий от OldFatMan

Во первых, явной заточенностью под допотопные терминалы. Весьма во многих элементах архитектуры оно заметно (как то, требование указывать при инициализации, что де мой терминал таки умеет работать в многоцветном режиме, и это в 2011-м то году).

Во вторых, работать с юникодом даже в ncurses оказалось весьма нетривиально. Я вечер с ним поигрался, но так вывести юникодный символ на экран и не удалось. Хотя с эксперементальным termbox'ом получилось сходу без малейшего напряга. Плюс еще добило то, что, как оказалось, питон по умолчанию слинкован с curses, а не с «якобы» юникодным ncurses.

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

Это так, навскидку.

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

1 - Вы будете смеяться, но и в 2011 году встречаются работающие монохромные терминалы. Сам видел.

2 - Недавно, в октябре-ноябре прошлого года привлекли меня в небольшой проектик. Приложение безGUIное, в локальной сети крутится. Так там конфигурационный модуль с ncurses написан был. Я посмотрел - всё работает, всё на русском и даже «симпатишненько» выглядит. Локаль, разумеется, юникодная, русская. Я не спрашивал, но судя по всему проблем с юникодом не было.

3 - Обработка Escape-последовательностей - куда ж без неё!

А в общем Ваши замечания понятны - спасибо за ответ!

OldFatMan
() автор топика
Ответ на: комментарий от OldFatMan

Все желающие могут устаносить rtorrent и убедиться в отсутствии проблем с локалью.

Все желающие могут выполнить make nconfig в исходниках ядра и убедиться в принципиальной возможности нажимать на Esc один раз.

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

Все желающие могут устаносить rtorrent и убедиться в отсутствии проблем с локалью.

Так о чём я и говорил. Запустил консольный проигрыватель mocp и убедился в отсутствии проблем с локалью (названия на русском языке читаются нормально).

Все желающие могут выполнить make nconfig в исходниках ядра и убедиться в принципиальной возможности нажимать на Esc один раз.

И чо? :-)

Я где-то сказал, что такое невозможно?

OldFatMan
() автор топика
Ответ на: комментарий от OldFatMan

Я просто ответил не тому. Ну а раз уж ответил вам, воспринимайте это как слова в свою поддержку, а не возражение :-)

anonymous
()
Ответ на: комментарий от maxcom

>кому нужны TUI приложения?

Муа. Пока не нашел ни одного графического файлового менеджера который переварит моя нервная система.

r ★★★★★
()
Ответ на: комментарий от post-factum

>Хм… я вот в псевдографике ядро конфигурю. Считаю, что удобно.

Навернулись после апдейта Xы, запустил яст в консоли - все вернул обратно - и нормально.

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

Вот, кстати, да - истинная правда.

Имхо, единственный «кандидат в претенденты» - Gnome Commander, но и он не дотягивает: много чего не умеет из того, что умеет mc. К тому же всё равно имитирует в графике TUI-интерфейс a-la mc.

OldFatMan
() автор топика
Ответ на: комментарий от Hexs

> Ну если вы знаете какой-то другой удобный тулкит, не являющийся при этом засохшим говном мамонта, то проинформируйте.

wxWidgets же!

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

> Ну если вы знаете какой-то другой удобный тулкит

А чем GTK не устраивает?

anonymous
()

Когда в ncurses пофиксят артефакты, связанные с юникодом и с кириллицей в частности, тогда и посмотрю в его сторону. А пока он относится к разряду УГ мамонта, не понимающего юникод.

Пользуясь случаем, хочу спросить о рабочих альтернативах curses/ncurses.

anonymous
()
Ответ на: комментарий от pylin

Это он видимо о centerim...., который действительно некорректно работает в русской unicode локали. Пользуюсь mocp, mc, nconfig, aptitude... как без ncurses «жить»?

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