LINUX.ORG.RU
ФорумTalks

tkLOR 0.1.0 — толстый клиент для чтения LOR-а


0

0

Написал на досуге толстый клиент для чтения LOR-а.

Основные фичи:
* Представление сообщений в виде дереваю
* Кеширование прочитанных сообщений
* Выделение цветом непрочитанных сообщений
* Возможность носить(вместе с кешем) на флешке и читать ЛОР с одного места как дома так и на работе
* Игнор-лист
* "Избранное" для хранения любимых флеймов

Для работы понадобится:
* Tcl 8.4 или 8.5
* Tk
* Tile
* Tcllib
* (необязательно) Iwidgets v4 (будет использовано для отрисовки HTML в tk8.4)

Не забыты и бедные вендузятнеги: будет работать, если установить ActiveTcl 8.4.17(Tile в комплекте) and ActiveTcl 8.4.13(Tile придётся доустанавливать отдельно).

Скриншот: http://tklor.googlecode.com/files/tkLOR-screnshot.png

Скачать можно тут: http://code.google.com/p/tklor/

Вопросы задавайте здесь, багрепорты -- тоже здесь или в http://code.google.com/p/tklor/issues/list .

★★

Ответ на: комментарий от nanonymous

> У форумов отображается кол-во непрочитанных тем, а у тем в столбце "Messages" всегда "0" - это баг или фича? :)

Скорее фича. Это количество непрочитанных тем. (надо будет переименовать столбец)

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

>> В дебиане он называется tk-tile.

> Ну вот, а в убунте такого пакета нет :)

Советую попинать мантейнеров убунты, чтоб добавили.

К сожалению, именно из-за treeview написать без использования tile не представляется возможным.

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

tile версии 0.7.8

убрал stretch, теперь пишет:
]$ ./tkLOR.tcl
Error in startup script: unknown option "-xscrollcommand"
while executing
"ttk::treeview $f.topicTree -columns {nick header time msg unread unreadChild parent parentNick text} -displaycolumns {header time} -xscrollcommand "$f..."
(procedure "initTopicTree" line 5)
invoked from within
"initTopicTree "
(procedure "initMainWindow" line 16)
invoked from within
"initMainWindow"
(file "./tkLOR.tcl" line 1251)
Font -family Sans -slant italic still in cache.
Font -family Sans -weight bold -slant italic -overstrike 1 still in cache.
Font -family Sans -slant italic -overstrike 1 still in cache.
Font -family Sans -weight bold -overstrike 1 still in cache.
Font -family Sans -overstrike 1 still in cache.
Font -family Sans -weight bold still in cache.
Font -family Sans still in cache.
Font -family Sans -weight bold -slant italic still in cache.
-----
:(((

manntes ★★
()

А зачем "Move to favorites"? Может просто закладки? И как теперь вернуть топик обратно в строй?

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

> А зачем "Move to favorites"? Может просто закладки? И как теперь вернуть топик обратно в строй?

удалить из фаворитов и переобновить список типиков

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

Понятно, тогда дальше смотреть буду, когда домой вернусь :)

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

>> Что-то некоторые треды смешиваются.

>И у меня тоже такое только что произошло.

И у меня.

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

true> В смысле самый страшный?

Нет. Tk вовсе не страшный. Если тебе окошечки с кнопочками в градиенте, да чтобы свистело и пердело в 3D со звуковой системой 5.1 и реалистичной механикой и оптикой, подавать, иди ка ты... перелогиниваться :)

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

> А что надо подкрутить, чтобы работали функции, вызывающие броузер?

нормально прописать в системе x-www-browser

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

> А ещё хочется хоткеи для обновлений и чтобы ссылки в тексте были ссылками.

будет.

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

>> А что надо подкрутить, чтобы работали функции, вызывающие броузер?

>нормально прописать в системе x-www-browser

Сделал ln -s firefox x-www-browser в /usr/bin и всё заработало.

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

>Ну зачем люди пользуются lynx'ом тогда, когда есть links и w3m?
затем, что так удобно

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

> x-www-browser

Это есть только в Debian-based дистрах, насколько мне известно.

Сделай где-то конфиг, с этим самым x-www-browser в качестве дефолтного значения.

INFOMAN ★★★★★
()

fobos% wish8.4 tkLOR.tcl  -configDIR=/home/marsijanin/tlLOR/tkLOR-0.1.1 
Error in startup script: unknown option "-stretch"
    while executing
"$allTopicsWidget column unreadChild -width 30 -stretch 0"
    (procedure "initAllTopicsTree" line 12)
    invoked from within
"initAllTopicsTree "
    (procedure "initMainWindow" line 10)
    invoked from within
"initMainWindow"
    (file "tkLOR.tcl" line 1251)

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

Ещё есть kfmclient openURL - открывает тот браузер, который прописан в качестве дефолтного в KDE Control Center.

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

>> x-www-browser

>Это есть только в Debian-based дистрах, насколько мне известно.

Да, у меня в Арче ничего такого не было.

>Сделай где-то конфиг, с этим самым x-www-browser в качестве дефолтного значения.

Поддерживаю. :)

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

>> Сделай где-то конфиг, с этим самым x-www-browser в качестве дефолтного значения.

> Поддерживаю. :)

Сделаю. Пока что советую сделать sed 's/x-www-browser/any-that-you-like/'

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

> Error in startup script: unknown option "-stretch"

Обнови tile (у меня стоит 0.8.2)

gaa ★★
() автор топика

