added log file
authorJean-Philippe Orsini <jeanfi@gmail.com>
Sun, 25 Sep 2011 21:48:30 +0000 (21:48 +0000)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Sun, 25 Sep 2011 21:48:30 +0000 (21:48 +0000)
NEWS
po/POTFILES.in
src/lib/Makefile.am
src/lib/Makefile.in
src/lib/psensor.h
src/main.c
src/ui.c
src/ui_appindicator.c

diff --git a/NEWS b/NEWS
index 1754809..2068d8b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@
    allowed).
 ** psensor-server/web interface: dynamic refresh of the graph.
 ** psensor: added appindicator monochrome icons.
+** psensor: added log file (~/.psensor/log).
 
 * v0.6.2.10
 ** psensor-server: added network, cpu load and memory information in
index 1bde9b0..a99bf87 100644 (file)
@@ -10,6 +10,7 @@ src/rsensor.c
 src/server/server.c
 src/lib/amd.c
 src/lib/hdd.c
+src/lib/log.c
 src/lib/nvidia.c
 src/lib/lmsensor.c
 src/lib/psensor.c
index a60d35a..7348b6c 100644 (file)
@@ -7,6 +7,7 @@ libpsensor_a_SOURCES = \
        cpu.h \
        measure.h measure.c \
        color.h color.c \
+       log.h log.c \
        psensor.h psensor.c\
        hdd.h hdd.c\
        nvidia.h \
index c75cfbe..61f517f 100644 (file)
@@ -58,15 +58,16 @@ ARFLAGS = cru
 libpsensor_a_AR = $(AR) $(ARFLAGS)
 libpsensor_a_LIBADD =
 am__libpsensor_a_SOURCES_DIST = amd.h cpu.h measure.h measure.c \
-       color.h color.c psensor.h psensor.c hdd.h hdd.c nvidia.h \
-       lmsensor.h lmsensor.c nvidia.c amd.c cpu.c
+       color.h color.c log.h log.c psensor.h psensor.c hdd.h hdd.c \
+       nvidia.h lmsensor.h lmsensor.c nvidia.c amd.c cpu.c
 @NVIDIA_TRUE@am__objects_1 = libpsensor_a-nvidia.$(OBJEXT)
 @LIBATIADL_TRUE@am__objects_2 = libpsensor_a-amd.$(OBJEXT)
 @GTOP_TRUE@am__objects_3 = libpsensor_a-cpu.$(OBJEXT)
 am_libpsensor_a_OBJECTS = libpsensor_a-measure.$(OBJEXT) \
