Itnotify - утилита уведомлений о событиях в Linux

Сразу оговорюсь, автор программы не я, автор мой друг. Как-то проскочила идея создать нотификатор для Linux с сайт itbuben.org, как уже догадались работает конечно же на LiveStreet, поэтому тема может быть актуальна для любого проекта на этой CMS с правками на него. Тут подумал, а вдруг полезным окажется и другим. Данный топик рассчитан на сбор идей для Itnotify, поделитесь мнением, это важно по крайне мере для нас, а может быть и не только для нас.

Itnotify сканирует RSS-ки блогов, пользователей и комментариев, а при обнаружении новых тем уведомляет пользователя. Пишется на Си для Gtk+.


Функции

– Уведомление о топиках;
– Уведомление о комментариях;
– Подписка на топики определенных пользователей;
– Добавление в избранное;
– Настройки: выбор блогов, пользовательские URL, поддержка прокси, таймаут и другие.

Скачать

Исходник | deb-пакет для Gnome 3 (Unity) | deb-пакет для Gnome 2

Ручная сборка в GNU/Linux

Для «рукопашной» компиляции требуются пакеты:

build-essential libgtk2.0-dev libgstreamer0.10-dev libnotify-dev libghc-curl-dev


1. Создать каталог itnotify и перейти в него:
$ mkdir itnotify && cd itnotify

2. Скачать itnotify-0.2.deb или itnotify-0.2-2.deb:
$ wget http://itbuben.org/uploads/files/sources/terra/itnotify/itnotify-0.2.deb

3. Распаковать исходник и перейти в каталог для компиляции:
$ ar p itnotify-0.2.deb data.tar.gz | tar zx && cd usr/src/itnotify

4. Скомпилировать:
$ gcc -Wall "itnotify.c" -o "itnotify" `curl-config --libs` `pkg-config --libs --cflags glib-2.0 gtk+-2.0` -lnotify `pkg-config --libs --cflags gstreamer-0.10`

5. Копируем файлы по директориям:
$ cd ../../..
$ sudo cp usr/src/itnotify/itnotify /usr/bin
$ sudo mkdir /usr/share/sounds/itnotify && sudo cp usr/share/sounds/itnotify/* /usr/share/sounds/itnotify/
$ sudo cp -R usr/share/icons/hicolor/24x24/itbuben /usr/share/icons/hicolor/24x24
$ sudo cp usr/share/icons/hicolor/32x32/apps/itballoon.png /usr/share/icons/hicolor/32x32/apps
$ sudo cp usr/share/icons/hicolor/64x64/apps/itballoon.png /usr/share/icons/hicolor/64x64/apps
$ sudo cp usr/share/applications/itnotify.desktop /usr/share/applications


Результат

УвеличитьУвеличитьУвеличитьУвеличитьУвеличитьУвеличить

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

23 комментария

avatar
очень круто. а почему си? не слишком ли трудоемко?
я вот думаю. есть же pygtk, и gtk и python есть под винду…
avatar
Спасибо. На си потому что это желание друга, ну и более правильней с точки зрения кодинга, меньше лишних зависимостей, быстрей, меньше кушает и все такое.

На счет порта в Windows пока речи нет, но так понимаю если сменить пути да подкорректировать некоторые функции все получится, благо сейчас даже Gtk3 под win32 есть хоть и не совсем допилен.
avatar
В утилите много чего добавлено — избранное, личная переписка, а главное по выходу первой стабильной версии будет порт на Win, друг говорит возможно перепишет под WinAPI вместо использования GTK+.
avatar
на винапи хорошо. много виндузятников ибо. таких как я, например
avatar
При портировании на GTK+ слишком много подводных камней получается, нет например джистримера и другие неинтересные заморочки. Проще вести две утилиты одну GTK вторую WinAPI, над последней работа уже кипит.
avatar
Есть первая пре-версия для WinAPI.
avatar
симпотишно.
окно настроек не закрывается крестиком.
рсс вроде парсится )
avatar
по даблклику на новости хотелось бы, чтобы дефолтный браузер открывался
avatar
<title>Забудьте про "Снежинку" :(</title>

к таким заголовкам (которые не обернуты в CDATA), надо бы применять хотябы какое-нить подобие функции декодирования html-сущностей
avatar
ну вот, тут сработало :)

Забудьте про &quot;Снежинку&quot; :(


вот что я имел ввиду.
avatar


глюка поймал
avatar
Спасибо за тараканов, передано. Тут еще беда, для корректной работы нужен Microsoft Visual C++ Redistributable Package и Windows 7, на XP например не работает пузырь уведомлений, еще что-то.

Опишите пожалуйста в какой ситуации краш был.
avatar
рсс комментов с приветсочи ронял. в каком месте был затык — хз. рсс уже обновился весь.

может таймауты какие уронили. ибо сайт под перманентным ддосом и иногда долго думает перед тем как отдать ответ.
avatar
А чем существующие RSS-читалки не подошли?
  • xRay
  • 0
avatar
Сливает RSS потому что проще распарсить, ну трафика по меньше ест, нагрузка на сервер меньше. Так то программа не RSS-ридер в широком смысле, а десктопный нотификатор с одного конкретного сайта, вроде как приложений для мобильников, плюшка так сказать.
avatar
Я думал я тут один пользуюсь Linux. Я новичок в Linux. Она мне пойдёт на Linux Ubuntu 11.10?
avatar
Конечно подойдет, под дефолтную Unity тоже пилилась после установки придется перезагрузить оболочку или компьютер целиком, это связанно с Шаттлвортовский белым списком приложений.

С релизом исходники открыты остануться, можно пилить под свои проекты, также автор за дополнительную плату готов модифицировать под любой проект на ls.
avatar
Я вот установил всё. Работает отлично. Полезная штука.
avatar
Принимаются идеи по функционалу, как бы не окончательный результат, утилита будет дорабатываться.
avatar
А через какую программу работать с исходником?
avatar
Если я правильно понял надо все команды писать в Терминале?
avatar
gcc: компилирование itnotify осуществляется командой из каталога где расположен исходник itnotify.c

gcc -Wall "itnotify.c" -o "itnotify" `curl-config --libs` `pkg-config --libs --cflags glib-2.0 gtk+-2.0` -lnotify `pkg-config --libs --cflags gstreamer-0.10`


Потом этот бинарник нужно поместить в каталог /usr/bin, чтобы можно было запускать утилиту по названию, а не указывать путь до бинарника. Это так сказать пока универсальный способ под все дистры.

Все остальные команды это банальное копирование ярлыков и иконок из deb пакета, в нужные каталоги. Собранный deb просто сам распихивает файлы, тоже самое делают собранные пакеты в других дистрах. Позже думаю появится стандартный ./configure && make && sudo make install и документация.
avatar
Огромное спасибо.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.