Автору респект. За саму попытку. Впрочем, остается вопрос о том, насколько оный клиент грузит сервер в сравнении с обычным браузером...

Раз такой клиент возник, значит (сюрприз) веб клиент не идеален. Выпьем же за то, чтобы однажды веб клиент стал столь же мощным и удобным.

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

> Впрочем, остается вопрос о том, насколько оный клиент грузит сервер в сравнении с обычным браузером...

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

Но я уже поднимал вопрос о том, чтобы снизить количество трафика и объём генерируемых данных (http://www.linux.org.ru/view-message.jsp?msgid=2397097). Мне пересоздать запрос по факту теперь уже имеющегося клиента или maxcom на него и так внимание обратит?

> Выпьем же за то, чтобы однажды веб клиент стал столь же мощным и удобным.

За Web 3.0! До дна :)

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

Помнится, K48 нечто подобное на пыхе делал, но его попросили прекратить разработку.

true
()

А пока вы спали, я правил баги и добавлял новые мелкие фичи :)

Итак, в версии 0.2.0:
* добавлена возможность сконфигурировать браузер для открывания ссылок(см. пример в файле config)
* убраны <pre></pre> в режиме "user line break"
* явно указана версия используемых пакетов. Теперь непоняток со старыми версиями Tile быть не должно -- теперь программа банально откажется работать :)
* небольшие улучшения удобств интерфейса
* контектсное меню продублировано также и в главном меню
* добавлены клавиатурные биндинги на часто используемые операции

http://tklor.googlecode.com/files/tkLOR-0.2.0.tar.gz

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

loadConfigFile [ file join $configDir "userConfig" ] - если не закомментировать эту строку, не запускается, причём также происходит ошибка в строке tk_messageBox -title "$appName error" -message "Error loading $fileName\n$err" -parent . -type ok -icon error

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

Error in startup script: can't read "appName": no such variable
    while executing
"tk_messageBox -title "$appName error" -message "Error loading $fileName\n$err" -parent . -type ok -icon error"
    invoked from within
"if [ catch {
        set f [ open $fileName "r" ]
        set data [ read $f ]
        close $f

        uplevel #0 $data
    } err ] {
        tk_mes..."
    (procedure "loadConfigFile" line 2)
    invoked from within
"loadConfigFile [ file join $configDir "userConfig" ]"
    (procedure "loadConfig" line 5)
    invoked from within
"loadConfig"
    (file "/home/<...>/bin/tkLOR.tcl" line 1219)

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

А ещё остался баг с появлением в теме сообщений из других тем после быстрого перескакивания.

nanonymous
()

Жду gtklor и/или qtlor. Или на худой конец liblor. До этого не притронусь.

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

И где этот тов. и где этот backend для гнуса?

Тов. gaa, одобряю конечно, но таки nn-lor был бы намного полезнее, да и написать его проще ;-)

vit122
()

>Не забыты и бедные вендузятнеги: ... (Tile придётся доустанавливать отдельно).

В Tcl/Tk 8.5 уже Tile искаропки.

Для виндовс есть дистрибутив и получше, чем ActiveTcl:

http://wintcltk.sourceforge.net/

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

>И где этот тов. и где этот backend для гнуса?

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

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

веб-клиент по определению не может быть таким же мощным и удобным как нормальный ридер почты

anonymous
()

Ограничение на постинг в 30 секунд. Можно добавить, чтобы если ты писал еще одно сообщение в другом треде, и прошло <30s, то сообщение ставится в очередь.

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

В подобных случаях я всегда спрашиваю определение, в соответствие с которым даются такие громогласные обобщения.

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

в нормальном ридере сообщения уже есть треды, скоринг, сортировка по регэкспам, удобная интеграция с внешним текстовым редактором

глупо переписывать gnus частично сервер-сайд на жабе, частично клиент-сайд на жабаскрипте, лучше сделать удобный не-веб доступ к сообщениям и постингу (хотя бы и через xml-rpc)

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

Поправил: http://tklor.googlecode.com/files/tkLOR-0.2.1.tar.gz .

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

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

> В свое время тов. lg проделал ацкий труд и сделал читалку ЛОР для gnus (Emacs).

Это хорошо, но я предпочитаю vim :) А вообще, больше клиентов, хороших и разных!

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

> Но почему же Tk, бессмысленный и беспощадный (к зрению)?

Во-первых, Tile, он к зрению относится более нейтрально.

Во-вторых, шрифты и внешний вид в tk 8.5 значительно поправили.

PS. Совершенно не буду против клиента на qt/gtk, просто самому лень писать :)

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

Судя по скриншоту, даже тк 8.5 оставляет желать лучшего. Впрочем, может, попробую сам клиент вживую...

Ответ насчет qt/gtk засчитан;)

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

Настройку чего? Внешний вид гуевого приложения должен быть приличным из коробки. В XXI веке живем, туды его..

svu ★★★★★
()

Пофиксил багу со смешивающимися сообщениями при быстром просмотре. Также добавил окошко "please, wait", чтобы гуй отображал хоть что-то при длительных операциях.

На сегодня релиз последний. Ухожу читать матфизику :)

Скачать: http://tklor.googlecode.com/files/tkLOR-0.2.2.tar.gz

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

>Судя по скриншоту, даже тк 8.5 оставляет желать лучшего. Впрочем, может, попробую сам клиент вживую...

Кстати, векторный графический редактор sK1 тов. Linfan тоже, насколько я знаю, на tk8.5, а выглядит вот так:

http://sk1project.org/modules/Products/sk1_images/sk1_pre01.png

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