-       libpsensor_a-color.$(OBJEXT) libpsensor_a-psensor.$(OBJEXT) \
-       libpsensor_a-hdd.$(OBJEXT) libpsensor_a-lmsensor.$(OBJEXT) \
-       $(am__objects_1) $(am__objects_2) $(am__objects_3)
+       libpsensor_a-color.$(OBJEXT) libpsensor_a-log.$(OBJEXT) \
+       libpsensor_a-psensor.$(OBJEXT) libpsensor_a-hdd.$(OBJEXT) \
+       libpsensor_a-lmsensor.$(OBJEXT) $(am__objects_1) \
+       $(am__objects_2) $(am__objects_3)
 libpsensor_a_OBJECTS = $(am_libpsensor_a_OBJECTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -228,8 +229,9 @@ top_srcdir = @top_srcdir@
 noinst_LIBRARIES = libpsensor.a
 libpsensor_a_CFLAGS = -Wall -Werror $(am__append_5)
 libpsensor_a_SOURCES = amd.h cpu.h measure.h measure.c color.h color.c \
-       psensor.h psensor.c hdd.h hdd.c nvidia.h lmsensor.h lmsensor.c \
-       $(am__append_1) $(am__append_4) $(am__append_6)
+       log.h log.c psensor.h psensor.c hdd.h hdd.c nvidia.h \
+       lmsensor.h lmsensor.c $(am__append_1) $(am__append_4) \
+       $(am__append_6)
 AM_CPPFLAGS = $(am__append_3) $(am__append_8)
 EXTRA_DIST = $(libpsensor_a_SOURCES) \
        amd.c \
@@ -289,6 +291,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-cpu.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-hdd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-lmsensor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-log.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-measure.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-nvidia.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-psensor.Po@am__quote@
@@ -335,6 +338,20 @@ libpsensor_a-color.obj: color.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -c -o libpsensor_a-color.obj `if test -f 'color.c'; then $(CYGPATH_W) 'color.c'; else $(CYGPATH_W) '$(srcdir)/color.c'; fi`
 
+libpsensor_a-log.o: log.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -MT libpsensor_a-log.o -MD -MP -MF $(DEPDIR)/libpsensor_a-log.Tpo -c -o libpsensor_a-log.o `test -f 'log.c' || echo '$(srcdir)/'`log.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libpsensor_a-log.Tpo $(DEPDIR)/libpsensor_a-log.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='log.c' object='libpsensor_a-log.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -c -o libpsensor_a-log.o `test -f 'log.c' || echo '$(srcdir)/'`log.c
+
+libpsensor_a-log.obj: log.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -MT libpsensor_a-log.obj -MD -MP -MF $(DEPDIR)/libpsensor_a-log.Tpo -c -o libpsensor_a-log.obj `if test -f 'log.c'; then $(CYGPATH_W) 'log.c'; else $(CYGPATH_W) '$(srcdir)/log.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libpsensor_a-log.Tpo $(DEPDIR)/libpsensor_a-log.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='log.c' object='libpsensor_a-log.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -c -o libpsensor_a-log.obj `if test -f 'log.c'; then $(CYGPATH_W) 'log.c'; else $(CYGPATH_W) '$(srcdir)/log.c'; fi`
+
 libpsensor_a-psensor.o: psensor.c
 @am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -MT libpsensor_a-psensor.o -MD -MP -MF $(DEPDIR)/libpsensor_a-psensor.Tpo -c -o libpsensor_a-psensor.o `test -f 'psensor.c' || echo '$(srcdir)/'`psensor.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libpsensor_a-psensor.Tpo $(DEPDIR)/libpsensor_a-psensor.Po
index 099556f..b0d3402 100644 (file)
@@ -24,6 +24,7 @@
 #include <sensors/sensors.h>
 
 #include "color.h"
+#include "log.h"
 #include "measure.h"
 
 enum psensor_type {
index ee6c2e0..7fc5892 100644 (file)
@@ -24,6 +24,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
 
 #include <gtk/gtk.h>
 
@@ -204,7 +206,7 @@ void cb_alarm_raised(struct psensor *sensor, void *data)
 #endif
 }
 
-void associate_colors(struct psensor **sensors)
+static void associate_colors(struct psensor **sensors)
 {
        /* number of uniq colors */
 #define COLORS_COUNT 8
@@ -239,7 +241,7 @@ void associate_colors(struct psensor **sensors)
        }
 }
 
-void
+static void
 associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
 {
        struct psensor **sensor_cur = sensors;
@@ -263,7 +265,7 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
        }
 }
 
-void associate_preferences(struct psensor **sensors)
+static void associate_preferences(struct psensor **sensors)
 {
        struct psensor **sensor_cur = sensors;
        while (*sensor_cur) {
@@ -281,6 +283,27 @@ void associate_preferences(struct psensor **sensors)
        }
 }
 
+static void log_init()
+{
+       char *home, *path, *dir;
+
+       home = getenv("HOME");
+
+       if (!home)
+               return ;
+
+       dir = malloc(strlen(home)+1+strlen(".psensor")+1);
+       sprintf(dir, "%s/%s", home, ".psensor");
+       mkdir(dir, 0777);
+
+       path = malloc(strlen(dir)+1+strlen("log")+1);
+       sprintf(path, "%s/%s", dir, "log");
+
+       log_open(path, LOG_INFO);
+
+       free(dir);
+       free(path);
+}
 
 static struct option long_options[] = {
        {"version", no_argument, 0, 'v'},
@@ -332,6 +355,8 @@ int main(int argc, char **argv)
                exit(EXIT_FAILURE);
        }
 
+       log_init();
+
        g_thread_init(NULL);
        gdk_threads_init();
        /* gdk_threads_enter(); */
@@ -423,5 +448,7 @@ int main(int argc, char **argv)
 
        config_cleanup();
 
+       log_close();
+
        return 0;
 }
index 23afe1a..9476dee 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -31,10 +31,13 @@ on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
        struct ui_psensor *ui = data;
 
 #if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
-       if (is_appindicator_supported())
+       if (is_appindicator_supported()) {
+               log_puts(LOG_DEBUG, "hiding, WM is supporting appindicator");
                gtk_widget_hide(ui->main_window);
-       else
+       } else {
+               log_puts(LOG_DEBUG, "quitting, WM not supporting appindicator");
                ui_psensor_quit(ui);
+       }
 #else
        ui_psensor_quit(ui);
 #endif
index 3074ac2..317e238 100644 (file)
@@ -232,6 +232,8 @@ void ui_appindicator_update(struct ui_psensor *ui)
 
 static GtkStatusIcon *unity_fallback(AppIndicator *indicator)
 {
+       log_puts(LOG_DEBUG, "ui_appindicator#unity_fallback");
+
        gtk_widget_show_all(main_window);
 
        appindicator_supported = 0;
@@ -242,6 +244,8 @@ static GtkStatusIcon *unity_fallback(AppIndicator *indicator)
 static void unity_unfallback(AppIndicator *indicator,
                             GtkStatusIcon *status_icon)
 {
+       log_puts(LOG_DEBUG, "ui_appindicator#unity_unfallback");
+
        appindicator_supported = 1;
 }