Mercurial > projects > pk-update-icon
view notify.c @ 4:9126094c5ef0
use GTK2 as Xfce/LXDE are not yet using GTK3
author | Pavol Rusnak <stick@gk2.sk> |
---|---|
date | Thu, 06 Oct 2011 15:31:50 +0200 |
parents | f8ad23e60000 |
children | 58a3312a1c59 |
line wrap: on
line source
/* * Copyright (C) 2011 Pavol Rusnak <stick@gk2.sk> * * Licensed under the GNU General Public License Version 2 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include <libnotify/notify.h> #include "notify.h" #define NOTIFY_NAME "Software Update" void init_notify() { notify_init(NOTIFY_NAME); } void send_notify(struct UpdatesInfo *info) { NotifyNotification *ntfy; ntfy = notify_notification_new(NOTIFY_NAME, notify_text(info), info->critical > 0 ? "software-update-urgent" : "software-update-available"); notify_notification_set_timeout(ntfy, 3000); notify_notification_set_urgency(ntfy, info->critical > 0 ? NOTIFY_URGENCY_CRITICAL : NOTIFY_URGENCY_NORMAL); notify_notification_show(ntfy, NULL); } const char *notify_text(struct UpdatesInfo *info) { static char buf[128]; if (info->critical > 0) { snprintf(buf, sizeof(buf), "There are %d software updates available, %d of them critical.", info->normal + info->critical, info->critical); } else { snprintf(buf, sizeof(buf), "There are %d software updates available.", info->normal); } return buf; }