X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui_status.c;h=ddaf75cbf44d30e9e14e75abb627e90303ab731e;hb=f3b05dae619a7909bd7422b3a82422c9442aa114;hp=06dbbe05f18b9114ac22ad6f97f851ee365e8e04;hpb=d38a7c7eae16995b57b2b40712dcea3cca038a09;p=psensor.git diff --git a/src/ui_status.c b/src/ui_status.c index 06dbbe0..ddaf75c 100644 --- a/src/ui_status.c +++ b/src/ui_status.c @@ -1,5 +1,5 @@ /* - * 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 @@ -19,6 +19,9 @@ #include "log.h" #include "ui_status.h" +static const char *ICON = "psensor_normal"; +static const char *ATTENTION_ICON = "psensor_hot"; + static GtkStatusIcon *status; static unsigned status_attention; @@ -26,7 +29,6 @@ static void cb_activate(GtkStatusIcon *icon, gpointer data) { log_debug("cb_activate()"); - ui_window_show((struct ui_psensor *)data); } @@ -46,8 +48,8 @@ void ui_status_init(struct ui_psensor *ui) log_debug("ui_status_create()"); status = gtk_status_icon_new(); - gtk_status_icon_set_from_icon_name(status, "psensor_normal"); - gtk_status_icon_set_visible(status, TRUE); + gtk_status_icon_set_from_icon_name(status, ICON); + ui_status_set_visible(0); g_signal_connect(G_OBJECT(status), "popup-menu", @@ -80,9 +82,9 @@ void ui_status_update(struct ui_psensor *ui, unsigned int attention) log_debug("ui_status_update()"); if (status_attention && !attention) - gtk_status_icon_set_from_icon_name(status, "psensor_normal"); + gtk_status_icon_set_from_icon_name(status, ICON); else if (!status_attention && attention) - gtk_status_icon_set_from_icon_name(status, "psensor_hot"); + gtk_status_icon_set_from_icon_name(status, ATTENTION_ICON); status_attention = attention; } @@ -94,3 +96,15 @@ GtkStatusIcon *ui_status_get_icon(struct ui_psensor *ui) return status; } + +void ui_status_set_visible(unsigned int visible) +{ + log_debug("ui_status_set_visible(%d)", visible); + + if (status) { + if (visible) + gtk_status_icon_set_visible(status, TRUE); + else + gtk_status_icon_set_visible(status, FALSE); + } +}