- *noc *.net *grouzenEnjoy your C! Из справки по нотификейшнам в убунте:
C:
capabilities = notify_get_server_caps();
if(capabilities != NULL) {
for(c = capabilities; c != NULL; c = c->next) {
if(strcmp((char*)c->data, "actions") == 0 ) {
accepts_actions = TRUE;
break;
}
}
g_list_foreach(capabilities, (GFunc)g_free, NULL);
g_list_free(capabilities);
}
/ Adds "Previous" and "Next" buttons in the notification if allowed. /
if(accepts_actions) {
notify_notification_add_action(
notification, "previous", _("Previous"), Prev, (gpointer*) p_intf, NULL);
notify_notification_add_action(
notification, "next", _("Next"), Next, (gpointer*) p_intf, NULL );
}
C#:
bool accepts_actions = Notifications.Global.Capabilities != null &&
Notifications.Global.Capabilities.Contains("actions");
if (accepts_actions) {
nf.AddAction ("previous", Catalog.GetString("Previous"), OnSongPrevious);
nf.AddAction ("next", Catalog.GetString("Next"), OnSongPrevious);
}
Replies (58)
- @0xd34df00d:@mva Ладно бы гнум, он не нужен, но ведь чуваки из каноникала решили заменить (предположительно) нормальный демон уведомлений из XFCE на какое-то говно.
- @0xd34df00d:@jtootf Сравнить количество строк и ненужных действий, и непонятно, зачем же. Не прошивка для какого-нибудь AVR же.
- @jtootf:@0xd34df00d сишный код более императивный, только и всего — и цикл, и добавление элементов можно вполне себе мило абстрагировать (в функции позаворачивать, например)
- @jtootf:@0xd34df00d и, кстати, я не вижу там ненужных действий. сравни ассемблерный выхлоп для обоих вариантов (если Mono позволяет это сделать в статике, конечно)from Psi, 15 months ago, in reply to /6
- @0xd34df00d:@jtootf Я не говорю, что сишечка плохая. Я говорю, что она плохая при написании средней такой программы для среднего такого десктопа. Ибо нафиг там все это не нужно каждый раз переизобретать.
Олсо, автоматически память освобождать ты не заставишь никак, и это меня очень печалит при чтении исходников на С. Читаешь сорсы какой-нибудь Liferea, а там везде эти free, g_free. 2010 год, блджад, а люди, типа @grou^W фанатиков всяких сидят и наяривают на написание всего этого ручками.from idead, 15 months ago, in reply to /9 - @0xd34df00d:@jtootf Зачем мне руками освобождать память в десктопном приложении и руками делать (изобретать велосипед, whatever) такую элементарную вещь, как поиск элемента в цикле и сравнение строк.from idead, 15 months ago, in reply to /10
- @jtootf:@0xd34df00d для написания хорошей програмы для десктопа нужно хорошее middleware. тут его не хватаетfrom Psi, 15 months ago, in reply to /11
- @0xd34df00d:@jtootf Gtk же! Что, она таки плоха? Все равно дибас тянет куски ее, ЕМНИП.from idead, 15 months ago, in reply to /13
- @jtootf:@0xd34df00d руками/не руками и нужное/ненужное действие — это разные вещи; при известном желании и в сишечку можно всандалить свой хип-менеджер со сборкой мусора, го и швеями-гитаристками (или хотя бы сделать что-то вроде Cyclone/BitC). я понимаю, если бы ты возмущался низким уровнем абстракции — но конкретно язык тут совершенно не при чёмfrom Psi, 15 months ago, in reply to /12
- @jtootf:@0xd34df00d судя по этому примеру — да, для подобных задач уровень декларативности GTK+ сосётfrom Psi, 15 months ago, in reply to /14
- @0xd34df00d:@jtootf Ненужные явно действия имелись в виду, безусловно.
Я возмущаюсь тем, что, судя по примерам и тому коду, который я видел (ну давай таки второе отбросим, ибо нехорошо это), в сишечке и правда уровень абстракции весьма низок. Ну, /16 твоё, почти что )from idead, 15 months ago, in reply to /15 - @jtootf:@0xd34df00d ну так для подобных задач, ЕМНИП, и придумали Vala. разве нет?from Psi, 15 months ago, in reply to /17
- @0xd34df00d:@jtootf Я не спорю, что есть более удобные инструменты. Но я сомневаюсь, что сидрочеры их юзают, на то они и сидрочеры.from idead, 15 months ago, in reply to /18
- @jtootf:@0xd34df00d покажите мне сидрочера, отказывающегося от декларативных надстроек над Cfrom Psi, 15 months ago, in reply to /19
- @0xd34df00d:from idead, 15 months ago, in reply to /20
- @grouzen:@0xd34df00d прошу пруф, где я отказывался/from mcabber.52eab7a7, 15 months ago, in reply to /21
- @grouzen:@0xd34df00d ОЛООЛ, я вообще код не пишу, как я могу что-то использовать. Ты мне тут давай вопросики то не задавай, а предоставь пруфfrom mcabber.52eab7a7, 15 months ago, in reply to /23
- @0xd34df00d:@jtootf Упоротый? Упоротый. Фанатик? Фанатик. На сишечке пишет? Пишет. Так почему ж не? )from idead, 15 months ago, in reply to /25
- @0xd34df00d:@grouzen Да, дедуля. Да вы не стойте, садитесь, а то старенький вы уже, в маразм впадаете.from idead, 15 months ago, in reply to /28
- @grouzen:@0xd34df00d ты упоротый? упоротый. Фанатик? фанаттик. На плюсцах пишешь? пишешь. Так почему ж ты не толстый тупой тролль?from mcabber.52eab7a7, 15 months ago, in reply to /27
- @0xd34df00d:@mva Купи ему резиновую бабу лучше.
This is preemptive excuse for the rudeness <from idead, 15 months ago, in reply to /34 - @jtootf:@0xd34df00d исходя из того, что я имел возможность наблюдать в интернетах, @L29Ah — идиот; соответственно его действия и мотивации впечатляют меня чуть менее чем никакfrom Psi, 15 months ago, in reply to /37
- @0xd34df00d:@jtootf Однако, он является вполне репрезентативной выборкой фанатиков. Люди, разумно выбирающие инструмент под задачу и все такое вполне ок. И сишечка, примененная с нужными инструментами к нужной задаче, тоже ок. Псто ориентирован на фанатьё. Одно вон даже среагировало )from idead, 15 months ago, in reply to /39
- @grouzen:@0xd34df00d ты идиот, я сриагировал, потому что увидел необоснованные умозаключения по поводу своей персоны.from mcabber.52eab7a7, 15 months ago, in reply to /40
- @0xd34df00d:@grouzen Перевожу: «я сриагировал, потому что ощутил баттхерт».from idead, 15 months ago, in reply to /41
- @grouzen:@0xd34df00d мде, ты таки толстый и тупой.from mcabber.52eab7a7, 15 months ago, in reply to /42
- @jtootf:@0xd34df00d не, не канает. идиоты в принципе нерепрезентативны, ибо с их привлечением можно доказать что угодно. давай хоть одного умного сидрочераfrom Psi, 15 months ago, in reply to /40
- @grouzen:@0xd34df00d ага, снова. давай-ка мне снова пруф того что я ощутил батхерт?from mcabber.52eab7a7, 15 months ago, in reply to /44
- @0xd34df00d:@jtootf Сидрочеры по определению идиоты, как и любой, кто слепо дрочит на инструмент.
Идиоты вполне репрезентативны, когда цель — показать весь идиотизм идиотов.from idead, 15 months ago, in reply to /45 - @0xd34df00d:@grouzen Я могу тебе еще раз ту ссылку дать. Легче станет?from idead, 15 months ago, in reply to /46
- @grouzen:@0xd34df00d да, это докажет что ты тупое унылое троллье.from mcabber.52eab7a7, 15 months ago, in reply to /48
- @jtootf:@0xd34df00d ничего подобного. Зефиров, например, — очень умный мужик, хоть и совершенно упоротый фанатик хаскеля; Завалишин — более чем неглуп, но повёрнут на жабе; love5an — совершенно неадекватный фанатик коммон лиспа, пишущий замечательный кодfrom Psi, 15 months ago, in reply to /47
- @0xd34df00d:@jtootf Наличие исключений подтверждает правило, лол. А если чуть серьезнее — ну, вероятно, у них какие-то причины есть упарываться соответствующими языками, нежели «K&R! ЮНИКС!!!!»from idead, 15 months ago, in reply to /50
- @grouzen:@0xd34df00d О чем ты? Наличие исключений в чем?from mcabber.52eab7a7, 15 months ago, in reply to /51
- @jtootf:@0xd34df00d дело не в причинах, дело в том, что вот они — репрезентативны в смысле фанатиков того или иного языка. @L29Ah — нетfrom Psi, 15 months ago, in reply to /51
- @0xd34df00d:@jtootf Вопрос терминологии ИМХО. Ну и того, что мы говорим о слегка разных людях )from idead, 15 months ago, in reply to /54
- @jtootf:@0xd34df00d ок. моя позиция тебе понятна? можешь показать хоть одного умного сидрочера, отказывающегося использовать декларативные надстройки над C?from Psi, 15 months ago, in reply to /55
- @0xd34df00d:@jtootf Вполне понятна, более того, я с ней согласен.from idead, 15 months ago, in reply to /56
- @0xd34df00d:@jtootf Блин, просто одно дело — приверженцы языка, хорошо его знающие и пишущие код и все такое. Другое — личности типа вышеупомянутых, едва что-то осилившие боле для понта и нонконформизма, нежели чем для дела. Я уж не буду тыкать в нелегкие взаимоотношения одного из них с тем же хаскелем )from idead, 15 months ago, in reply to /56