Дальнейшее развитие TooBars
Вот уже который день всё своё свободное время уделяю дальнейшему допиливанию этого плагина.
Что сделано (из глобального) или делается:
- Найдены и исправлены некоторые ошибки, которые не влияли на работу плагина, но засоряли отладочную консоль.
- Предпринята очередная попытка исключить не_высвобождение памяти после выключения плагина (хотя давеча заметил, что некоторые плагины после выключения даже не прекращают работу! ;)) — результат ещё не проверял.
- Добавлена возможность отключать в интерфейсе меню… Спорный шаг. Ведь, логично предположить, что следом нужно аналогичным образом поступать и в окне беседы… Ну, да это будет отдельная песня. Столкнулся с проблемой, что простое заимствование кода из плагина blistops не прокатит — у меня иная структура контакт-листа, и на решение возникшей проблемы ушло 3 дня. Делать переключение отображения меню кнопкой на панели инструментов, как это предлагал Konrad, в меру ряда факторов не хотелось. Хочется, чтобы и при наведении мышки меню появлялось, и по нажатию F10… На текущий момент пытаюсь придумать, как убирать меню при потере фокуса окном списка контактов. Пока не получается 🙁
Что планируется:
- Контекстное меню на пустом месте списка контактов, в котором можно было бы настроить внешний вид списка и получить доступ к некоторым настройкам клиента.
комментариев 8 на Дальнейшее развитие TooBars
Ваш отзыв
Вы должны войти, чтобы оставлять комментарии.
Поддержите меня!
Свежие записи
Свежие комментарии
- Новая версия патча-русификатора Yume Miru Kusuri. Теперь и с графикой. к записи
- Новая версия патча-русификатора Yume Miru Kusuri. Теперь и с графикой. к записи
- Новая версия патча-русификатора Yume Miru Kusuri. Теперь и с графикой. к записи
- Новая версия патча-русификатора Yume Miru Kusuri. Теперь и с графикой. к записи
- Новая версия патча-русификатора Yume Miru Kusuri. Теперь и с графикой. к записи
Архивы
- Май 2020
- Декабрь 2019
- Июнь 2019
- Июль 2018
- Февраль 2018
- Сентябрь 2017
- Август 2017
- Июнь 2017
- Март 2017
- Январь 2017
- Декабрь 2016
- Январь 2016
- Декабрь 2015
- Ноябрь 2015
- Октябрь 2015
- Сентябрь 2015
- Август 2015
- Июль 2015
- Апрель 2015
- Февраль 2015
- Январь 2015
- Декабрь 2014
- Ноябрь 2014
- Октябрь 2014
- Сентябрь 2014
- Июль 2014
- Июнь 2014
- Февраль 2014
- Январь 2014
- Декабрь 2013
- Февраль 2013
- Январь 2013
- Июнь 2012
- Апрель 2012
- Март 2012
- Август 2011
- Июнь 2011
- Апрель 2011
- Февраль 2011
- Декабрь 2010
- Ноябрь 2010
- Сентябрь 2010
- Август 2010
- Июль 2010
- Июнь 2010
- Май 2010
- Апрель 2010
- Март 2010
- Февраль 2010
- Январь 2010
- Декабрь 2009
Здаров. Спасибо за плагин, глунул исходники — молодец.
С сам недавно писал плагин https://launchpad.net/fchat Он проще твоего и никому не нужный (это просто было желание доделать начатое ещё в молодости до конца).
Теперь по делу несколько советов.
#include «internal.h»
#include «glib.h»
#include «gtkblist.h»
#include «gtkaccount.h»
#include «gtkstatusbox.h»
#include «gtkplugin.h»
#include «gtkpluginpref.h»
#include «gtkprefs.h»
#include «gtkutils.h»
#include «pidginstock.h»
#include «version.h»
#include «debug.h»
Замени на
#include
#include
Директиву IS_DEBUGGING можешь убрать. Все модули пишут вообще всё в дебаг так что не сцы.
У тебя там чатсо используется типа char а какбы желательно использовать gchar из glib. Разницы никакой но есть.
У тебя в названиях функций используется camel caps например CreateToolBox. Вместо этого нужно писать всё маленькими разделяя слова нижним_подчёркиванием.
Camel caps нужно использовать для обьявления типов.
Ну например из твоего же плагина:
PidginBuddyList *gtkblist = PIDGIN_BLIST (purple_get_blist ());
При инициализации плагина у тебя есть такой код:
#ifdef ENABLE_NLS
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset(GETTEXT_PACKAGE, «UTF-8»);
#endif
Я могу ошибаться но вроде как этот код в модулях делать не нужно — это делается в самом пиджене.
У тебя тут структура объявлена:
struct _TooBars_interface
{
GtkToolItem *AddBuddy_btn;
…
GtkWidget *ShowStatusbar_item;
} TooBars_interface;
Карочи опять боюсь ошиьится но так тоже не желательно. Типа принцип такой: все структуры объявлять через typedef (потому что это тип).
typedef struct
{
GtkToolItem *AddBuddy_btn;
…
GtkWidget *ShowStatusbar_item;
} TooBars_interface;
В PurplePluginInfo info, похоже тебе нужно убрать префикс PURPLE
PURPLE_PLUGIN_MAGIC,
PURPLE_MAJOR_VERSION,
PURPLE_MINOR_VERSION,
Хотя это всё годно только в случае если твой плагин станадртный (а это не так).
Закинь исходники на https://launchpad.net/ как я со своим проетком сделал. Ты получишь: хостинг проекта с системой контроля версий (Базар). И там есть PPA — короче хрень в которую ты закидываешь исходники а она сама их компилит и делает дебиановские пакеты под все архитектуры. Потом все убунтовцы смогут из твоего PPA обновлятся — очень удобно.
Вообщем я сейчас попробую на PPA закинуть.
З.Ы. Сделай возможность комментировтаь без регистрации 🙂
УУУуууу сколько всего!!!
Спасибо, чуть позже почитаю и отвечу.
Я ж не программист особо, так что любым советам рад 🙂
парсер лох
Замени на
#include
#include
1. Про инклуды — так и не понял 🙁 Видимо, содержимое обрезалось, да?
2. IS_DEBBUGING (это директива? А я думал — переменная :D) включает или выключает вывод названия процедуры функцией Debugging () в окно отладки. Эта информация штатно туда не выводится.
3. Про char и gchar — поменять-то можно, не проблема. Но можешь объяснить отличия? В большинстве случаев я нахожу в инете схожие фрагменты кода и их использую, в итоге и получается такая мешанина 🙁
4. Названия функций я использую такие намерено, в меру ряда факторов. Т.к. это ни на что, я бы хотел сохранить текущее форматирование кода.
5. Про структуру — изучу этот вопрос снова. Насколько я помню, предыдущие попытки что-либо изменить в её описании приводили к тому, что всё переставало работать. В итоге я всё оставил, как есть, работает — не трожь! 🙂 Если дашь ссылку или объяснишь разницу в текущем и предлагаемом описании и использовании структуры данных — буду благодарен.
6. Про PURPLE. Работает, трогать не буду 🙂
7. Закидывать проект на сторонний сервер я не хочу. Отсюда, хоть, я могу попросить на баннеры покликать, а там я не уверен, что это разрешено. А мне хоть хостинг за несколько лет окупить — всяко приятно. Кроме того, начнётся бардак, появятся сторонние авторы, за которыми надо будет всё проверять… Как показывает мой опыт общения с разработчиками, их надо полностью и постоянно контролировать. Некоторые господа шлют патчи мне в почту, я их разбираю, анализирую, что-то потом реализую, но всегда — в сильно измененном виде. И такой подход считаю правильным.
Ладно не хочу тебя задалбывать.
Короче смотри я скомпилил deb пакеты через Launchpad. Они сейчас лежат в репозитории на ланчпаде. Ты можешь установить свой плагин добавив ppa:stokito/pidgin-toobars в список репозиториев.
Нравится тебе или нет — пользователям нужен репозиторий. Каждый раз лазить на твой хомяк за обновлениями, потом компилить это гемор даже для меня.
Если хочешь — ты можешь реализовать репозиторий у себя на сайте. Никакого доп. софта не нужно — просто в определёном порядке ложишь папки.
Ты можешь скачать deb пакеты. Кстати внутри deb пакета всё уже заархивировано (архиватором ar) так что не надо deb пакет дополнитольно архивировать zip’ом.
Пакеты для Ubuntu 9.04 Karmic тут:
https://launchpad.net/~stokito/+archive/pidgin-toobars/+sourcepub/1073908/+listing-archive-extra
Пакеты для Ubuntu 9.10 lucid
https://launchpad.net/~stokito/+archive/pidgin-toobars/+sourcepub/1074328/+listing-archive-extra
Ты можешь на своём сайте дать прямую ссылку на закачку пакетов. Съекономишь трафик на хостинге.
Спасибо.
Подумаю в эту сторону после релиза.
Товарищ автор! Хотелось попробовать ваш модуль — но вот незадача, он есть или в исходниках (не для того я променял Gentoo на Ubuntu, чтобы исходники собирать), или в пакетах для i386.
Компьютер, который я покупал лет 6 назад, был 64-битным. и тот, что у меня сейчас, конечно, тоже. Ставить 32-бит Pidgin для такого модуля совершенно не хочется. Тупик. Кстати, на PPA парой комментариев выше был предложен PPA-репозитарий, там 64-бит версия есть. Но версия, как я понял, старая. Решите эту проблему, прошу вас.
Кстати, было бы очень полезно опубликоваться на http://developer.pidgin.im/wiki/ThirdPartyPlugins
После пары лет жизни под 64-битной версией я вернулся к 32-битной, т.к. объективных предпосылок в 64-битной версии в моём случае нет, а определённые проблемы имели место быть.
Я не разбирался с этим PPA. Я не против, если кто-то им займётся.
На указанной Вами странице ссылка на мои плагины уже давно есть.