/*
- * Copyright (C) 2010-2011 jeanfi@gmail.com
+ * Copyright (C) 2010-2014 jeanfi@gmail.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
#define NOTIFY_CHECK_VERSION(x, y, z) 0
#endif
+#include "cfg.h"
#include "ui.h"
#include "ui_notify.h"
void ui_notify(struct psensor *sensor, struct ui_psensor *ui)
{
struct timeval t;
- char *name;
+ char *body, *svalue;
+ const char *summary;
NotifyNotification *notif;
+ unsigned int use_celsius;
- log_printf(LOG_DEBUG,
- "ui_notify() last_notification %d",
- last_notification_tv.tv_sec);
+ log_debug("last_notification %d", last_notification_tv.tv_sec);
if (gettimeofday(&t, NULL) != 0) {
- log_printf(LOG_ERR, _("gettimeofday failed"));
+ log_err(_("gettimeofday failed."));
return;
}
notify_init("psensor");
if (notify_is_initted() == TRUE) {
- name = strdup(sensor->name);
+ if (ui->config->temperature_unit == CELSIUS)
+ use_celsius = 1;
+ else
+ use_celsius = 0;
+
+ svalue = psensor_measure_to_str
+ (psensor_get_current_measure(sensor),
+ sensor->type,
+ use_celsius);
+
+ body = malloc(strlen(sensor->name) + 3 + strlen(svalue) + 1);
+ sprintf(body, "%s : %s", sensor->name, svalue);
+ free(svalue);
+
+ if (is_temp_type(sensor->type))
+ summary = _("Temperature alert");
+ else if (is_fan_type(sensor->type))
+ summary = _("Fan alert");
+ else
+ summary = _("N/A");
/*
* Since libnotify 0.7 notify_notification_new has
* only 3 parameters.
*/
#if NOTIFY_CHECK_VERSION(0, 7, 0)
- notif = notify_notification_new
- (_("Temperature alert"), name, NULL);
+ notif = notify_notification_new(summary, body, PSENSOR_ICON);
#else
- notif = notify_notification_new(_("Temperature alert"),
- name,
- NULL,
+ notif = notify_notification_new(summary,
+ body,
+ PSENSOR_ICON,
GTK_WIDGET(ui->main_window));
#endif
- log_printf(LOG_DEBUG,
- "ui_notify() notif_notification_new %s",
- sensor->name);
+ log_debug("notif_notification_new %s", body);
notify_notification_show(notif, NULL);
g_object_unref(notif);
} else {
- log_printf(LOG_ERR, "notify not initted");
+ log_err("notify not initialized");
}
}