Комментарии 24
Суховатый топик, без картинок.
-13
Можно, конечно, устроить tits-эффект, но мне не хотелось бы, чтобы в пост заходили только из-за них самых. Всё-таки, пост рассчитан на сознательных людей, которые знают, на каких сайтах их искать. А тут хотят почитать статейки по программированию.
Если вас интересуют скриншоты вышеназванных программ, они имеются по ссылкам. А по теме поста — libunique — их сделать сложно.
Если вас интересуют скриншоты вышеназванных программ, они имеются по ссылкам. А по теме поста — libunique — их сделать сложно.
+10
Интересная статья, спасибо!
Программирование под линукс захватывающая тема.
Программирование под линукс захватывающая тема.
+2
Передача сообщений идет через d-bus, свой сокет или подсистему gtk? Вопрос совместимости и длины списка зависимостей.
+1
Можно скомпилить с разными бэкендами — bacon или d-bus:
#ifdef HAVE_BACON
if (strcmp (backend_name, "bacon") == 0)
backend_gtype = unique_backend_bacon_get_type ();
#endif
#ifdef HAVE_DBUS
if (strcmp (backend_name, "dbus") == 0)
backend_gtype = unique_backend_dbus_get_type ();
#endif /* HAVE_DBUS */
#if !defined(HAVE_BACON) && !defined(HAVE_DBUS)
#error Need either bacon or dbus
#endif
+5
А какая шина используется? Системная или сессионая? Это про d-bus
0
Что такое BACON?
0
Честно говоря, не знаю, но похоже, что их же система, работает на сокетах:
git.gnome.org/browse/unique/tree/unique/bacon/uniquebackend-bacon.c
git.gnome.org/browse/unique/tree/unique/bacon/uniquebackend-bacon.c
0
А… что мешает использовать стандартные средства создания единственного приложения? Всякие мьютексы и прочее? Или я неправ и такой подход уже устарел?
+3
Да, в общем, ничто не мешает. :)
0
Эм… А зачем тогда эта либа? Какие еще у нее преимущества? Или смысл в том, что новичку не надо разбираться с этим? Ну так в этом случае он в чужие сорцы и не полезет. А если свое пишет — то, по-хорошему, такие вещи можно написать и быстро, и раз на всю жизнь.
+1
А зачем тогда ваш коммент? Какие у него преимущества?
+1
Эта либа нужна для того же, для чего все остальные либы. Никто не заставляет Вас ими пользоваться. Можете и виджет календаря свой на libX11 написать. Хотя зачем Вам libX11?..
Почему ещё? Я разве хоть одно назвал?
Какие ещё у неё преимущества?
Почему ещё? Я разве хоть одно назвал?
-2
Одно — очевидно. Не надо разбираться в том, как это делать самому через мьютексы.
Понятно, что каждая либа создается для того, чтобы снять часть рутины (или решение сложной задачи) с плеч других разработчиков.
Понятно, что каждая либа создается для того, чтобы снять часть рутины (или решение сложной задачи) с плеч других разработчиков.
+3
if kill $(cat /tmp/traycal.pid) ; then echo "closed" else echo $$ >/tmp/traycal.pid exec rxvt-unicode -hold +sb -fn 9x15 -geometry 21x9-0-0 -e cal fi
+2
use named mutex и минус одна либа в зависимостях ;)
см. www.ibm.com/developerworks/linux/library/l-ipc2lin3.html
Вообще, я бы однозначно заплюсовал статью про межпроцессовую/межтредовую синхронизацию в линуксе. Вот это реально интересно.
см. www.ibm.com/developerworks/linux/library/l-ipc2lin3.html
Вообще, я бы однозначно заплюсовал статью про межпроцессовую/межтредовую синхронизацию в линуксе. Вот это реально интересно.
+1
Named mutes это в Windows. В Linux это SysV семафоры — semget(). И тут остаётся открытым вопрос, как выбрать значение ключа, чтобы не было конфликтов с другими программами. А в предложенном способе эта проблема решена.
+2
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Немного о libunique