Imported Upstream version 1.1.2 upstream/1.1.2
authorJean-Philippe Orsini <jeanfi@gmail.com>
Mon, 22 Sep 2014 07:42:32 +0000 (03:42 -0400)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Mon, 22 Sep 2014 07:42:32 +0000 (03:42 -0400)
138 files changed:
AUTHORS
Makefile.am
Makefile.in
NEWS
NEWS.html
README
README.html
aclocal.m4
config.h.in
configure
configure.ac
doc/Makefile.am
doc/Makefile.in
doc/TODO.html [new file with mode: 0644]
doc/TODO.txt [new file with mode: 0644]
doc/faq.html
doc/faq.txt
icons/hicolor/14x14/Makefile.in
icons/hicolor/16x16/Makefile.in
icons/hicolor/22x22/Makefile.in
icons/hicolor/24x24/Makefile.in
icons/hicolor/32x32/Makefile.in
icons/hicolor/48x48/Makefile.in
icons/hicolor/64x64/Makefile.in
icons/hicolor/scalable/Makefile.in
icons/ubuntu-mono-dark/apps/22/Makefile.in
icons/ubuntu-mono-dark/status/22/Makefile.in
icons/ubuntu-mono-light/status/22/Makefile.in
m4/gettext.m4 [new file with mode: 0644]
m4/iconv.m4 [new file with mode: 0644]
m4/lib-ld.m4 [new file with mode: 0644]
m4/lib-link.m4 [new file with mode: 0644]
m4/lib-prefix.m4 [new file with mode: 0644]
m4/nls.m4 [new file with mode: 0644]
m4/po.m4 [new file with mode: 0644]
m4/progtest.m4 [new file with mode: 0644]
po/LINGUAS
po/POTFILES.in
po/de.gmo
po/de.po
po/es.gmo
po/es.po
po/fr.gmo
po/fr.po
po/hr.gmo [new file with mode: 0644]
po/hr.po [new file with mode: 0644]
po/hu.gmo
po/hu.po
po/it.gmo
po/it.po
po/lv.gmo
po/lv.po
po/nl.gmo
po/nl.po
po/psensor.pot
po/pt_BR.gmo
po/pt_BR.po
po/ru.gmo
po/ru.po
po/sl.gmo
po/sl.po
po/sr.gmo
po/sr.po
po/sv.gmo
po/sv.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/zh_CN.gmo
po/zh_CN.po
src/Makefile.am
src/Makefile.in
src/cfg.c
src/cfg.h
src/glade/Makefile.in
src/glade/psensor-pref.glade
src/glade/psensor.glade
src/glade/sensor-edit.glade
src/graph.c
src/graph.h
src/lib/Makefile.am
src/lib/Makefile.in
src/lib/amd.c
src/lib/amd.h
src/lib/bool.h
src/lib/color.c
src/lib/color.h
src/lib/cpu.c [deleted file]
src/lib/cpu.h [deleted file]
src/lib/hdd.h
src/lib/hdd_atasmart.c
src/lib/hdd_hddtemp.c
src/lib/lmsensor.c
src/lib/lmsensor.h
src/lib/nvidia.c
src/lib/nvidia.h
src/lib/pgtop2.c [new file with mode: 0644]
src/lib/pgtop2.h [new file with mode: 0644]
src/lib/pio.c
src/lib/plog.c
src/lib/pmutex.c [new file with mode: 0644]
src/lib/pmutex.h [new file with mode: 0644]
src/lib/psensor.c
src/lib/psensor.h
src/lib/psensor_json.h
src/lib/ptime.c
src/lib/pudisks2.c [new file with mode: 0644]
src/lib/pudisks2.h [new file with mode: 0644]
src/lib/slog.c
src/lib/temperature.c [new file with mode: 0644]
src/lib/temperature.h [new file with mode: 0644]
src/main.c
src/psensor.1
src/psensor.gschema.xml [new file with mode: 0644]
src/psensor.schemas [deleted file]
src/pxdg.c
src/rsensor.c
src/server/Makefile.in
src/server/psensor-server.1
src/server/server.c
src/ui.c
src/ui_appindicator.c
src/ui_color.c
src/ui_graph.c
src/ui_notify.c
src/ui_pref.c
src/ui_pref.h
src/ui_sensorlist.c
src/ui_sensorpref.c
src/ui_status.c
src/ui_unity.c
test-driver [new file with mode: 0755]
tests/Makefile.am
tests/Makefile.in
tests/checkpatch.pl
tests/test_psensor_type_to_unit_str.c
www/Makefile.in

diff --git a/AUTHORS b/AUTHORS
index 8695c29..54c9ec6 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,6 +1,17 @@
-Authors of psensor.
+Authors of psensor:
 
-jeanfi@gmail.com        all files.
-linux.dabao@gmail.com,royclarck         po/zh_CN.po
-thgreasi@gmail.com              src/lib/amd.h src/lib/amd.h
-Christoph Buchner (bilderbuchi)         icons/ubuntu-mono-light/status/22/*svg icons/ubuntu-mono-dark/status/22/*svg
\ No newline at end of file
+jeanfi@gmail.com       all files.
+MestreLion,thgreasi@gmail.com,jeanfi@gmail.com src/lib/amd.h src/lib/amd.h
+Christoph Buchner(bilderbuchi)         icons/ubuntu-mono-light/status/22/*svg icons/ubuntu-mono-dark/status/22/*svg
+
+Include files from other open source softwares:
+
+jqPlot:
+Chris Leonello www/jqplot.dateAxisRenderer.js
+Chris Leonello,Ash Searle www/jqplot.js
+
+jQuery:
+jQuery Foundation www/jquery.js
+
+Linux Kernel:
+Dave Jones,Joel Schopp,Andy Whitcroft tests/checkpatch.pl
\ No newline at end of file
index e199b72..df37f0f 100644 (file)
@@ -28,8 +28,10 @@ desktop_DATA = psensor.desktop
 
 EXTRA_DIST = $(desktop_DATA) $(autostart_DATA)
 
+if ASCIIDOC
 README.html: README www/style.css
        asciidoc --theme style -a themedir=`pwd`/www -n -a toc README
 
 NEWS.html: NEWS www/style.css
        asciidoc --theme style -a themedir=`pwd`/www NEWS
+endif
index 74ac73c..e387bb1 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,18 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \
-       AUTHORS COPYING ChangeLog INSTALL NEWS ar-lib compile \
-       config.guess config.rpath config.sub depcomp install-sh \
-       missing
+DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
+       $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/configure $(am__configure_deps) \
+       $(srcdir)/config.h.in ABOUT-NLS $(dist_doc_DATA) COPYING \
+       ar-lib compile config.guess config.rpath config.sub depcomp \
+       install-sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -68,15 +99,28 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -113,11 +157,33 @@ am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(docdir)"
 DATA = $(desktop_DATA) $(dist_doc_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+       $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
@@ -128,6 +194,7 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -155,15 +222,18 @@ am__relativize = \
   reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -185,15 +255,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -220,6 +286,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -245,7 +313,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -260,7 +327,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -285,6 +351,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -381,8 +448,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-       @if test ! -f $@; then rm -f stamp-h1; else :; fi
-       @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+       @test -f $@ || rm -f stamp-h1
+       @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
        @rm -f stamp-h1
@@ -438,22 +505,25 @@ uninstall-dist_docDATA:
        dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -468,57 +538,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -534,12 +559,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -551,15 +571,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -568,9 +584,31 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+       test ! -s cscope.files \
+         || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+       -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+       -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
 distdir: $(DISTFILES)
        $(am__remove_distdir)
@@ -638,40 +676,42 @@ distdir: $(DISTFILES)
        || chmod -R a+r "$(distdir)"
 dist-gzip: distdir
        tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-bzip2: distdir
        tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-lzip: distdir
        tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-xz: distdir
        tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-tarZ: distdir
+       @echo WARNING: "Support for shar distribution archives is" \
+                      "deprecated." >&2
+       @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
        tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-shar: distdir
+       @echo WARNING: "Support for distribution archives compressed with" \
+                      "legacy program 'compress' is deprecated." >&2
+       @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
        shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-zip: distdir
        -rm -f $(distdir).zip
        zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
+dist dist-all:
+       $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+       $(am__post_remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
@@ -682,8 +722,6 @@ distcheck: dist
          GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
        *.tar.lz*) \
          lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
        *.tar.xz*) \
@@ -695,18 +733,19 @@ distcheck: dist
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
-       chmod -R a-w $(distdir); chmod u+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
+       chmod -R a-w $(distdir)
+       chmod u+w $(distdir)
+       mkdir $(distdir)/_build $(distdir)/_inst
        chmod a-w $(distdir)
        test -d $(distdir)/_build || exit 0; \
        dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
          && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
          && am__cwd=`pwd` \
          && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+         && ../configure \
            $(AM_DISTCHECK_CONFIGURE_FLAGS) \
            $(DISTCHECK_CONFIGURE_FLAGS) \
+           --srcdir=.. --prefix="$$dc_install_base" \
          && $(MAKE) $(AM_MAKEFLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) dvi \
          && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -729,7 +768,7 @@ distcheck: dist
          && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
          && cd "$$am__cwd" \
          || exit 1
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
        @(echo "$(distdir) archives ready for distribution: "; \
          list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
          sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -866,13 +905,12 @@ ps-am:
 
 uninstall-am: uninstall-desktopDATA uninstall-dist_docDATA
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-       ctags-recursive install-am install-strip tags-recursive
+.MAKE: $(am__recursive_targets) all install-am install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-generic \
-       ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
-       dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+       am--refresh check check-am clean clean-cscope clean-generic \
+       cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+       dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
        distcheck distclean distclean-generic distclean-hdr \
        distclean-tags distcleancheck distdir distuninstallcheck dvi \
        dvi-am html html-am info info-am install install-am \
@@ -883,15 +921,15 @@ uninstall-am: uninstall-desktopDATA uninstall-dist_docDATA
        install-ps install-ps-am install-strip installcheck \
        installcheck-am installdirs installdirs-am maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+       pdf-am ps ps-am tags tags-am uninstall uninstall-am \
        uninstall-desktopDATA uninstall-dist_docDATA
 
 
-README.html: README www/style.css
-       asciidoc --theme style -a themedir=`pwd`/www -n -a toc README
+@ASCIIDOC_TRUE@README.html: README www/style.css
+@ASCIIDOC_TRUE@        asciidoc --theme style -a themedir=`pwd`/www -n -a toc README
 
-NEWS.html: NEWS www/style.css
-       asciidoc --theme style -a themedir=`pwd`/www NEWS
+@ASCIIDOC_TRUE@NEWS.html: NEWS www/style.css
+@ASCIIDOC_TRUE@        asciidoc --theme style -a themedir=`pwd`/www NEWS
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/NEWS b/NEWS
index 6283b5c..b918701 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,53 @@
 Psensor NEWS
 ============
 
+v1.1.2
+------
+
+* Fixed missing description in psensor manpage.
+* All mouse buttons can be used to raise color settings in the list of
+  sensors.
+* All mouse buttons can be used to popup menu in the list of sensors.
+* List of sensors UI defined in glade file instead of code.
+* Fixed graph enabled setting not saved when toggle in the list of
+  sensors.
+* Added NVidia GPU graphics, memory, PCIe and video usage.
+* Fixed message when the configuration file is missing.
+* Added NVidia fan support.
+* Added 'Hide' menu item in the contextual menu of the list of
+  sensors.
+* Added free memory support.
+* Added alarm support of sensors expressed as percent.
+* Smoother curves (using Bezier algo).
+* Added translator credits in the about dialog.
+* Added Croatian translation from LP (gogo).
+* Merged all translations from LP.
+* Included the full list of contributors from LP, available throw the
+  about dialog.
+* Support of disk temperature using udisks2.
+* Fixed small UI layout/padding issues.
+* Splitted sensor preferences using a tab panel.
+* New preferences to enable/disable each sensor provider.
+* psensor: removed option +--use-libatasmart+.
+* Changed default color for the curves (copied from the default
+  colors of the gtk color chooser widget).
+
+v1.1.1
+------
+
+* Sensor properties stored in +$HOME/.psensor/psensor.cfg+ instead of
+  GConf.
+* psensor settings stored with dconf, removed dependency to gconf2.
+* Fixed check of sensors/error.h.
+* Made asciidoc optional.
+* Hide/show sensors in the main window.
+* Added TODO in the source tarball.
+* Merged Hungarian translation from LP (Richard Somlói).
+* Merged Italian translation from LP (Gabriele).
+* Merged Latvian translation from LP (tuxmaniack).
+* Merged Swedish translation from LP (Josef Andersson).
+* Meged Turkish translation from LP (İbrahim Çelik).
+
 v1.0.4
 ------
 
index 985b0b4..48e7c55 100644 (file)
--- a/NEWS.html
+++ b/NEWS.html
@@ -381,6 +381,191 @@ asciidoc.install();
 </div>\r
 <div id="content">\r
 <div class="sect1">\r
+<h2 id="_v1_1_2">v1.1.2</h2>\r
+<div class="sectionbody">\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed missing description in psensor manpage.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+All mouse buttons can be used to raise color settings in the list of\r
+  sensors.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+All mouse buttons can be used to popup menu in the list of sensors.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+List of sensors UI defined in glade file instead of code.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed graph enabled setting not saved when toggle in the list of\r
+  sensors.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added NVidia GPU graphics, memory, PCIe and video usage.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed message when the configuration file is missing.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added NVidia fan support.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added <em>Hide</em> menu item in the contextual menu of the list of\r
+  sensors.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added free memory support.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added alarm support of sensors expressed as percent.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Smoother curves (using Bezier algo).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added translator credits in the about dialog.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added Croatian translation from LP (gogo).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Merged all translations from LP.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Included the full list of contributors from LP, available throw the\r
+  about dialog.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Support of disk temperature using udisks2.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed small UI layout/padding issues.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Splitted sensor preferences using a tab panel.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+New preferences to enable/disable each sensor provider.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+psensor: removed option <code>--use-libatasmart</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Changed default color for the curves (copied from the default\r
+  colors of the gtk color chooser widget).\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_v1_1_1">v1.1.1</h2>\r
+<div class="sectionbody">\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Sensor properties stored in <code>$HOME/.psensor/psensor.cfg</code> instead of\r
+  GConf.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+psensor settings stored with dconf, removed dependency to gconf2.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed check of sensors/error.h.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Made asciidoc optional.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Hide/show sensors in the main window.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added TODO in the source tarball.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Merged Hungarian translation from LP (Richard Somlói).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Merged Italian translation from LP (Gabriele).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Merged Latvian translation from LP (tuxmaniack).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Merged Swedish translation from LP (Josef Andersson).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Meged Turkish translation from LP (İbrahim Çelik).\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
 <h2 id="_v1_0_4">v1.0.4</h2>\r
 <div class="sectionbody">\r
 <div class="ulist"><ul>\r
@@ -2666,7 +2851,7 @@ Fixed BR1: crash when no temperature sensor is available
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 2014-08-10 13:03:44 CEST\r
+Last updated 2014-09-20 08:53:43 CEST\r
 </div>\r
 </div>\r
 </body>\r
diff --git a/README b/README
index 43123c8..c1d3c70 100644 (file)
--- a/README
+++ b/README
@@ -11,10 +11,12 @@ It draws realtime charts and raises alerts about:
  * the temperature of the motherboard and CPU sensors (using
    lm-sensors).
  * the temperature of the NVidia GPUs (using XNVCtrl).
- * the temperature of the Hard Disk Drives (using hddtemp or libatasmart).
- * the rotation speed of the fans (using lm-sensors).
+ * the temperature of ATI GPUs (using ATI ADL SDK).
+ * the temperature of the Hard Disk Drives (using hddtemp, libatasmart
+   or udisks2).
+ * the rotation speed of the fans.
  * the temperature of a remote computer.
- * the cpu load.
+ * the CPU load.
 
 Alerts are using Desktop Notification and a specific GTK+ status icon.
 
@@ -114,7 +116,6 @@ The compilation of +psensor+ requires:
  * lm-sensors
  * library sensors4
  * library gtk3 >=3.4
- * library gconf2
  * help2man 
  * asciidoc (optional, required to produce the html version of the
    faq)
@@ -122,41 +123,17 @@ The compilation of +psensor+ requires:
  * library libnotify (optional)
  * library libappindicator (optional)
  * library libXNVCtrl (optional)
- * library json0 and curl (optional, required for remote monitoring)
+ * library json-c >= 0.11.99 and curl (optional, required for remote monitoring)
  * library unity (>=v3.4.2, optional)
  * library gtop2 (optional, required for CPU usage)
  * library atasmart (optional, for disk monitoring)
+ * library udisk2 (optional, for disk monitoring)
 
 The specific requirements for +psensor-server+:
 
  * library libmicrohttpd 
  * library json0
 
-For Debian 7.0:
------------------------------------------------------------------
-sudo apt-get install asciidoc cppcheck gcc gettext libgtk-3-dev
-libgconf2-dev libnotify-dev libsensors4-dev help2man
-libcurl4-openssl-dev libjson0-dev libmicrohttpd-dev libgtop2-dev
-libatasmart-dev make
------------------------------------------------------------------
-
-For Fedora 17:
------------------------------------------------------------------------
-sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck
-libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel
-help2man libnotify-devel libgtop2-devel make
------------------------------------------------------------------------
-
-For Ubuntu 12.10:
--------------------------------------------------------------------------
-sudo apt-get install asciidoc autoconf automake autopoint
-debhelper (>= 9) cppcheck gettext help2man libappindicator3-dev
-libatasmart-dev libcurl4-gnutls-dev libgconf2-dev libgtk-3-dev
-libgtop2-dev libjson0-dev libmicrohttpd-dev libnotify-dev
-libsensors4-dev libunity-dev nvidia-settings perl
-
--------------------------------------------------------------------------
-
 Compilation and Installation Steps
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -167,8 +144,7 @@ Compilation and Installation Steps
 5. Start the sensor detection script: +sensors-detect+ and follows the
 instructions. Reboot or activate the kernel modules which have
 been found.
-6. To monitor HDDs, the +hddtemp+ daemon must be installed and running.
-7. Run: +psensor+
+6. Run: +psensor+
 
 ATI/AMD GPU Support
 ~~~~~~~~~~~~~~~~~~~
index 7b1b294..a1942e9 100644 (file)
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
 <head>\r
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.6.7" />\r
+<meta name="generator" content="AsciiDoc 8.6.9" />\r
 <title>Psensor README</title>\r
 <style type="text/css">\r
 \r
@@ -177,6 +177,8 @@ table {
     -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
     box-shadow: 0 2px 2px 0 #C2C2C2;\r
 }\r
+\r
+\r
 </style>\r
 <script type="text/javascript">\r
 /*<![CDATA[*/\r
@@ -427,26 +429,26 @@ red under alert and a menu for quickly check all sensors.</p></div>
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
-start <tt>psensor-server</tt> on the remote computer.\r
+start <code>psensor-server</code> on the remote computer.\r
 </p>\r
 </li>\r
 <li>\r
 <p>\r
-start <tt>psensor</tt> using: <tt>psensor --url=http://hostname:3131</tt>.\r
+start <code>psensor</code> using: <code>psensor --url=http://hostname:3131</code>.\r
 </p>\r
 </li>\r
 </ul></div>\r
-<div class="paragraph"><p><tt>psensor-server</tt> is a minimal Web server, a Web browser can be used to\r
+<div class="paragraph"><p><code>psensor-server</code> is a minimal Web server, a Web browser can be used to\r
 monitor the remote computer by opening the URL:\r
-<tt>http://hostname:3131</tt>.</p></div>\r
+<code>http://hostname:3131</code>.</p></div>\r
 <div class="admonitionblock">\r
 <table><tr>\r
 <td class="icon">\r
 <div class="title">Warning</div>\r
 </td>\r
-<td class="content"><tt>psensor-server</tt> does not provide any way to restrict the connection\r
+<td class="content"><code>psensor-server</code> does not provide any way to restrict the connection\r
 to the HTTP server, worst, no effort has been made against malicious\r
-HTTP attacks.  You should make the <tt>psensor-server</tt> port available\r
+HTTP attacks.  You should make the <code>psensor-server</code> port available\r
 only to a network or computer you trust by using the usual network\r
 security tools of the system (for example:\r
 <a href="http://www.netfilter.org/projects/iptables/index.html">iptables</a>).</td>\r
@@ -466,18 +468,18 @@ Wheezy, unstable and testing repositories.</p></div>
 <div class="paragraph"><p>To do the installation:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>sudo apt-get install psensor psensor-server</tt></pre>\r
+<pre><code>sudo apt-get install psensor psensor-server</code></pre>\r
 </div></div>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_ubuntu">2.2. Ubuntu</h3>\r
 <div class="paragraph"><p>Since Ubuntu Oneiric (11.10), psensor is available in the universe\r
 repository of Ubuntu.</p></div>\r
-<div class="paragraph"><p>To install <tt>psensor</tt> or <tt>psensor-server</tt>:</p></div>\r
+<div class="paragraph"><p>To install <code>psensor</code> or <code>psensor-server</code>:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>sudo apt-get install psensor\r
-sudo apt-get install psensor-server</tt></pre>\r
+<pre><code>sudo apt-get install psensor\r
+sudo apt-get install psensor-server</code></pre>\r
 </div></div>\r
 <div class="paragraph"><p>Or search them in the Ubuntu Software Center.</p></div>\r
 <div class="paragraph"><p>For other Ubuntu releases or user the more recent release, the easiest\r
@@ -485,27 +487,27 @@ way is to use the dedicated PPA.</p></div>
 <div class="paragraph"><p>Last stable version:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>sudo apt-get apt-add-repository ppa:/jfi/psensor\r
+<pre><code>sudo apt-get apt-add-repository ppa:/jfi/psensor\r
 sudo apt-get update\r
 sudo apt-get install psensor\r
-sudo apt-get install psensor-server</tt></pre>\r
+sudo apt-get install psensor-server</code></pre>\r
 </div></div>\r
 <div class="paragraph"><p>Last development version which should not contain major bugs:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>sudo apt-get apt-add-repository ppa:/jfi/psensor-unstable\r
+<pre><code>sudo apt-get apt-add-repository ppa:/jfi/psensor-unstable\r
 sudo apt-get update\r
 sudo apt-get install psensor\r
-sudo apt-get install psensor-server</tt></pre>\r
+sudo apt-get install psensor-server</code></pre>\r
 </div></div>\r
 <div class="paragraph"><p>Daily trunk build which may contain major bugs and partialy\r
 implemented features:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>sudo apt-get apt-add-repository ppa:/jfi/psensor-daily-trunk\r
+<pre><code>sudo apt-get apt-add-repository ppa:/jfi/psensor-daily-trunk\r
 sudo apt-get update\r
 sudo apt-get install psensor\r
-sudo apt-get install psensor-server</tt></pre>\r
+sudo apt-get install psensor-server</code></pre>\r
 </div></div>\r
 </div>\r
 </div>\r
@@ -513,11 +515,11 @@ sudo apt-get install psensor-server</tt></pre>
 <div class="sect1">\r
 <h2 id="_installation_from_source_archive">3. Installation From Source Archive</h2>\r
 <div class="sectionbody">\r
-<div class="paragraph"><p><tt>psensor</tt> and <tt>psensor-server</tt> can be compiled and installed on any\r
+<div class="paragraph"><p><code>psensor</code> and <code>psensor-server</code> can be compiled and installed on any\r
 modern GNU/Linux distribution.</p></div>\r
 <div class="sect2">\r
 <h3 id="_compilation_prerequisites">3.1. Compilation Prerequisites</h3>\r
-<div class="paragraph"><p>The compilation of <tt>psensor</tt> requires:</p></div>\r
+<div class="paragraph"><p>The compilation of <code>psensor</code> requires:</p></div>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -546,11 +548,6 @@ library gtk3 &gt;=3.4
 </li>\r
 <li>\r
 <p>\r
-library gconf2\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 help2man\r
 </p>\r
 </li>\r
@@ -582,7 +579,7 @@ library libXNVCtrl (optional)
 </li>\r
 <li>\r
 <p>\r
-library json0 and curl (optional, required for remote monitoring)\r
+library json-c &gt;= 0.11.99 and curl (optional, required for remote monitoring)\r
 </p>\r
 </li>\r
 <li>\r
@@ -601,7 +598,7 @@ library atasmart (optional, for disk monitoring)
 </p>\r
 </li>\r
 </ul></div>\r
-<div class="paragraph"><p>The specific requirements for <tt>psensor-server</tt>:</p></div>\r
+<div class="paragraph"><p>The specific requirements for <code>psensor-server</code>:</p></div>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -614,30 +611,6 @@ library json0
 </p>\r
 </li>\r
 </ul></div>\r
-<div class="paragraph"><p>For Debian 7.0:</p></div>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>sudo apt-get install asciidoc cppcheck gcc gettext libgtk-3-dev\r
-libgconf2-dev libnotify-dev libsensors4-dev help2man\r
-libcurl4-openssl-dev libjson0-dev libmicrohttpd-dev libgtop2-dev\r
-libatasmart-dev make</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>For Fedora 17:</p></div>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck\r
-libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel\r
-help2man libnotify-devel libgtop2-devel make</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>For Ubuntu 12.10:</p></div>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>sudo apt-get install asciidoc autoconf automake autopoint\r
-debhelper (&gt;= 9) cppcheck gettext help2man libappindicator3-dev\r
-libatasmart-dev libcurl4-gnutls-dev libgconf2-dev libgtk-3-dev\r
-libgtop2-dev libjson0-dev libmicrohttpd-dev libnotify-dev\r
-libsensors4-dev libunity-dev nvidia-settings perl</tt></pre>\r
-</div></div>\r
 </div>\r
 <div class="sect2">\r
 <h3 id="_compilation_and_installation_steps">3.2. Compilation and Installation Steps</h3>\r
@@ -654,29 +627,29 @@ Extract files from the source archive
 </li>\r
 <li>\r
 <p>\r
-Compilation: <tt>./configure;make clean all</tt>\r
+Compilation: <code>./configure;make clean all</code>\r
 </p>\r
 </li>\r
 <li>\r
 <p>\r
-Installation:  <tt>make install</tt> (require to have root permission)\r
+Installation:  <code>make install</code> (require to have root permission)\r
 </p>\r
 </li>\r
 <li>\r
 <p>\r
-Start the sensor detection script: <tt>sensors-detect</tt> and follows the\r
+Start the sensor detection script: <code>sensors-detect</code> and follows the\r
 instructions. Reboot or activate the kernel modules which have\r
 been found.\r
 </p>\r
 </li>\r
 <li>\r
 <p>\r
-To monitor HDDs, the <tt>hddtemp</tt> daemon must be installed and running.\r
+To monitor HDDs, the <code>hddtemp</code> daemon must be installed and running.\r
 </p>\r
 </li>\r
 <li>\r
 <p>\r
-Run: <tt>psensor</tt>\r
+Run: <code>psensor</code>\r
 </p>\r
 </li>\r
 </ol></div>\r
@@ -691,8 +664,8 @@ requiring an additional library.</p></div>
 <div class="paragraph"><p>Download the\r
 <a href="http://developer.amd.com/sdks/ADLSDK/Pages/default.aspx">ATI ADL SDK</a>\r
 and extracts the files of the archive into a directory [dir].</p></div>\r
-<div class="paragraph"><p>Replace the step 3. of the above section by <tt>./configure\r
---with-libatiadl=[dir]</tt> where <tt>[dir]</tt> must be the directory where you\r
+<div class="paragraph"><p>Replace the step 3. of the above section by <code>./configure\r
+--with-libatiadl=[dir]</code> where <code>[dir]</code> must be the directory where you\r
 have extracted the ATI ADL SDK. Other steps are indentical.</p></div>\r
 </div>\r
 </div>\r
@@ -708,7 +681,7 @@ have extracted the ATI ADL SDK. Other steps are indentical.</p></div>
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 2014-04-10 01:57:33 CEST\r
+Last updated 2014-08-23 13:50:12 CEST\r
 </div>\r
 </div>\r
 </body>\r
index 98b09d0..53bcd7b 100644 (file)
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
 [m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-dnl AM_GCONF_SOURCE_2
-dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas
-dnl  (i.e. pass to gconftool-2
-dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where
-dnl  you should install foo.schemas files
+dnl GLIB_GSETTINGS
+dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether
+dnl the schema should be compiled
 dnl
 
-AC_DEFUN([AM_GCONF_SOURCE_2],
+AC_DEFUN([GLIB_GSETTINGS],
 [
-  if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
-    GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
+  m4_pattern_allow([AM_V_GEN])
+  AC_ARG_ENABLE(schemas-compile,
+                AS_HELP_STRING([--disable-schemas-compile],
+                               [Disable regeneration of gschemas.compiled on install]),
+                [case ${enableval} in
+                  yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE=""  ;;
+                  no)  GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;;
+                  *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-compile]) ;;
+                 esac])
+  AC_SUBST([GSETTINGS_DISABLE_SCHEMAS_COMPILE])
+  PKG_PROG_PKG_CONFIG([0.16])
+  AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas])
+  if test x$cross_compiling != xyes; then
+    GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0`
   else
-    GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
-  fi
-
-  AC_ARG_WITH([gconf-source],
-             AC_HELP_STRING([--with-gconf-source=sourceaddress],
-                            [Config database for installing schema files.]),
-             [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],)
-
-  AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE)
-  AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation])
-
-  if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
-    GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
-  fi
-
-  AC_ARG_WITH([gconf-schema-file-dir],
-             AC_HELP_STRING([--with-gconf-schema-file-dir=dir],
-                            [Directory for installing schema files.]),
-             [GCONF_SCHEMA_FILE_DIR="$withval"],)
-
-  AC_SUBST(GCONF_SCHEMA_FILE_DIR)
-  AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files])
-
-  AC_ARG_ENABLE(schemas-install,
-       AC_HELP_STRING([--disable-schemas-install],
-                      [Disable the schemas installation]),
-     [case ${enableval} in
-       yes|no) ;;
-       *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;;
-      esac])
-  AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no])
-])
-
-# gettext.m4 serial 66 (gettext-0.18.2)
-dnl Copyright (C) 1995-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl    default (if it is not specified or empty) is 'no-libtool'.
-dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl    $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl    implementations (in libc or libintl) without the ngettext() function
-dnl    will be ignored.  If NEEDSYMBOL is specified and is
-dnl    'need-formatstring-macros', then GNU gettext implementations that don't
-dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries.  If empty,
-dnl    the value '$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl    and used.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl    Catalog format: none
-dnl    Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
-  dnl Argument checking.
-  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
-    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
-  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
-    [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
-  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
-    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
-  define([gt_included_intl],
-    ifelse([$1], [external],
-      ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
-      [yes]))
-  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
-  gt_NEEDS_INIT
-  AM_GNU_GETTEXT_NEED([$2])
-
-  AC_REQUIRE([AM_PO_SUBDIRS])dnl
-  ifelse(gt_included_intl, yes, [
-    AC_REQUIRE([AM_INTL_SUBDIR])dnl
-  ])
-
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Sometimes libintl requires libiconv, so first search for libiconv.
-  dnl Ideally we would do this search only after the
-  dnl      if test "$USE_NLS" = "yes"; then
-  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
-  dnl the configure script would need to contain the same shell code
-  dnl again, outside any 'if'. There are two solutions:
-  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
-  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
-  dnl documented, we avoid it.
-  ifelse(gt_included_intl, yes, , [
-    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-  ])
-
-  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
-  gt_INTL_MACOSX
-
-  dnl Set USE_NLS.
-  AC_REQUIRE([AM_NLS])
-
-  ifelse(gt_included_intl, yes, [
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-  ])
-  LIBINTL=
-  LTLIBINTL=
-  POSUB=
-
-  dnl Add a version number to the cache macros.
-  case " $gt_needs " in
-    *" need-formatstring-macros "*) gt_api_version=3 ;;
-    *" need-ngettext "*) gt_api_version=2 ;;
-    *) gt_api_version=1 ;;
-  esac
-  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
-  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
-  dnl If we use NLS figure out what method
-  if test "$USE_NLS" = "yes"; then
-    gt_use_preinstalled_gnugettext=no
-    ifelse(gt_included_intl, yes, [
-      AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH([included-gettext],
-        [  --with-included-gettext use the GNU gettext library included here],
-        nls_cv_force_use_gnu_gettext=$withval,
-        nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-    ])
-        dnl User does not insist on using GNU NLS library.  Figure out what
-        dnl to use.  If GNU gettext is available we use this.  Else we have
-        dnl to fall back to GNU NLS library.
-
-        if test $gt_api_version -ge 3; then
-          gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-'
-        else
-          gt_revision_test_code=
-        fi
-        if test $gt_api_version -ge 2; then
-          gt_expression_test_code=' + * ngettext ("", "", 0)'
-        else
-          gt_expression_test_code=
-        fi
-
-        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
-         [AC_LINK_IFELSE(
-            [AC_LANG_PROGRAM(
-               [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-               ]],
-               [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
-               ]])],
-            [eval "$gt_func_gnugettext_libc=yes"],
-            [eval "$gt_func_gnugettext_libc=no"])])
-
-        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-          dnl Sometimes libintl requires libiconv, so first search for libiconv.
-          ifelse(gt_included_intl, yes, , [
-            AM_ICONV_LINK
-          ])
-          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
-          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
-          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
-          dnl even if libiconv doesn't exist.
-          AC_LIB_LINKFLAGS_BODY([intl])
-          AC_CACHE_CHECK([for GNU gettext in libintl],
-            [$gt_func_gnugettext_libintl],
-           [gt_save_CPPFLAGS="$CPPFLAGS"
-            CPPFLAGS="$CPPFLAGS $INCINTL"
-            gt_save_LIBS="$LIBS"
-            LIBS="$LIBS $LIBINTL"
-            dnl Now see whether libintl exists and does not depend on libiconv.
-            AC_LINK_IFELSE(
-              [AC_LANG_PROGRAM(
-                 [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-                 ]],
-                 [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-                 ]])],
-              [eval "$gt_func_gnugettext_libintl=yes"],
-              [eval "$gt_func_gnugettext_libintl=no"])
-            dnl Now see whether libintl exists and depends on libiconv.
-            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
-              LIBS="$LIBS $LIBICONV"
-              AC_LINK_IFELSE(
-                [AC_LANG_PROGRAM(
-                   [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-                   ]],
-                   [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-                   ]])],
-                [LIBINTL="$LIBINTL $LIBICONV"
-                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                 eval "$gt_func_gnugettext_libintl=yes"
-                ])
-            fi
-            CPPFLAGS="$gt_save_CPPFLAGS"
-            LIBS="$gt_save_LIBS"])
-        fi
-
-        dnl If an already present or preinstalled GNU gettext() is found,
-        dnl use it.  But if this macro is used in GNU gettext, and GNU
-        dnl gettext is already preinstalled in libintl, we update this
-        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
-           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
-                && test "$PACKAGE" != gettext-runtime \
-                && test "$PACKAGE" != gettext-tools; }; then
-          gt_use_preinstalled_gnugettext=yes
-        else
-          dnl Reset the values set by searching for libintl.
-          LIBINTL=
-          LTLIBINTL=
-          INCINTL=
-        fi
-
-    ifelse(gt_included_intl, yes, [
-        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-          dnl GNU gettext is not found in the C library.
-          dnl Fall back on included GNU gettext library.
-          nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions used to generate GNU NLS library.
-        BUILD_INCLUDED_LIBINTL=yes
-        USE_INCLUDED_LIBINTL=yes
-        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
-        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
-        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
-
-      CATOBJEXT=
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions to use GNU gettext tools.
-        CATOBJEXT=.gmo
-      fi
-    ])
-
-    if test -n "$INTL_MACOSX_LIBS"; then
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Some extra flags are needed during linking.
-        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
-        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
-      fi
-    fi
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes" \
-       || test "$nls_cv_use_gnu_gettext" = "yes"; then
-      AC_DEFINE([ENABLE_NLS], [1],
-        [Define to 1 if translation of program messages to the user's native language
-   is requested.])
-    else
-      USE_NLS=no
-    fi
-  fi
-
-  AC_MSG_CHECKING([whether to use NLS])
-  AC_MSG_RESULT([$USE_NLS])
-  if test "$USE_NLS" = "yes"; then
-    AC_MSG_CHECKING([where the gettext function comes from])
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        gt_source="external libintl"
-      else
-        gt_source="libc"
-      fi
-    else
-      gt_source="included intl directory"
-    fi
-    AC_MSG_RESULT([$gt_source])
+    AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas)
   fi
-
-  if test "$USE_NLS" = "yes"; then
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        AC_MSG_CHECKING([how to link with libintl])
-        AC_MSG_RESULT([$LIBINTL])
-        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-      fi
-
-      dnl For backward compatibility. Some packages may be using this.
-      AC_DEFINE([HAVE_GETTEXT], [1],
-       [Define if the GNU gettext() function is already present or preinstalled.])
-      AC_DEFINE([HAVE_DCGETTEXT], [1],
-       [Define if the GNU dcgettext() function is already present or preinstalled.])
-    fi
-
-    dnl We need to process the po/ directory.
-    POSUB=po
-  fi
-
-  ifelse(gt_included_intl, yes, [
-    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-    dnl to 'yes' because some of the testsuite requires it.
-    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-    dnl Make all variables we use known to autoconf.
-    AC_SUBST([BUILD_INCLUDED_LIBINTL])
-    AC_SUBST([USE_INCLUDED_LIBINTL])
-    AC_SUBST([CATOBJEXT])
-
-    dnl For backward compatibility. Some configure.ins may be using this.
-    nls_cv_header_intl=
-    nls_cv_header_libgt=
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    DATADIRNAME=share
-    AC_SUBST([DATADIRNAME])
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INSTOBJEXT=.mo
-    AC_SUBST([INSTOBJEXT])
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    GENCAT=gencat
-    AC_SUBST([GENCAT])
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INTLOBJS=
-    if test "$USE_INCLUDED_LIBINTL" = yes; then
-      INTLOBJS="\$(GETTOBJS)"
-    fi
-    AC_SUBST([INTLOBJS])
-
-    dnl Enable libtool support if the surrounding package wishes it.
-    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
-    AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
-  ])
-
-  dnl For backward compatibility. Some Makefiles may be using this.
-  INTLLIBS="$LIBINTL"
-  AC_SUBST([INTLLIBS])
-
-  dnl Make all documented variables known to autoconf.
-  AC_SUBST([LIBINTL])
-  AC_SUBST([LTLIBINTL])
-  AC_SUBST([POSUB])
-])
-
-
-dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
-m4_define([gt_NEEDS_INIT],
-[
-  m4_divert_text([DEFAULTS], [gt_needs=])
-  m4_define([gt_NEEDS_INIT], [])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
-AC_DEFUN([AM_GNU_GETTEXT_NEED],
-[
-  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-
-# iconv.m4 serial 18 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
-  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_LINK_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[
-#include <stdlib.h>
-#include <iconv.h>
-         ]],
-         [[iconv_t cd = iconv_open("","");
-           iconv(cd,NULL,NULL,NULL,NULL);
-           iconv_close(cd);]])],
-      [am_cv_func_iconv=yes])
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[
-#include <stdlib.h>
-#include <iconv.h>
-           ]],
-           [[iconv_t cd = iconv_open("","");
-             iconv(cd,NULL,NULL,NULL,NULL);
-             iconv_close(cd);]])],
-        [am_cv_lib_iconv=yes]
-        [am_cv_func_iconv=yes])
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
-      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
-      dnl Solaris 10.
-      am_save_LIBS="$LIBS"
-      if test $am_cv_lib_iconv = yes; then
-        LIBS="$LIBS $LIBICONV"
-      fi
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <iconv.h>
-#include <string.h>
-int main ()
-{
-  int result = 0;
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
-  {
-    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
-    if (cd_utf8_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 1;
-        iconv_close (cd_utf8_to_88591);
-      }
-  }
-  /* Test against Solaris 10 bug: Failures are not distinguishable from
-     successful returns.  */
-  {
-    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
-    if (cd_ascii_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\263";
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 2;
-        iconv_close (cd_ascii_to_88591);
-      }
-  }
-  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304";
-        static char buf[2] = { (char)0xDE, (char)0xAD };
-        const char *inptr = input;
-        size_t inbytesleft = 1;
-        char *outptr = buf;
-        size_t outbytesleft = 1;
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
-          result |= 4;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#if 0 /* This bug could be worked around by the caller.  */
-  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-        char buf[50];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if ((int)res > 0)
-          result |= 8;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#endif
-  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-     provided.  */
-  if (/* Try standardized names.  */
-      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
-      /* Try IRIX, OSF/1 names.  */
-      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
-      /* Try AIX names.  */
-      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
-      /* Try HP-UX names.  */
-      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    result |= 16;
-  return result;
-}]])],
-        [am_cv_func_iconv_works=yes],
-        [am_cv_func_iconv_works=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-changequote([,])dnl
-        ])
-      LIBS="$am_save_LIBS"
-    ])
-    case "$am_cv_func_iconv_works" in
-      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
-      *)   am_func_iconv=yes ;;
-    esac
+  AC_SUBST(GLIB_COMPILE_SCHEMAS)
+  if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then
+    ifelse([$2],,[AC_MSG_ERROR([glib-compile-schemas not found.])],[$2])
   else
-    am_func_iconv=no am_cv_lib_iconv=no
-  fi
-  if test "$am_func_iconv" = yes; then
-    AC_DEFINE([HAVE_ICONV], [1],
-      [Define if you have the iconv() function and it works.])
+    ifelse([$1],,[:],[$1])
   fi
-  if test "$am_cv_lib_iconv" = yes; then
-    AC_MSG_CHECKING([how to link with libiconv])
-    AC_MSG_RESULT([$LIBICONV])
-  else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
-    LIBICONV=
-    LTLIBICONV=
-  fi
-  AC_SUBST([LIBICONV])
-  AC_SUBST([LTLIBICONV])
-])
 
-dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
-dnl avoid warnings like
-dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
-dnl This is tricky because of the way 'aclocal' is implemented:
-dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
-dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
-dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
-dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
-dnl   warnings.
-m4_define([gl_iconv_AC_DEFUN],
-  m4_version_prereq([2.64],
-    [[AC_DEFUN_ONCE(
-        [$1], [$2])]],
-    [m4_ifdef([gl_00GNULIB],
-       [[AC_DEFUN_ONCE(
-           [$1], [$2])]],
-       [[AC_DEFUN(
-           [$1], [$2])]])]))
-gl_iconv_AC_DEFUN([AM_ICONV],
-[
-  AM_ICONV_LINK
-  if test "$am_cv_func_iconv" = yes; then
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL([am_cv_proto_iconv], [
-      AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-           ]],
-           [[]])],
-        [am_cv_proto_iconv_arg1=""],
-        [am_cv_proto_iconv_arg1="const"])
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([
-         $am_cv_proto_iconv])
-    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
-      [Define as const if the declaration of iconv() needs const.])
-    dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
-    m4_ifdef([gl_ICONV_H_DEFAULTS],
-      [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
-       if test -n "$am_cv_proto_iconv_arg1"; then
-         ICONV_CONST="const"
-       fi
-      ])
-  fi
-])
+  GSETTINGS_RULES='
+.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas
 
-# intlmacosx.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Checks for special options needed on Mac OS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
-  dnl Check for API introduced in Mac OS X 10.2.
-  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    [gt_cv_func_CFPreferencesCopyAppValue],
-    [gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_LINK_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <CoreFoundation/CFPreferences.h>]],
-          [[CFPreferencesCopyAppValue(NULL, NULL)]])],
-       [gt_cv_func_CFPreferencesCopyAppValue=yes],
-       [gt_cv_func_CFPreferencesCopyAppValue=no])
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
-      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
-  fi
-  dnl Check for API introduced in Mac OS X 10.3.
-  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
-    [gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_LINK_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <CoreFoundation/CFLocale.h>]],
-          [[CFLocaleCopyCurrent();]])],
-       [gt_cv_func_CFLocaleCopyCurrent=yes],
-       [gt_cv_func_CFLocaleCopyCurrent=no])
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
-      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
-  fi
-  INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
-  fi
-  AC_SUBST([INTL_MACOSX_LIBS])
-])
+mostlyclean-am: clean-gsettings-schemas
 
-# lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
-dnl collision with libtool.m4.
-
-dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes
-  ;;
-*)
-  acl_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
+gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE))
 
-dnl From libtool-2.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
-AC_ARG_WITH([gnu-ld],
-    [AS_HELP_STRING([--with-gnu-ld],
-        [assume the C compiler uses GNU ld [default=no]])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])dnl
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
-fi
+%.gschema.valid: %.gschema.xml $(gsettings__enum_file)
+       $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p [$](@D) && touch [$]@
 
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
-      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
-        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL([acl_cv_path_LD],
-[if test -z "$LD"; then
-  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$acl_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-        test "$with_gnu_ld" != no && break
-        ;;
-      *)
-        test "$with_gnu_ld" != yes && break
-        ;;
-      esac
-    fi
-  done
-  IFS="$acl_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT([$LD])
-else
-  AC_MSG_RESULT([no])
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-
-# lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.54])
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[m4_translit([$1],[./+-], [____])])
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-    AC_LIB_LINKFLAGS_BODY([$1], [$2])
-    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
-  ])
-  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-  dnl results of this search when this library appears as a dependency.
-  HAVE_LIB[]NAME=yes
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. The missing-message
-dnl defaults to 'no' and may contain additional hints for the user.
-dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
-dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[m4_translit([$1],[./+-], [____])])
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-
-  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
-  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed lib[]Name and not disabled its use
-  dnl via --without-lib[]Name-prefix, he wants to use it.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
-  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-    ac_save_LIBS="$LIBS"
-    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
-    dnl because these -l options might require -L options that are present in
-    dnl LIBS. -l options benefit only from the -L options listed before it.
-    dnl Otherwise, add it to the front of LIBS, because it may be a static
-    dnl library that depends on another static library that is present in LIBS.
-    dnl Static libraries benefit only from the static libraries listed after
-    dnl it.
-    case " $LIB[]NAME" in
-      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
-      *)       LIBS="$LIB[]NAME $LIBS" ;;
-    esac
-    AC_LINK_IFELSE(
-      [AC_LANG_PROGRAM([[$3]], [[$4]])],
-      [ac_cv_lib[]Name=yes],
-      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
-    LIBS="$ac_save_LIBS"
-  ])
-  if test "$ac_cv_lib[]Name" = yes; then
-    HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
-    AC_MSG_CHECKING([how to link with lib[]$1])
-    AC_MSG_RESULT([$LIB[]NAME])
-  else
-    HAVE_LIB[]NAME=no
-    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-    dnl $INC[]NAME either.
-    CPPFLAGS="$ac_save_CPPFLAGS"
-    LIB[]NAME=
-    LTLIB[]NAME=
-    LIB[]NAME[]_PREFIX=
-  fi
-  AC_SUBST([HAVE_LIB]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl   acl_libext,
-dnl   acl_shlibext,
-dnl   acl_libname_spec,
-dnl   acl_library_names_spec,
-dnl   acl_hardcode_libdir_flag_spec,
-dnl   acl_hardcode_libdir_separator,
-dnl   acl_hardcode_direct,
-dnl   acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
-  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
-  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
-  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
-  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-  ])
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-  dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE([rpath],
-    [  --disable-rpath         do not hardcode runtime library paths],
-    :, enable_rpath=yes)
-])
-
-dnl AC_LIB_FROMPACKAGE(name, package)
-dnl declares that libname comes from the given package. The configure file
-dnl will then not have a --with-libname-prefix option but a
-dnl --with-package-prefix option. Several libraries can come from the same
-dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
-dnl macro call that searches for libname.
-AC_DEFUN([AC_LIB_FROMPACKAGE],
-[
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  define([acl_frompackage_]NAME, [$2])
-  popdef([NAME])
-  pushdef([PACK],[$2])
-  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
-                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  define([acl_libsinpackage_]PACKUP,
-    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
-  popdef([PACKUP])
-  popdef([PACK])
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
-  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
-                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
-  dnl Autoconf >= 2.61 supports dots in --with options.
-  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_ARG_WITH(P_A_C_K[-prefix],
-[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
-  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
-      fi
-    fi
-])
-  dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
-  LIB[]NAME=
-  LTLIB[]NAME=
-  INC[]NAME=
-  LIB[]NAME[]_PREFIX=
-  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
-  dnl computed. So it has to be reset here.
-  HAVE_LIB[]NAME=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='$1 $2'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-        dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-          else
-            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-            dnl that this library doesn't exist. So just drop it.
-            :
-          fi
-        else
-          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-          dnl and the already constructed $LIBNAME/$LTLIBNAME.
-          found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-            dnl The same code as in the loop below:
-            dnl First look for a shared library.
-            if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-            dnl Then look for a static library.
-            if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIB[]NAME; do
-              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  dnl First look for a shared library.
-                  if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                  dnl Then look for a static library.
-                  if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-            dnl Found the library.
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-              dnl Linking with a shared library. We attempt to hardcode its
-              dnl directory into the executable's runpath, unless it's the
-              dnl standard /usr/lib.
-              if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
-                dnl No hardcoding is needed.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-              else
-                dnl Use an explicit option to hardcode DIR into the resulting
-                dnl binary.
-                dnl Potentially add DIR to ltrpathdirs.
-                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$acl_hardcode_direct" = yes; then
-                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-                  dnl resulting binary.
-                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                    dnl Use an explicit option to hardcode DIR into the resulting
-                    dnl binary.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    dnl Potentially add DIR to rpathdirs.
-                    dnl The rpathdirs will be appended to $LIBNAME at the end.
-                    haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                    dnl Rely on "-L$found_dir".
-                    dnl But don't add it if it's already contained in the LDFLAGS
-                    dnl or the already constructed $LIBNAME
-                    haveit=
-                    for x in $LDFLAGS $LIB[]NAME; do
-                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    else
-                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
-                      dnl here, because this doesn't fit in flags passed to the
-                      dnl compiler. So give up. No hardcoding. This affects only
-                      dnl very old systems.
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                dnl Linking with a static library.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-              else
-                dnl We shouldn't come here, but anyway it's good to have a
-                dnl fallback.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-              fi
-            fi
-            dnl Assume the include files are nearby.
-            additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-              dnl Potentially add $additional_includedir to $INCNAME.
-              dnl But don't add it
-              dnl   1. if it's the standard /usr/include,
-              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
-              dnl   3. if it's already present in $CPPFLAGS or the already
-              dnl      constructed $INCNAME,
-              dnl   4. if it doesn't exist as a directory.
-              if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INC[]NAME; do
-                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                      dnl Really add $additional_includedir to $INCNAME.
-                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-            dnl Look for dependencies.
-            if test -n "$found_la"; then
-              dnl Read the .la file. It defines the variables
-              dnl dlname, library_names, old_library, dependency_libs, current,
-              dnl age, revision, installed, dlopen, dlpreopen, libdir.
-              save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-              dnl We use only dependency_libs.
-              for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-                    dnl But don't add it
-                    dnl   1. if it's the standard /usr/lib,
-                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
-                    dnl   3. if it's already present in $LDFLAGS or the already
-                    dnl      constructed $LIBNAME,
-                    dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                      dnl Potentially add DIR to rpathdirs.
-                      dnl The rpathdirs will be appended to $LIBNAME at the end.
-                      haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                      dnl Potentially add DIR to ltrpathdirs.
-                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                      haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                    dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                    dnl Handle this in the next round. Throw away the .la's
-                    dnl directory; it is already contained in a preceding -L
-                    dnl option.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                    dnl Most likely an immediate library name.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-            dnl Didn't find the library; assume it is in the system directories
-            dnl known to the linker and runtime loader. (All the system
-            dnl directories known to the linker should also be known to the
-            dnl runtime loader, otherwise the system is severely misconfigured.)
-            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-      dnl Weird platform: only the last -rpath option counts, the user must
-      dnl pass all path elements in one option. We can arrange that for a
-      dnl single library, but not when more than one $LIBNAMEs are used.
-      alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
-      acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-    else
-      dnl The -rpath options are cumulative.
-      for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-    dnl When using libtool, the option that works for both libraries and
-    dnl executables is -R. The -R options are cumulative.
-    for found_dir in $ltrpathdirs; do
-      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-    done
-  fi
-  popdef([P_A_C_K])
-  popdef([PACKLIBS])
-  popdef([PACKUP])
-  popdef([PACK])
-  popdef([NAME])
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
-  for element in [$2]; do
-    haveit=
-    for x in $[$1]; do
-      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      [$1]="${[$1]}${[$1]:+ }$element"
-    fi
-  done
-])
+all-am: $(gsettings_SCHEMAS:.xml=.valid)
+uninstall-am: uninstall-gsettings-schemas
+install-data-am: install-gsettings-schemas
 
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
-  AC_REQUIRE([AC_LIB_RPATH])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  $1=
-  if test "$enable_rpath" != no; then
-    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-      dnl Use an explicit option to hardcode directories into the resulting
-      dnl binary.
-      rpathdirs=
-      next=
-      for opt in $2; do
-        if test -n "$next"; then
-          dir="$next"
-          dnl No need to hardcode the standard /usr/lib.
-          if test "X$dir" != "X/usr/$acl_libdirstem" \
-             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
-            rpathdirs="$rpathdirs $dir"
-          fi
-          next=
-        else
-          case $opt in
-            -L) next=yes ;;
-            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
-                 dnl No need to hardcode the standard /usr/lib.
-                 if test "X$dir" != "X/usr/$acl_libdirstem" \
-                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
-                   rpathdirs="$rpathdirs $dir"
-                 fi
-                 next= ;;
-            *) next= ;;
-          esac
-        fi
-      done
-      if test "X$rpathdirs" != "X"; then
-        if test -n ""$3""; then
-          dnl libtool is used for linking. Use -R options.
-          for dir in $rpathdirs; do
-            $1="${$1}${$1:+ }-R$dir"
-          done
-        else
-          dnl The linker is used for linking directly.
-          if test -n "$acl_hardcode_libdir_separator"; then
-            dnl Weird platform: only the last -rpath option counts, the user
-            dnl must pass all path elements in one option.
-            alldirs=
-            for dir in $rpathdirs; do
-              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
-            done
-            acl_save_libdir="$libdir"
-            libdir="$alldirs"
-            eval flag=\"$acl_hardcode_libdir_flag_spec\"
-            libdir="$acl_save_libdir"
-            $1="$flag"
-          else
-            dnl The -rpath options are cumulative.
-            for dir in $rpathdirs; do
-              acl_save_libdir="$libdir"
-              libdir="$dir"
-              eval flag=\"$acl_hardcode_libdir_flag_spec\"
-              libdir="$acl_save_libdir"
-              $1="${$1}${$1:+ }$flag"
-            done
-          fi
-        fi
-      fi
-    fi
-  fi
-  AC_SUBST([$1])
-])
-
-# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
-  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-      fi
-    fi
-])
-  if test $use_additional = yes; then
-    dnl Potentially add $additional_includedir to $CPPFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/include,
-    dnl   2. if it's already present in $CPPFLAGS,
-    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_includedir" != "X/usr/include"; then
-      haveit=
-      for x in $CPPFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-I$additional_includedir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_includedir" = "X/usr/local/include"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_includedir"; then
-            dnl Really add $additional_includedir to $CPPFLAGS.
-            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-          fi
-        fi
-      fi
-    fi
-    dnl Potentially add $additional_libdir to $LDFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/lib,
-    dnl   2. if it's already present in $LDFLAGS,
-    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
-      haveit=
-      for x in $LDFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-L$additional_libdir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux*) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_libdir"; then
-            dnl Really add $additional_libdir to $LDFLAGS.
-            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-          fi
-        fi
-      fi
-    fi
-  fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
-  dnl Unfortunately, prefix and exec_prefix get only finally determined
-  dnl at the end of configure.
-  if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-])
+.SECONDARY: $(gsettings_SCHEMAS)
 
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  $1
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-])
+install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file)
+       @$(NORMAL_INSTALL)
+       if test -n "$^"; then \
+               test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \
+               $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \
+               test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \
+       fi
 
-dnl AC_LIB_PREPARE_MULTILIB creates
-dnl - a variable acl_libdirstem, containing the basename of the libdir, either
-dnl   "lib" or "lib64" or "lib/64",
-dnl - a variable acl_libdirstem2, as a secondary possible value for
-dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
-dnl   "lib/amd64".
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
-  dnl There is no formal standard regarding lib and lib64.
-  dnl On glibc systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
-  dnl the compiler's default mode by looking at the compiler's library search
-  dnl path. If at least one of its elements ends in /lib64 or points to a
-  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
-  dnl Otherwise we use the default, namely "lib".
-  dnl On Solaris systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
-  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  acl_libdirstem=lib
-  acl_libdirstem2=
-  case "$host_os" in
-    solaris*)
-      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
-      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
-      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
-      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
-      dnl symlink is missing, so we set acl_libdirstem2 too.
-      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
-        [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
-           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
-        ])
-      if test $gl_cv_solaris_64bit = yes; then
-        acl_libdirstem=lib/64
-        case "$host_cpu" in
-          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
-          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
-        esac
-      fi
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-      if test -n "$searchpath"; then
-        acl_save_IFS="${IFS=   }"; IFS=":"
-        for searchdir in $searchpath; do
-          if test -d "$searchdir"; then
-            case "$searchdir" in
-              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-              */../ | */.. )
-                # Better ignore directories of this form. They are misleading.
-                ;;
-              *) searchdir=`cd "$searchdir" && pwd`
-                 case "$searchdir" in
-                   */lib64 ) acl_libdirstem=lib64 ;;
-                 esac ;;
-            esac
-          fi
-        done
-        IFS="$acl_save_IFS"
-      fi
-      ;;
-  esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+uninstall-gsettings-schemas:
+       @$(NORMAL_UNINSTALL)
+       @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \
+       test -n "$$files" || exit 0; \
+       echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files
+       test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir)
+
+clean-gsettings-schemas:
+       rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file)
+
+ifdef gsettings_ENUM_NAMESPACE
+$(gsettings__enum_file): $(gsettings_ENUM_FILES)
+       $(AM_V_GEN) glib-mkenums --comments '\''<!-- @comment@ -->'\'' --fhead "<schemalist>" --vhead "  <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod "    <value nick='\''@valuenick@'\'' value='\''@valuenum@'\''/>" --vtail "  </@type@>" --ftail "</schemalist>" [$]^ > [$]@.tmp && mv [$]@.tmp [$]@
+endif
+'
+  _GSETTINGS_SUBST(GSETTINGS_RULES)
 ])
 
-# nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_NLS],
+dnl _GSETTINGS_SUBST(VARIABLE)
+dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
+AC_DEFUN([_GSETTINGS_SUBST],
 [
-  AC_MSG_CHECKING([whether NLS is requested])
-  dnl Default is enabled NLS
-  AC_ARG_ENABLE([nls],
-    [  --disable-nls           do not use Native Language Support],
-    USE_NLS=$enableval, USE_NLS=yes)
-  AC_MSG_RESULT([$USE_NLS])
-  AC_SUBST([USE_NLS])
-])
+AC_SUBST([$1])
+m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
+]
+)
 
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
 # serial 1 (pkg-config-0.24)
@@ -2109,571 +264,22 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# po.m4 serial 21 (gettext-0.18.3)
-dnl Copyright (C) 1995-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.60])
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
-  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-  AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-  AC_REQUIRE([AC_PROG_SED])dnl
-  AC_REQUIRE([AM_NLS])dnl
-
-  dnl Release version of the gettext macros. This is used to ensure that
-  dnl the gettext macros and po/Makefile.in.in are in sync.
-  AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
-
-  dnl Perform the following tests also if --disable-nls has been given,
-  dnl because they are needed for "make dist" to work.
-
-  dnl Search for GNU msgfmt in the PATH.
-  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
-  dnl The second test excludes FreeBSD msgfmt.
-  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
-
-  dnl Test whether it is GNU msgfmt >= 0.15.
-changequote(,)dnl
-  case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
-    *) MSGFMT_015=$MSGFMT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([MSGFMT_015])
-changequote(,)dnl
-  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
-    *) GMSGFMT_015=$GMSGFMT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([GMSGFMT_015])
-
-  dnl Search for GNU xgettext 0.12 or newer in the PATH.
-  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
-  dnl The second test excludes FreeBSD xgettext.
-  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  dnl Remove leftover from FreeBSD xgettext call.
-  rm -f messages.po
-
-  dnl Test whether it is GNU xgettext >= 0.15.
-changequote(,)dnl
-  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
-    *) XGETTEXT_015=$XGETTEXT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([XGETTEXT_015])
-
-  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
-  dnl Installation directories.
-  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
-  dnl have to define it here, so that it can be used in po/Makefile.
-  test -n "$localedir" || localedir='${datadir}/locale'
-  AC_SUBST([localedir])
-
-  dnl Support for AM_XGETTEXT_OPTION.
-  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-  AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
-
-  AC_CONFIG_COMMANDS([po-directories], [[
-    for ac_file in $CONFIG_FILES; do
-      # Support "outfile[:infile[:infile...]]"
-      case "$ac_file" in
-        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-      esac
-      # PO directories have a Makefile.in generated from Makefile.in.in.
-      case "$ac_file" in */Makefile.in)
-        # Adjust a relative srcdir.
-        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
-        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-        # In autoconf-2.13 it is called $ac_given_srcdir.
-        # In autoconf-2.50 it is called $srcdir.
-        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-        case "$ac_given_srcdir" in
-          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-          /*) top_srcdir="$ac_given_srcdir" ;;
-          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-        esac
-        # Treat a directory as a PO directory if and only if it has a
-        # POTFILES.in file. This allows packages to have multiple PO
-        # directories under different names or in different locations.
-        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-          rm -f "$ac_dir/POTFILES"
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          gt_tab=`printf '\t'`
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
-          POMAKEFILEDEPS="POTFILES.in"
-          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
-          # on $ac_dir but don't depend on user-specified configuration
-          # parameters.
-          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-            # The LINGUAS file contains the set of available languages.
-            if test -n "$OBSOLETE_ALL_LINGUAS"; then
-              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-            fi
-            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-          else
-            # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
-          fi
-          # Compute POFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-          # Compute UPDATEPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-          # Compute DUMMYPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-          # Compute GMOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-          case "$ac_given_srcdir" in
-            .) srcdirpre= ;;
-            *) srcdirpre='$(srcdir)/' ;;
-          esac
-          POFILES=
-          UPDATEPOFILES=
-          DUMMYPOFILES=
-          GMOFILES=
-          for lang in $ALL_LINGUAS; do
-            POFILES="$POFILES $srcdirpre$lang.po"
-            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-          done
-          # CATALOGS depends on both $ac_dir and the user's LINGUAS
-          # environment variable.
-          INST_LINGUAS=
-          if test -n "$ALL_LINGUAS"; then
-            for presentlang in $ALL_LINGUAS; do
-              useit=no
-              if test "%UNSET%" != "$LINGUAS"; then
-                desiredlanguages="$LINGUAS"
-              else
-                desiredlanguages="$ALL_LINGUAS"
-              fi
-              for desiredlang in $desiredlanguages; do
-                # Use the presentlang catalog if desiredlang is
-                #   a. equal to presentlang, or
-                #   b. a variant of presentlang (because in this case,
-                #      presentlang can be used as a fallback for messages
-                #      which are not translated in the desiredlang catalog).
-                case "$desiredlang" in
-                  "$presentlang"*) useit=yes;;
-                esac
-              done
-              if test $useit = yes; then
-                INST_LINGUAS="$INST_LINGUAS $presentlang"
-              fi
-            done
-          fi
-          CATALOGS=
-          if test -n "$INST_LINGUAS"; then
-            for lang in $INST_LINGUAS; do
-              CATALOGS="$CATALOGS $lang.gmo"
-            done
-          fi
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
-            if test -f "$f"; then
-              case "$f" in
-                *.orig | *.bak | *~) ;;
-                *) cat "$f" >> "$ac_dir/Makefile" ;;
-              esac
-            fi
-          done
-        fi
-        ;;
-      esac
-    done]],
-   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
-    # from automake < 1.5.
-    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
-    # Capture the value of LINGUAS because we need it to compute CATALOGS.
-    LINGUAS="${LINGUAS-%UNSET%}"
-   ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
-  # When this code is run, in config.status, two variables have already been
-  # set:
-  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
-  # - LINGUAS is the value of the environment variable LINGUAS at configure
-  #   time.
-
-changequote(,)dnl
-  # Adjust a relative srcdir.
-  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
-  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-  # In autoconf-2.13 it is called $ac_given_srcdir.
-  # In autoconf-2.50 it is called $srcdir.
-  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-  case "$ac_given_srcdir" in
-    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-    /*) top_srcdir="$ac_given_srcdir" ;;
-    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  # Find a way to echo strings without interpreting backslash.
-  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
-    gt_echo='echo'
-  else
-    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
-      gt_echo='printf %s\n'
-    else
-      echo_func () {
-        cat <<EOT
-$*
-EOT
-      }
-      gt_echo='echo_func'
-    fi
-  fi
-
-  # A sed script that extracts the value of VARIABLE from a Makefile.
-  tab=`printf '\t'`
-  sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
-  # Seen the first line of the variable definition.
-  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
-  ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
-  # Set POTFILES to the value of the Makefile variable POTFILES.
-  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
-  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
-  # Compute POTFILES_DEPS as
-  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-  POTFILES_DEPS=
-  for file in $POTFILES; do
-    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
-  done
-  POMAKEFILEDEPS=""
-
-  if test -n "$OBSOLETE_ALL_LINGUAS"; then
-    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-  fi
-  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-    # The LINGUAS file contains the set of available languages.
-    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-  else
-    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
-    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
-    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
-  fi
-  # Hide the ALL_LINGUAS assignment from automake < 1.5.
-  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-  # Compute POFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-  # Compute UPDATEPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-  # Compute DUMMYPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-  # Compute GMOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-  # Compute PROPERTIESFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
-  # Compute CLASSFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
-  # Compute QMFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
-  # Compute MSGFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
-  # Compute RESOURCESDLLFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
-  case "$ac_given_srcdir" in
-    .) srcdirpre= ;;
-    *) srcdirpre='$(srcdir)/' ;;
-  esac
-  POFILES=
-  UPDATEPOFILES=
-  DUMMYPOFILES=
-  GMOFILES=
-  PROPERTIESFILES=
-  CLASSFILES=
-  QMFILES=
-  MSGFILES=
-  RESOURCESDLLFILES=
-  for lang in $ALL_LINGUAS; do
-    POFILES="$POFILES $srcdirpre$lang.po"
-    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
-    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
-    QMFILES="$QMFILES $srcdirpre$lang.qm"
-    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
-    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
-  done
-  # CATALOGS depends on both $ac_dir and the user's LINGUAS
-  # environment variable.
-  INST_LINGUAS=
-  if test -n "$ALL_LINGUAS"; then
-    for presentlang in $ALL_LINGUAS; do
-      useit=no
-      if test "%UNSET%" != "$LINGUAS"; then
-        desiredlanguages="$LINGUAS"
-      else
-        desiredlanguages="$ALL_LINGUAS"
-      fi
-      for desiredlang in $desiredlanguages; do
-        # Use the presentlang catalog if desiredlang is
-        #   a. equal to presentlang, or
-        #   b. a variant of presentlang (because in this case,
-        #      presentlang can be used as a fallback for messages
-        #      which are not translated in the desiredlang catalog).
-        case "$desiredlang" in
-          "$presentlang"*) useit=yes;;
-        esac
-      done
-      if test $useit = yes; then
-        INST_LINGUAS="$INST_LINGUAS $presentlang"
-      fi
-    done
-  fi
-  CATALOGS=
-  JAVACATALOGS=
-  QTCATALOGS=
-  TCLCATALOGS=
-  CSHARPCATALOGS=
-  if test -n "$INST_LINGUAS"; then
-    for lang in $INST_LINGUAS; do
-      CATALOGS="$CATALOGS $lang.gmo"
-      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
-      QTCATALOGS="$QTCATALOGS $lang.qm"
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
-    done
-  fi
-
-  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
-  tab=`printf '\t'`
-  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
-${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if test -n "$POMAKEFILEDEPS"; then
-    cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
-  fi
-  mv "$ac_file.tmp" "$ac_file"
-])
-
-dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
-AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
-[
-  XGETTEXT_EXTRA_OPTIONS=
-])
-
-dnl Registers an option to be passed to xgettext in the po subdirectory.
-AC_DEFUN([AM_XGETTEXT_OPTION],
-[
-  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
-])
-
-# progtest.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1996-2003, 2005, 2008-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ([2.50])
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL([ac_cv_path_$1],
-[case "[$]$1" in
-  [[\\/]]* | ?:[[\\/]]*)
-    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in ifelse([$5], , $PATH, [$5]); do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
-          if [$3]; then
-            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
-    ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$][$1])
-else
-  AC_MSG_RESULT([no])
-fi
-AC_SUBST([$1])dnl
-])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.14'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.6], [],
+m4_if([$1], [1.14.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -2689,19 +295,17 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_AR([ACT-IF-FAIL])
 # -------------------------
 # Try to determine the archiver interface, and trigger the ar-lib wrapper
@@ -2716,7 +320,8 @@ AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
 : ${AR=ar}
 
 AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
-  [am_cv_ar_interface=ar
+  [AC_LANG_PUSH([C])
+   am_cv_ar_interface=ar
    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
      [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
       AC_TRY_EVAL([am_ar_try])
@@ -2733,7 +338,7 @@ AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
       fi
       rm -f conftest.lib libconftest.a
      ])
-   ])
+   AC_LANG_POP([C])])
 
 case $am_cv_ar_interface in
 ar)
@@ -2757,17 +362,15 @@ AC_SUBST([AR])dnl
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -2786,7 +389,7 @@ AC_SUBST([AR])dnl
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -2812,22 +415,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -2846,16 +446,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -2865,7 +463,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -2878,12 +476,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -2891,8 +490,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -2932,16 +531,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -2950,8 +549,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -2959,7 +558,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -3007,7 +606,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -3017,9 +616,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -3034,20 +637,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -3060,7 +661,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -3072,21 +673,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -3104,7 +703,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -3114,18 +713,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -3138,7 +740,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -3167,31 +769,40 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
@@ -3202,34 +813,78 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
                             [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+                 [_AM_DEPENDENCIES([CC])],
+                 [m4_define([AC_PROG_CC],
+                            m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+                 [_AM_DEPENDENCIES([CXX])],
+                 [m4_define([AC_PROG_CXX],
+                            m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+                 [_AM_DEPENDENCIES([OBJC])],
+                 [m4_define([AC_PROG_OBJC],
+                            m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+                 [_AM_DEPENDENCIES([OBJCXX])],
+                 [m4_define([AC_PROG_OBJCXX],
+                            m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -3251,15 +906,12 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -3273,16 +925,14 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -3298,14 +948,12 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -3323,7 +971,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -3348,52 +996,14 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -3401,11 +1011,10 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -3418,29 +1027,32 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_MKDIR_P
 # ---------------
-# Check for `mkdir -p'.
+# Check for 'mkdir -p'.
 AC_DEFUN([AM_PROG_MKDIR_P],
 [AC_PREREQ([2.60])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME we are no longer going to remove this! adjust warning
+dnl FIXME message accordingly.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
 dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
 dnl while keeping a definition of mkdir_p for backward compatibility.
 dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
@@ -3457,15 +1069,12 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -3475,7 +1084,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -3489,24 +1098,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -3517,32 +1184,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+       # -L didn't work.
+       set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+       && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+       # If neither matched, then we have a broken ls.  This can happen
+       # if, for instance, CONFIG_SHELL is bash and it inherits a
+       # broken ls alias from the environment.  This has actually
+       # happened.  Such a system could not be considered "sane".
+       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -3552,46 +1227,118 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -3605,18 +1352,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -3626,77 +1371,123 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
+#
 AC_DEFUN([_AM_PROG_TAR],
 [# Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
-     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
 
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([m4/gettext.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
+m4_include([m4/nls.m4])
+m4_include([m4/po.m4])
+m4_include([m4/progtest.m4])
index 8f456ae..8d62e31 100644 (file)
 /* Use libatasmart */
 #undef HAVE_ATASMART
 
-/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
    CoreFoundation framework. */
 #undef HAVE_CFLOCALECOPYCURRENT
 
-/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
    the CoreFoundation framework. */
 #undef HAVE_CFPREFERENCESCOPYAPPVALUE
 
    */
 #undef HAVE_DCGETTEXT
 
-/* Use gconf2 */
-#undef HAVE_GCONF2
-
 /* Define if the GNU gettext() function is already present or preinstalled. */
 #undef HAVE_GETTEXT
 
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
 /* Use GTOP */
 #undef HAVE_GTOP
 
-/* Define if you have the iconv() function and it works. */
+/* Define if you have the iconv() function. */
 #undef HAVE_ICONV
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 /* Define to 1 if you have the `sensors' library (-lsensors). */
 #undef HAVE_LIBSENSORS
 
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#undef HAVE_MALLOC
-
-/* Define to 1 if you have the `memmove' function. */
-#undef HAVE_MEMMOVE
+/* Use libudisks */
+#undef HAVE_LIBUDISKS2
 
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 /* NVidia support enabled */
 #undef HAVE_NVIDIA
 
-/* Define to 1 if your system has a GNU libc compatible `realloc' function,
-   and to 0 otherwise. */
-#undef HAVE_REALLOC
-
 /* Remote monitoring enabled */
 #undef HAVE_REMOTE_SUPPORT
 
-/* Define to 1 if you have the <sensors/errors.h> header file. */
-#undef HAVE_SENSORS_ERRORS_H
+/* Define to 1 if you have the <sensors/error.h> header file. */
+#undef HAVE_SENSORS_ERROR_H
 
 /* Define to 1 if you have the <sensors/sensors.h> header file. */
 #undef HAVE_SENSORS_SENSORS_H
 
-/* Define to 1 if you have the `socket' function. */
-#undef HAVE_SOCKET
-
 /* Define to 1 if you have the <stdbool.h> header file. */
 #undef HAVE_STDBOOL_H
 
 /* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H
 
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
 /* Define to 1 if you have the <strings.h> header file. */
 #undef HAVE_STRINGS_H
 
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Define to 1 if you have the `strtol' function. */
-#undef HAVE_STRTOL
-
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
 /* Use Unity */
 #undef HAVE_UNITY
 
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
 /* Name of package */
 #undef PACKAGE
 
 
 /* Define for large files, on AIX-style hosts. */
 #undef _LARGE_FILES
-
-/* Define to rpl_malloc if the replacement function should be used. */
-#undef malloc
-
-/* Define to rpl_realloc if the replacement function should be used. */
-#undef realloc
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef ssize_t
index c2e0867..98bd186 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for psensor 1.0.4.
+# Generated by GNU Autoconf 2.69 for psensor 1.1.2.
 #
 # Report bugs to <jeanfi@gmail.com>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='psensor'
 PACKAGE_TARNAME='psensor'
-PACKAGE_VERSION='1.0.4'
-PACKAGE_STRING='psensor 1.0.4'
+PACKAGE_VERSION='1.1.2'
+PACKAGE_STRING='psensor 1.1.2'
 PACKAGE_BUGREPORT='jeanfi@gmail.com'
 PACKAGE_URL='http://wpitchoune.net/psensor'
 
@@ -626,9 +626,13 @@ gt_needs=
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
+LIBOBJS
 CPPCHECK_FALSE
 CPPCHECK_TRUE
 HAVE_CPPCHECK
+ASCIIDOC_FALSE
+ASCIIDOC_TRUE
+ASCIIDOC
 HELP2MAN
 GTOP_FALSE
 GTOP_TRUE
@@ -670,10 +674,10 @@ ATASMART_FALSE
 ATASMART_TRUE
 ATASMART_LIBS
 ATASMART_CFLAGS
-GCONF_FALSE
-GCONF_TRUE
-GCONF_LIBS
-GCONF_CFLAGS
+LIBUDISKS2_FALSE
+LIBUDISKS2_TRUE
+LIBUDISKS2_LIBS
+LIBUDISKS2_CFLAGS
 GTK_FALSE
 GTK_TRUE
 GTK_LIBS
@@ -686,16 +690,15 @@ X11_FALSE
 X11_TRUE
 X11_LIBS
 X11_CFLAGS
+SENSORS_LIBS
+PTHREAD_LIBS
+GSETTINGS_RULES
+GLIB_COMPILE_SCHEMAS
+gsettingsschemadir
 PKG_CONFIG_LIBDIR
 PKG_CONFIG_PATH
 PKG_CONFIG
-SENSORS_LIBS
-PTHREAD_LIBS
-GCONF_SCHEMAS_INSTALL_FALSE
-GCONF_SCHEMAS_INSTALL_TRUE
-GCONF_SCHEMA_FILE_DIR
-GCONF_SCHEMA_CONFIG_SOURCE
-GCONFTOOL
+GSETTINGS_DISABLE_SCHEMAS_COMPILE
 POSUB
 LTLIBINTL
 LIBINTL
@@ -711,7 +714,6 @@ build_os
 build_vendor
 build_cpu
 build
-XGETTEXT_EXTRA_OPTIONS
 MSGMERGE
 XGETTEXT_015
 XGETTEXT
@@ -719,10 +721,7 @@ GMSGFMT_015
 MSGFMT_015
 GMSGFMT
 MSGFMT
-GETTEXT_MACRO_VERSION
 USE_NLS
-SED
-LIBOBJS
 EGREP
 GREP
 CPP
@@ -747,6 +746,10 @@ CPPFLAGS
 LDFLAGS
 CFLAGS
 CC
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__untar
 am__tar
 AMTAR
@@ -811,6 +814,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_silent_rules
 enable_dependency_tracking
 enable_largefile
 with_x
@@ -819,9 +823,7 @@ with_gnu_ld
 enable_rpath
 with_libiconv_prefix
 with_libintl_prefix
-with_gconf_source
-with_gconf_schema_file_dir
-enable_schemas_install
+enable_schemas_compile
 with_libatiadl
 with_gtop
 '
@@ -844,8 +846,8 @@ XEXT_CFLAGS
 XEXT_LIBS
 GTK_CFLAGS
 GTK_LIBS
-GCONF_CFLAGS
-GCONF_LIBS
+LIBUDISKS2_CFLAGS
+LIBUDISKS2_LIBS
 ATASMART_CFLAGS
 ATASMART_LIBS
 LIBNOTIFY_CFLAGS
@@ -1402,7 +1404,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures psensor 1.0.4 to adapt to many kinds of systems.
+\`configure' configures psensor 1.1.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1476,7 +1478,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of psensor 1.0.4:";;
+     short | recursive ) echo "Configuration of psensor 1.1.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1484,27 +1486,27 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
   --disable-largefile     omit support for large files
   --disable-nls           do not use Native Language Support
   --disable-rpath         do not hardcode runtime library paths
-  --disable-schemas-install
-                          Disable the schemas installation
+  --disable-schemas-compile
+                          Disable regeneration of gschemas.compiled on install
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-x                use the X Window System
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-gnu-ld           assume the C compiler uses GNU ld default=no
   --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
   --without-libiconv-prefix     don't search for libiconv in includedir and libdir
   --with-libintl-prefix[=DIR]  search for libintl in DIR/include and DIR/lib
   --without-libintl-prefix     don't search for libintl in includedir and libdir
-  --with-gconf-source=sourceaddress
-                          Config database for installing schema files.
-  --with-gconf-schema-file-dir=dir
-                          Directory for installing schema files.
   --with-libatiadl=DIR   use libatiadlxx in DIR
   --with-gtop=yes|no   use gtop
 
@@ -1529,9 +1531,10 @@ Some influential environment variables:
   XEXT_LIBS   linker flags for XEXT, overriding pkg-config
   GTK_CFLAGS  C compiler flags for GTK, overriding pkg-config
   GTK_LIBS    linker flags for GTK, overriding pkg-config
-  GCONF_CFLAGS
-              C compiler flags for GCONF, overriding pkg-config
-  GCONF_LIBS  linker flags for GCONF, overriding pkg-config
+  LIBUDISKS2_CFLAGS
+              C compiler flags for LIBUDISKS2, overriding pkg-config
+  LIBUDISKS2_LIBS
+              linker flags for LIBUDISKS2, overriding pkg-config
   ATASMART_CFLAGS
               C compiler flags for ATASMART, overriding pkg-config
   ATASMART_LIBS
@@ -1625,7 +1628,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-psensor configure 1.0.4
+psensor configure 1.1.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1923,132 +1926,11 @@ $as_echo "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by psensor $as_me 1.0.4, which was
+It was created by psensor $as_me 1.1.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2398,7 +2280,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-am__api_version='1.11'
+am__api_version='1.14'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2524,9 +2406,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -2537,32 +2416,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+       # -L didn't work.
+       set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+       && test "$*" != "X conftest.file $srcdir/configure"; then
+
+       # If neither matched, then we have a broken ls.  This can happen
+       # if, for instance, CONFIG_SHELL is bash and it inherits a
+       # broken ls alias from the environment.  This has actually
+       # happened.  Such a system could not be considered "sane".
+       as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
@@ -2574,6 +2461,16 @@ Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -2596,12 +2493,12 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh}" != xset; then
@@ -2613,10 +2510,10 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -2755,12 +2652,6 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -2843,6 +2734,45 @@ else
 fi
 rmdir .tst 2>/dev/null
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
@@ -2865,7 +2795,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='psensor'
- VERSION='1.0.4'
+ VERSION='1.1.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2893,12 +2823,22 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
 
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
@@ -2906,6 +2846,48 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
 
 ac_config_headers="$ac_config_headers config.h"
 
@@ -3702,6 +3684,65 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 DEPDIR="${am__leading_dot}deps"
 
 ac_config_commands="$ac_config_commands depfiles"
@@ -3721,7 +3762,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -3777,8 +3818,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -3813,16 +3854,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -3831,8 +3872,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -3840,7 +3881,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -3894,209 +3935,84 @@ else
 fi
 
 
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
+
+
+
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+  enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+        # IRIX 6.2 and later do not support large files by default,
+        # so use the C compiler's -n32 option if that helps.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                      && LARGE_OFF_T % 2147483647 == 1)
+                     ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+        if ac_fn_c_try_compile "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext
+        CC="$CC -n32"
+        if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+        break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
 fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  while :; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-
-
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
-  enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_sys_largefile_CC=no
-     if test "$GCC" != yes; then
-       ac_save_CC=$CC
-       while :; do
-        # IRIX 6.2 and later do not support large files by default,
-        # so use the C compiler's -n32 option if that helps.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-        if ac_fn_c_try_compile "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext
-        CC="$CC -n32"
-        if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
-        break
-       done
-       CC=$ac_save_CC
-       rm -f conftest.$ac_ext
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
-  if test "$ac_cv_sys_largefile_CC" != no; then
-    CC=$CC$ac_cv_sys_largefile_CC
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                      && LARGE_OFF_T % 2147483647 == 1)
+                     ? 1 : -1];
 int
 main ()
 {
@@ -4423,7 +4339,13 @@ $as_echo_n "checking the archiver ($AR) interface... " >&6; }
 if ${am_cv_ar_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  am_cv_ar_interface=ar
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+   am_cv_ar_interface=ar
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 int some_variable = 0;
@@ -4454,6 +4376,11 @@ if ac_fn_c_try_compile "$LINENO"; then :
 
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
@@ -5060,268 +4987,34 @@ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_include
 "
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in stdbool.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdbool_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDBOOL_H 1
-_ACEOF
-
-fi
-
-done
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
-if test "x$ac_cv_type_ssize_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ssize_t int
-_ACEOF
-
-fi
-
-
-# Checks for library functions.
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDLIB_H 1
-_ACEOF
-
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
-
-int
-main ()
-{
-return ! malloc (0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
-
-$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
-
-else
-  $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
-
-   case " $LIBOBJS " in
-  *" malloc.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
- ;;
-esac
-
-
-$as_echo "#define malloc rpl_malloc" >>confdefs.h
-
-fi
-
-
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDLIB_H 1
-_ACEOF
-
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5
-$as_echo_n "checking for GNU libc compatible realloc... " >&6; }
-if ${ac_cv_func_realloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_realloc_0_nonnull=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *realloc ();
-#endif
-
-int
-main ()
-{
-return ! realloc (0, 0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_realloc_0_nonnull=yes
-else
-  ac_cv_func_realloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; }
-if test $ac_cv_func_realloc_0_nonnull = yes; then :
-
-$as_echo "#define HAVE_REALLOC 1" >>confdefs.h
-
-else
-  $as_echo "#define HAVE_REALLOC 0" >>confdefs.h
-
-   case " $LIBOBJS " in
-  *" realloc.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS realloc.$ac_objext"
- ;;
-esac
-
-
-$as_echo "#define realloc rpl_realloc" >>confdefs.h
-
-fi
-
-
-for ac_func in gettimeofday memmove socket strdup strtol
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
 fi
 
+done
+
+
+for ac_header in stdbool.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdbool_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STDBOOL_H 1
+_ACEOF
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
+
+done
+
+
+
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
@@ -5339,22 +5032,20 @@ $as_echo "$USE_NLS" >&6; }
 
 
 
-      GETTEXT_MACRO_VERSION=0.18
-
-
 
 
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
@@ -5469,14 +5160,15 @@ fi
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
@@ -5546,14 +5238,15 @@ fi
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
@@ -5614,9 +5307,6 @@ fi
         test -n "$localedir" || localedir='${datadir}/locale'
 
 
-    test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-
-
   ac_config_commands="$ac_config_commands po-directories"
 
 
@@ -5708,7 +5398,6 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 
-
 # Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then :
   withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
@@ -5719,21 +5408,21 @@ fi
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
-
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
+$as_echo_n "checking for ld used by GCC... " >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -5743,12 +5432,12 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
   esac
   case $ac_prog in
     # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
+    [\\/]* | [A-Za-z]:[\\/]*)
       re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
-      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
-        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
       done
       test -z "$LD" && LD="$ac_prog"
       ;;
@@ -5772,26 +5461,23 @@ if ${acl_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
-  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
   for ac_dir in $PATH; do
-    IFS="$acl_save_ifs"
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       acl_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
+      # but apparently some GNU ld's only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
       *GNU* | *'with BFD'*)
-        test "$with_gnu_ld" != no && break
-        ;;
+       test "$with_gnu_ld" != no && break ;;
       *)
-        test "$with_gnu_ld" != yes && break
-        ;;
+       test "$with_gnu_ld" != yes && break ;;
       esac
     fi
   done
-  IFS="$acl_save_ifs"
+  IFS="$ac_save_ifs"
 else
   acl_cv_path_LD="$LD" # Let the user override the test with a path.
 fi
@@ -5811,14 +5497,12 @@ $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
 if ${acl_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes
-  ;;
+  acl_cv_prog_gnu_ld=yes ;;
 *)
-  acl_cv_prog_gnu_ld=no
-  ;;
+  acl_cv_prog_gnu_ld=no ;;
 esac
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
@@ -5844,14 +5528,12 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
 $as_echo "$acl_cv_rpath" >&6; }
   wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  libext="$acl_cv_libext"
+  shlibext="$acl_cv_shlibext"
+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  hardcode_direct="$acl_cv_hardcode_direct"
+  hardcode_minus_L="$acl_cv_hardcode_minus_L"
     # Check whether --enable-rpath was given.
 if test "${enable_rpath+set}" = set; then :
   enableval=$enable_rpath; :
@@ -5861,71 +5543,23 @@ fi
 
 
 
-
-  acl_libdirstem=lib
-  acl_libdirstem2=
-  case "$host_os" in
-    solaris*)
-                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
-$as_echo_n "checking for 64-bit host... " >&6; }
-if ${gl_cv_solaris_64bit+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef _LP64
-sixtyfour bits
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
-  gl_cv_solaris_64bit=yes
-else
-  gl_cv_solaris_64bit=no
-fi
-rm -f conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
-      if test $gl_cv_solaris_64bit = yes; then
-        acl_libdirstem=lib/64
-        case "$host_cpu" in
-          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
-          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+                  acl_libdirstem=lib
+  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+  if test -n "$searchpath"; then
+    acl_save_IFS="${IFS=       }"; IFS=":"
+    for searchdir in $searchpath; do
+      if test -d "$searchdir"; then
+        case "$searchdir" in
+          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+          *) searchdir=`cd "$searchdir" && pwd`
+             case "$searchdir" in
+               */lib64 ) acl_libdirstem=lib64 ;;
+             esac ;;
         esac
       fi
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-      if test -n "$searchpath"; then
-        acl_save_IFS="${IFS=   }"; IFS=":"
-        for searchdir in $searchpath; do
-          if test -d "$searchdir"; then
-            case "$searchdir" in
-              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-              */../ | */.. )
-                # Better ignore directories of this form. They are misleading.
-                ;;
-              *) searchdir=`cd "$searchdir" && pwd`
-                 case "$searchdir" in
-                   */lib64 ) acl_libdirstem=lib64 ;;
-                 esac ;;
-            esac
-          fi
-        done
-        IFS="$acl_save_IFS"
-      fi
-      ;;
-  esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-
-
-
-
+    done
+    IFS="$acl_save_IFS"
+  fi
 
 
 
@@ -5970,10 +5604,6 @@ if test "${with_libiconv_prefix+set}" = set; then :
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
       fi
     fi
 
@@ -5982,8 +5612,6 @@ fi
       LIBICONV=
   LTLIBICONV=
   INCICONV=
-  LIBICONV_PREFIX=
-      HAVE_LIBICONV=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -6001,7 +5629,7 @@ fi
       done
       if test -z "$already_handled"; then
         names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
         eval value=\"\$HAVE_LIB$uppername\"
         if test -n "$value"; then
           if test "$value" = yes; then
@@ -6017,50 +5645,27 @@ fi
           found_la=
           found_so=
           found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
           if test $use_additional = yes; then
-            dir="$additional_libdir"
-                                    if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
+            if test -n "$shlibext" \
+               && { test -f "$additional_libdir/lib$name.$shlibext" \
+                    || { test "$shlibext" = dll \
+                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
+              found_dir="$additional_libdir"
+              if test -f "$additional_libdir/lib$name.$shlibext"; then
+                found_so="$additional_libdir/lib$name.$shlibext"
               else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
+                found_so="$additional_libdir/lib$name.dll.a"
               fi
-            fi
-                        if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
               fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
               fi
             fi
           fi
@@ -6078,42 +5683,26 @@ fi
               case "$x" in
                 -L*)
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
-                                    if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
+                  if test -n "$shlibext" \
+                     && { test -f "$dir/lib$name.$shlibext" \
+                          || { test "$shlibext" = dll \
+                               && test -f "$dir/lib$name.dll.a"; }; }; then
+                    found_dir="$dir"
+                    if test -f "$dir/lib$name.$shlibext"; then
+                      found_so="$dir/lib$name.$shlibext"
                     else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
+                      found_so="$dir/lib$name.dll.a"
                     fi
-                  fi
-                                    if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
                     fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
                     fi
                   fi
                   ;;
@@ -6126,9 +5715,7 @@ fi
           if test "X$found_dir" != "X"; then
                         LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
             if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
                                 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
               else
                                                                                 haveit=
@@ -6141,10 +5728,10 @@ fi
                 if test -z "$haveit"; then
                   ltrpathdirs="$ltrpathdirs $found_dir"
                 fi
-                                if test "$acl_hardcode_direct" = yes; then
+                                if test "$hardcode_direct" = yes; then
                                                       LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
                 else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
                                                             LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
                                                             haveit=
                     for x in $rpathdirs; do
@@ -6176,7 +5763,7 @@ fi
                     if test -z "$haveit"; then
                       LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
                     fi
-                    if test "$acl_hardcode_minus_L" != no; then
+                    if test "$hardcode_minus_L" != no; then
                                                                                         LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
                     else
                                                                                                                                                                                 LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
@@ -6195,16 +5782,6 @@ fi
             case "$found_dir" in
               */$acl_libdirstem | */$acl_libdirstem/)
                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = 'iconv'; then
-                  LIBICONV_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = 'iconv'; then
-                  LIBICONV_PREFIX="$basedir"
-                fi
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -6253,11 +5830,9 @@ fi
                 case "$dep" in
                   -L*)
                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -6357,21 +5932,21 @@ fi
     done
   done
   if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
+    if test -n "$hardcode_libdir_separator"; then
                         alldirs=
       for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
       done
             acl_save_libdir="$libdir"
       libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      eval flag=\"$hardcode_libdir_flag_spec\"
       libdir="$acl_save_libdir"
       LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
     else
             for found_dir in $rpathdirs; do
         acl_save_libdir="$libdir"
         libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        eval flag=\"$hardcode_libdir_flag_spec\"
         libdir="$acl_save_libdir"
         LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
       done
@@ -6407,12 +5982,6 @@ fi
 
 
 
-
-
-
-
-
-
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
 if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
@@ -6508,12 +6077,12 @@ $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
 
 
         if test $gt_api_version -ge 3; then
-          gt_revision_test_code='
+          gt_revision_test_code='[
 #ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
 #endif
 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-'
+]'
         else
           gt_revision_test_code=
         fi
@@ -6530,19 +6099,15 @@ if eval \${$gt_func_gnugettext_libc+:} false; then :
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
 #include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
 extern int *_nl_domain_bindings;
-
 int
 main ()
 {
-
 bindtextdomain ("", "");
 return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
-
   ;
   return 0;
 }
@@ -6600,16 +6165,14 @@ else
     am_cv_lib_iconv=no
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
 #include <stdlib.h>
 #include <iconv.h>
-
 int
 main ()
 {
 iconv_t cd = iconv_open("","");
-           iconv(cd,NULL,NULL,NULL,NULL);
-           iconv_close(cd);
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);
   ;
   return 0;
 }
@@ -6624,16 +6187,14 @@ rm -f core conftest.err conftest.$ac_objext \
       LIBS="$LIBS $LIBICONV"
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
 #include <stdlib.h>
 #include <iconv.h>
-
 int
 main ()
 {
 iconv_t cd = iconv_open("","");
-             iconv(cd,NULL,NULL,NULL,NULL);
-             iconv_close(cd);
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);
   ;
   return 0;
 }
@@ -6651,148 +6212,6 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
 $as_echo "$am_cv_func_iconv" >&6; }
   if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if ${am_cv_func_iconv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-                  am_save_LIBS="$LIBS"
-      if test $am_cv_lib_iconv = yes; then
-        LIBS="$LIBS $LIBICONV"
-      fi
-      if test "$cross_compiling" = yes; then :
-
-         case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <iconv.h>
-#include <string.h>
-int main ()
-{
-  int result = 0;
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
-  {
-    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
-    if (cd_utf8_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 1;
-        iconv_close (cd_utf8_to_88591);
-      }
-  }
-  /* Test against Solaris 10 bug: Failures are not distinguishable from
-     successful returns.  */
-  {
-    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
-    if (cd_ascii_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\263";
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 2;
-        iconv_close (cd_ascii_to_88591);
-      }
-  }
-  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304";
-        static char buf[2] = { (char)0xDE, (char)0xAD };
-        const char *inptr = input;
-        size_t inbytesleft = 1;
-        char *outptr = buf;
-        size_t outbytesleft = 1;
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
-          result |= 4;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#if 0 /* This bug could be worked around by the caller.  */
-  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-        char buf[50];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if ((int)res > 0)
-          result |= 8;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#endif
-  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-     provided.  */
-  if (/* Try standardized names.  */
-      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
-      /* Try IRIX, OSF/1 names.  */
-      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
-      /* Try AIX names.  */
-      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
-      /* Try HP-UX names.  */
-      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    result |= 16;
-  return result;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  am_cv_func_iconv_works=yes
-else
-  am_cv_func_iconv_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-      LIBS="$am_save_LIBS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
-    case "$am_cv_func_iconv_works" in
-      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
-      *)   am_func_iconv=yes ;;
-    esac
-  else
-    am_func_iconv=no am_cv_lib_iconv=no
-  fi
-  if test "$am_func_iconv" = yes; then
 
 $as_echo "#define HAVE_ICONV 1" >>confdefs.h
 
@@ -6814,10 +6233,6 @@ $as_echo "$LIBICONV" >&6; }
 
 
 
-
-
-
-
     use_additional=yes
 
   acl_save_prefix="$prefix"
@@ -6854,10 +6269,6 @@ if test "${with_libintl_prefix+set}" = set; then :
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
       fi
     fi
 
@@ -6866,8 +6277,6 @@ fi
       LIBINTL=
   LTLIBINTL=
   INCINTL=
-  LIBINTL_PREFIX=
-      HAVE_LIBINTL=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -6885,7 +6294,7 @@ fi
       done
       if test -z "$already_handled"; then
         names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
         eval value=\"\$HAVE_LIB$uppername\"
         if test -n "$value"; then
           if test "$value" = yes; then
@@ -6901,50 +6310,27 @@ fi
           found_la=
           found_so=
           found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
           if test $use_additional = yes; then
-            dir="$additional_libdir"
-                                    if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
+            if test -n "$shlibext" \
+               && { test -f "$additional_libdir/lib$name.$shlibext" \
+                    || { test "$shlibext" = dll \
+                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
+              found_dir="$additional_libdir"
+              if test -f "$additional_libdir/lib$name.$shlibext"; then
+                found_so="$additional_libdir/lib$name.$shlibext"
               else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
+                found_so="$additional_libdir/lib$name.dll.a"
               fi
-            fi
-                        if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
               fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
               fi
             fi
           fi
@@ -6962,42 +6348,26 @@ fi
               case "$x" in
                 -L*)
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
-                                    if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
+                  if test -n "$shlibext" \
+                     && { test -f "$dir/lib$name.$shlibext" \
+                          || { test "$shlibext" = dll \
+                               && test -f "$dir/lib$name.dll.a"; }; }; then
+                    found_dir="$dir"
+                    if test -f "$dir/lib$name.$shlibext"; then
+                      found_so="$dir/lib$name.$shlibext"
                     else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
+                      found_so="$dir/lib$name.dll.a"
                     fi
-                  fi
-                                    if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
                     fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
                     fi
                   fi
                   ;;
@@ -7010,9 +6380,7 @@ fi
           if test "X$found_dir" != "X"; then
                         LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
             if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
                                 LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
               else
                                                                                 haveit=
@@ -7025,10 +6393,10 @@ fi
                 if test -z "$haveit"; then
                   ltrpathdirs="$ltrpathdirs $found_dir"
                 fi
-                                if test "$acl_hardcode_direct" = yes; then
+                                if test "$hardcode_direct" = yes; then
                                                       LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
                 else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
                                                             LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
                                                             haveit=
                     for x in $rpathdirs; do
@@ -7060,7 +6428,7 @@ fi
                     if test -z "$haveit"; then
                       LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
                     fi
-                    if test "$acl_hardcode_minus_L" != no; then
+                    if test "$hardcode_minus_L" != no; then
                                                                                         LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
                     else
                                                                                                                                                                                 LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
@@ -7079,16 +6447,6 @@ fi
             case "$found_dir" in
               */$acl_libdirstem | */$acl_libdirstem/)
                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = 'intl'; then
-                  LIBINTL_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = 'intl'; then
-                  LIBINTL_PREFIX="$basedir"
-                fi
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -7137,11 +6495,9 @@ fi
                 case "$dep" in
                   -L*)
                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -7241,21 +6597,21 @@ fi
     done
   done
   if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
+    if test -n "$hardcode_libdir_separator"; then
                         alldirs=
       for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
       done
             acl_save_libdir="$libdir"
       libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      eval flag=\"$hardcode_libdir_flag_spec\"
       libdir="$acl_save_libdir"
       LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
     else
             for found_dir in $rpathdirs; do
         acl_save_libdir="$libdir"
         libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        eval flag=\"$hardcode_libdir_flag_spec\"
         libdir="$acl_save_libdir"
         LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
       done
@@ -7267,11 +6623,6 @@ fi
     done
   fi
 
-
-
-
-
-
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
 $as_echo_n "checking for GNU gettext in libintl... " >&6; }
 if eval \${$gt_func_gnugettext_libintl+:} false; then :
@@ -7283,7 +6634,6 @@ else
             LIBS="$LIBS $LIBINTL"
                         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
 #include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
@@ -7292,14 +6642,11 @@ extern
 "C"
 #endif
 const char *_nl_expand_alias (const char *);
-
 int
 main ()
 {
-
 bindtextdomain ("", "");
 return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-
   ;
   return 0;
 }
@@ -7315,7 +6662,6 @@ rm -f core conftest.err conftest.$ac_objext \
               LIBS="$LIBS $LIBICONV"
               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
 #include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
@@ -7324,22 +6670,19 @@ extern
 "C"
 #endif
 const char *_nl_expand_alias (const char *);
-
 int
 main ()
 {
-
 bindtextdomain ("", "");
 return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   LIBINTL="$LIBINTL $LIBICONV"
-                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                 eval "$gt_func_gnugettext_libintl=yes"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                eval "$gt_func_gnugettext_libintl=yes"
 
 fi
 rm -f core conftest.err conftest.$ac_objext \
@@ -7450,25 +6793,162 @@ $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
 
 
 
-    INTLLIBS="$LIBINTL"
-
-
-
+    INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+# Gsettings
+
+
+  # Check whether --enable-schemas-compile was given.
+if test "${enable_schemas_compile+set}" = set; then :
+  enableval=$enable_schemas_compile; case ${enableval} in
+                  yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE=""  ;;
+                  no)  GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;;
+                  *) as_fn_error $? "bad value ${enableval} for --enable-schemas-compile" "$LINENO" 5 ;;
+                 esac
+fi
+
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+       if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
 
+fi
+if test -n "$PKG_CONFIG"; then
+       _pkg_min_version=0.16
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       else
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+               PKG_CONFIG=""
+       fi
+fi
+  gsettingsschemadir=${datadir}/glib-2.0/schemas
 
-# Gconf
-# Extract the first word of "gconftool-2", so it can be a program name with args.
-set dummy gconftool-2; ac_word=$2
+  if test x$cross_compiling != xyes; then
+    GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0`
+  else
+    # Extract the first word of "glib-compile-schemas", so it can be a program name with args.
+set dummy glib-compile-schemas; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GCONFTOOL+:} false; then :
+if ${ac_cv_path_GLIB_COMPILE_SCHEMAS+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case $GCONFTOOL in
+  case $GLIB_COMPILE_SCHEMAS in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_GCONFTOOL="$GCONFTOOL" # Let the user override the test with a path.
+  ac_cv_path_GLIB_COMPILE_SCHEMAS="$GLIB_COMPILE_SCHEMAS" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7478,7 +6958,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_GCONFTOOL="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_GLIB_COMPILE_SCHEMAS="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -7486,68 +6966,72 @@ done
   done
 IFS=$as_save_IFS
 
-  test -z "$ac_cv_path_GCONFTOOL" && ac_cv_path_GCONFTOOL="no"
   ;;
 esac
 fi
-GCONFTOOL=$ac_cv_path_GCONFTOOL
-if test -n "$GCONFTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONFTOOL" >&5
-$as_echo "$GCONFTOOL" >&6; }
+GLIB_COMPILE_SCHEMAS=$ac_cv_path_GLIB_COMPILE_SCHEMAS
+if test -n "$GLIB_COMPILE_SCHEMAS"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_SCHEMAS" >&5
+$as_echo "$GLIB_COMPILE_SCHEMAS" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
+  fi
 
-  if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
-    GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
+  if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then
+    as_fn_error $? "glib-compile-schemas not found." "$LINENO" 5
   else
-    GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
+    :
   fi
 
+  GSETTINGS_RULES='
+.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas
 
-# Check whether --with-gconf-source was given.
-if test "${with_gconf_source+set}" = set; then :
-  withval=$with_gconf_source; GCONF_SCHEMA_CONFIG_SOURCE="$withval"
-fi
-
+mostlyclean-am: clean-gsettings-schemas
 
+gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE))
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation" >&5
-$as_echo "Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation" >&6; }
+%.gschema.valid: %.gschema.xml $(gsettings__enum_file)
+       $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p $(@D) && touch $@
 
-  if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
-    GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
-  fi
+all-am: $(gsettings_SCHEMAS:.xml=.valid)
+uninstall-am: uninstall-gsettings-schemas
+install-data-am: install-gsettings-schemas
 
+.SECONDARY: $(gsettings_SCHEMAS)
 
-# Check whether --with-gconf-schema-file-dir was given.
-if test "${with_gconf_schema_file_dir+set}" = set; then :
-  withval=$with_gconf_schema_file_dir; GCONF_SCHEMA_FILE_DIR="$withval"
-fi
+install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file)
+       @$(NORMAL_INSTALL)
+       if test -n "$^"; then \
+               test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \
+               $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \
+               test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \
+       fi
 
+uninstall-gsettings-schemas:
+       @$(NORMAL_UNINSTALL)
+       @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \
+       test -n "$$files" || exit 0; \
+       echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files
+       test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir)
+
+clean-gsettings-schemas:
+       rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file)
+
+ifdef gsettings_ENUM_NAMESPACE
+$(gsettings__enum_file): $(gsettings_ENUM_FILES)
+       $(AM_V_GEN) glib-mkenums --comments '\''<!-- @comment@ -->'\'' --fhead "<schemalist>" --vhead "  <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod "    <value nick='\''@valuenick@'\'' value='\''@valuenum@'\''/>" --vtail "  </@type@>" --ftail "</schemalist>" $^ > $@.tmp && mv $@.tmp $@
+endif
+'
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files" >&5
-$as_echo "Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files" >&6; }
 
-  # Check whether --enable-schemas-install was given.
-if test "${enable_schemas_install+set}" = set; then :
-  enableval=$enable_schemas_install; case ${enableval} in
-       yes|no) ;;
-       *) as_fn_error $? "bad value ${enableval} for --enable-schemas-install" "$LINENO" 5 ;;
-      esac
-fi
 
-   if test "$enable_schemas_install" != no; then
-  GCONF_SCHEMAS_INSTALL_TRUE=
-  GCONF_SCHEMAS_INSTALL_FALSE='#'
-else
-  GCONF_SCHEMAS_INSTALL_TRUE='#'
-  GCONF_SCHEMAS_INSTALL_FALSE=
-fi
 
 
 
@@ -7648,7 +7132,7 @@ _ACEOF
 
 fi
 
-for ac_header in sensors/sensors.h sensors/errors.h
+for ac_header in sensors/sensors.h sensors/error.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -7669,126 +7153,6 @@ SENSORS_LIBS=-lsensors
 ### Required
 
 
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-       if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-       _pkg_min_version=0.9.0
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       else
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-               PKG_CONFIG=""
-       fi
-fi
-
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5
 $as_echo_n "checking for X11... " >&6; }
@@ -7956,7 +7320,7 @@ fi
 
 
 
-# Checks GTK+ 3.0
+# Check GTK+ 3.0
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5
@@ -7966,12 +7330,12 @@ if test -n "$GTK_CFLAGS"; then
     pkg_cv_GTK_CFLAGS="$GTK_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.4") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0" 2>/dev/null`
+  pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.4" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -7983,12 +7347,12 @@ if test -n "$GTK_LIBS"; then
     pkg_cv_GTK_LIBS="$GTK_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.4") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0" 2>/dev/null`
+  pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.4" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -8009,9 +7373,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0" 2>&1`
+               GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.4" 2>&1`
         else
-               GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0" 2>&1`
+               GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.4" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GTK_PKG_ERRORS" >&5
@@ -8048,22 +7412,22 @@ GTK_CFLAGS+=" -DGSEAL_ENABLE "
 
 
 
-# Check GCONF
+# Check udisks2
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCONF" >&5
-$as_echo_n "checking for GCONF... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUDISKS2" >&5
+$as_echo_n "checking for LIBUDISKS2... " >&6; }
 
-if test -n "$GCONF_CFLAGS"; then
-    pkg_cv_GCONF_CFLAGS="$GCONF_CFLAGS"
+if test -n "$LIBUDISKS2_CFLAGS"; then
+    pkg_cv_LIBUDISKS2_CFLAGS="$LIBUDISKS2_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gconf-2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gconf-2.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udisks2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "udisks2") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0" 2>/dev/null`
+  pkg_cv_LIBUDISKS2_CFLAGS=`$PKG_CONFIG --cflags "udisks2" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -8071,16 +7435,16 @@ fi
  else
     pkg_failed=untried
 fi
-if test -n "$GCONF_LIBS"; then
-    pkg_cv_GCONF_LIBS="$GCONF_LIBS"
+if test -n "$LIBUDISKS2_LIBS"; then
+    pkg_cv_LIBUDISKS2_LIBS="$LIBUDISKS2_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gconf-2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gconf-2.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udisks2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "udisks2") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0" 2>/dev/null`
+  pkg_cv_LIBUDISKS2_LIBS=`$PKG_CONFIG --libs "udisks2" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -8101,43 +7465,41 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GCONF_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gconf-2.0" 2>&1`
+               LIBUDISKS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "udisks2" 2>&1`
         else
-               GCONF_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gconf-2.0" 2>&1`
+               LIBUDISKS2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "udisks2" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
-       echo "$GCONF_PKG_ERRORS" >&5
+       echo "$LIBUDISKS2_PKG_ERRORS" >&5
 
-       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"gconf2 missing psensor will not be built\"" >&5
-$as_echo "$as_me: WARNING: \"gconf2 missing psensor will not be built\"" >&2;}
+       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Library udisks2 not present\"" >&5
+$as_echo "$as_me: WARNING: \"Library udisks2 not present\"" >&2;}
 elif test $pkg_failed = untried; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"gconf2 missing psensor will not be built\"" >&5
-$as_echo "$as_me: WARNING: \"gconf2 missing psensor will not be built\"" >&2;}
+       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Library udisks2 not present\"" >&5
+$as_echo "$as_me: WARNING: \"Library udisks2 not present\"" >&2;}
 else
-       GCONF_CFLAGS=$pkg_cv_GCONF_CFLAGS
-       GCONF_LIBS=$pkg_cv_GCONF_LIBS
+       LIBUDISKS2_CFLAGS=$pkg_cv_LIBUDISKS2_CFLAGS
+       LIBUDISKS2_LIBS=$pkg_cv_LIBUDISKS2_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
-$as_echo "#define HAVE_GCONF2 1" >>confdefs.h
+$as_echo "#define HAVE_LIBUDISKS2 1" >>confdefs.h
 
 fi
- if test -n "$GCONF_LIBS"; then
-  GCONF_TRUE=
-  GCONF_FALSE='#'
+ if test -n "$LIBUDISKS2_LIBS"; then
+  LIBUDISKS2_TRUE=
+  LIBUDISKS2_FALSE='#'
 else
-  GCONF_TRUE='#'
-  GCONF_FALSE=
+  LIBUDISKS2_TRUE='#'
+  LIBUDISKS2_FALSE=
 fi
 
 
 
 
-### Optional
-
-# check libatasmart
+# Check libatasmart
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ATASMART" >&5
@@ -8661,12 +8023,12 @@ if test -n "$JSON_CFLAGS"; then
     pkg_cv_JSON_CFLAGS="$JSON_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "json-c") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c >= 0.11.99\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "json-c >= 0.11.99") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_JSON_CFLAGS=`$PKG_CONFIG --cflags "json-c" 2>/dev/null`
+  pkg_cv_JSON_CFLAGS=`$PKG_CONFIG --cflags "json-c >= 0.11.99" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -8678,12 +8040,12 @@ if test -n "$JSON_LIBS"; then
     pkg_cv_JSON_LIBS="$JSON_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "json-c") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c >= 0.11.99\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "json-c >= 0.11.99") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_JSON_LIBS=`$PKG_CONFIG --libs "json-c" 2>/dev/null`
+  pkg_cv_JSON_LIBS=`$PKG_CONFIG --libs "json-c >= 0.11.99" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -8704,9 +8066,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               JSON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c" 2>&1`
+               JSON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c >= 0.11.99" 2>&1`
         else
-               JSON_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c" 2>&1`
+               JSON_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c >= 0.11.99" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$JSON_PKG_ERRORS" >&5
@@ -8738,12 +8100,12 @@ if test -n "$JSON_CFLAGS"; then
     pkg_cv_JSON_CFLAGS="$JSON_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "json") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json >= 0.11.99\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "json >= 0.11.99") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_JSON_CFLAGS=`$PKG_CONFIG --cflags "json" 2>/dev/null`
+  pkg_cv_JSON_CFLAGS=`$PKG_CONFIG --cflags "json >= 0.11.99" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -8755,12 +8117,12 @@ if test -n "$JSON_LIBS"; then
     pkg_cv_JSON_LIBS="$JSON_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "json") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json >= 0.11.99\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "json >= 0.11.99") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_JSON_LIBS=`$PKG_CONFIG --libs "json" 2>/dev/null`
+  pkg_cv_JSON_LIBS=`$PKG_CONFIG --libs "json >= 0.11.99" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -8781,9 +8143,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               JSON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json" 2>&1`
+               JSON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json >= 0.11.99" 2>&1`
         else
-               JSON_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json" 2>&1`
+               JSON_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json >= 0.11.99" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$JSON_PKG_ERRORS" >&5
@@ -8996,7 +8358,7 @@ else
 fi
 
 
-# libatiadl
+# Check libatiadl
 
 # Check whether --with-libatiadl was given.
 if test "${with_libatiadl+set}" = set; then :
@@ -9080,7 +8442,7 @@ fi
 
 ############### psensor-server
 
-# libmicrohttpd, mandatory for psensor-server
+# Check libmicrohttpd, mandatory for psensor-server
 LIBMICROHTTPD_LIBS=
 
 pkg_failed=no
@@ -9168,8 +8530,7 @@ fi
 
 
 
-# GTop, optional
-
+# Check gtop2, optional
 
 # Check whether --with-gtop was given.
 if test "${with_gtop+set}" = set; then :
@@ -9317,6 +8678,52 @@ fi
 done
 
 
+# Extract the first word of "asciidoc", so it can be a program name with args.
+set dummy asciidoc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ASCIIDOC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ASCIIDOC"; then
+  ac_cv_prog_ASCIIDOC="$ASCIIDOC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ASCIIDOC="yes"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ASCIIDOC=$ac_cv_prog_ASCIIDOC
+if test -n "$ASCIIDOC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ASCIIDOC" >&5
+$as_echo "$ASCIIDOC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -n "$ASCIIDOC"; then
+  ASCIIDOC_TRUE=
+  ASCIIDOC_FALSE='#'
+else
+  ASCIIDOC_TRUE='#'
+  ASCIIDOC_FALSE=
+fi
+
+
 # Extract the first word of "cppcheck", so it can be a program name with args.
 set dummy cppcheck; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -9472,6 +8879,14 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -9488,10 +8903,6 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${GCONF_SCHEMAS_INSTALL_TRUE}" && test -z "${GCONF_SCHEMAS_INSTALL_FALSE}"; then
-  as_fn_error $? "conditional \"GCONF_SCHEMAS_INSTALL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${X11_TRUE}" && test -z "${X11_FALSE}"; then
   as_fn_error $? "conditional \"X11\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -9504,8 +8915,8 @@ if test -z "${GTK_TRUE}" && test -z "${GTK_FALSE}"; then
   as_fn_error $? "conditional \"GTK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${GCONF_TRUE}" && test -z "${GCONF_FALSE}"; then
-  as_fn_error $? "conditional \"GCONF\" was never defined.
+if test -z "${LIBUDISKS2_TRUE}" && test -z "${LIBUDISKS2_FALSE}"; then
+  as_fn_error $? "conditional \"LIBUDISKS2\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${ATASMART_TRUE}" && test -z "${ATASMART_FALSE}"; then
@@ -9548,6 +8959,10 @@ if test -z "${GTOP_TRUE}" && test -z "${GTOP_FALSE}"; then
   as_fn_error $? "conditional \"GTOP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${ASCIIDOC_TRUE}" && test -z "${ASCIIDOC_FALSE}"; then
+  as_fn_error $? "conditional \"ASCIIDOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${CPPCHECK_TRUE}" && test -z "${CPPCHECK_FALSE}"; then
   as_fn_error $? "conditional \"CPPCHECK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -9949,7 +9364,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by psensor $as_me 1.0.4, which was
+This file was extended by psensor $as_me 1.1.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -10016,7 +9431,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-psensor config.status 1.0.4
+psensor config.status 1.1.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -10771,7 +10186,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -10784,7 +10199,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -10818,21 +10233,19 @@ $as_echo X"$mf" |
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
@@ -10875,7 +10288,7 @@ $as_echo X"$file" |
       case "$ac_file" in */Makefile.in)
         # Adjust a relative srcdir.
         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
         # In autoconf-2.13 it is called $ac_given_srcdir.
         # In autoconf-2.50 it is called $srcdir.
@@ -10891,8 +10304,7 @@ $as_echo X"$file" |
         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
           rm -f "$ac_dir/POTFILES"
           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          gt_tab=`printf '\t'`
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
           POMAKEFILEDEPS="POTFILES.in"
           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
           # on $ac_dir but don't depend on user-specified configuration
@@ -10903,12 +10315,12 @@ $as_echo X"$file" |
               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
             fi
             ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            # Hide the ALL_LINGUAS assigment from automake < 1.5.
             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
           else
             # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            # Hide the ALL_LINGUAS assigment from automake < 1.5.
             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
           fi
           # Compute POFILES
index 45f9e80..e13331b 100644 (file)
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.69])
-AC_INIT([psensor], [1.0.4],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor])
+AC_INIT([psensor], [1.1.2],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor])
 
 AM_INIT_AUTOMAKE([-Wall gnu])
 
@@ -26,21 +26,11 @@ AM_PROG_AR
 AC_PATH_X
 AC_CHECK_HEADERS([stdbool.h])
 
-# Checks for typedefs, structures, and compiler characteristics.
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-
-# Checks for library functions.
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-AC_CHECK_FUNCS([gettimeofday memmove socket strdup strtol])
-
 AM_GNU_GETTEXT_VERSION([0.16])
 AM_GNU_GETTEXT([external])
 
-# Gconf
-AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
-AM_GCONF_SOURCE_2
+# Gsettings
+GLIB_GSETTINGS
 
 ############### common 
 
@@ -51,7 +41,7 @@ AC_SUBST(PTHREAD_LIBS)
 
 # Checks sensors, required by psensor and psensor-server
 AC_CHECK_LIB(sensors, sensors_init)
-AC_CHECK_HEADERS([sensors/sensors.h sensors/errors.h])
+AC_CHECK_HEADERS([sensors/sensors.h sensors/error.h])
 SENSORS_LIBS=-lsensors
 AC_SUBST(SENSORS_LIBS)
 
@@ -69,8 +59,10 @@ AM_CONDITIONAL(XEXT, test -n "$XEXT_LIBS")
 AC_SUBST(XEXT_CFLAGS)
 AC_SUBST(XEXT_LIBS)
 
-# Checks GTK+ 3.0
-PKG_CHECK_MODULES(GTK, gtk+-3.0,,[AC_MSG_WARN("gtk missing psensor will not be built")])
+# Check GTK+ 3.0
+PKG_CHECK_MODULES(GTK,
+                 [gtk+-3.0 >= 3.4],,
+                 [AC_MSG_WARN("gtk missing psensor will not be built")])
 AM_CONDITIONAL(GTK, test -n "$GTK_LIBS")
 # ensure that only allowed headers are included
 GTK_CFLAGS+=" -DGTK_DISABLE_SINGLE_INCLUDES "
@@ -82,17 +74,16 @@ GTK_CFLAGS+=" -DGSEAL_ENABLE "
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
 
-# Check GCONF
-PKG_CHECK_MODULES(GCONF, gconf-2.0,
-                 [AC_DEFINE([HAVE_GCONF2],[1],[Use gconf2])],
-                 [AC_MSG_WARN("gconf2 missing psensor will not be built")])
-AM_CONDITIONAL(GCONF, test -n "$GCONF_LIBS")
-AC_SUBST(GCONF_CFLAGS)
-AC_SUBST(GCONF_LIBS)
-
-### Optional
+# Check udisks2
+PKG_CHECK_MODULES(LIBUDISKS2,
+                 udisks2,
+                 [AC_DEFINE([HAVE_LIBUDISKS2],[1],[Use libudisks])],
+                 [AC_MSG_WARN("Library udisks2 not present")])
+AM_CONDITIONAL(LIBUDISKS2, test -n "$LIBUDISKS2_LIBS")
+AC_SUBST(LIBUDISKS2_CFLAGS)
+AC_SUBST(LIBUDISKS2_LIBS)
 
-# check libatasmart
+# Check libatasmart
 PKG_CHECK_MODULES(ATASMART, libatasmart,
                  [AC_DEFINE([HAVE_ATASMART],[1],[Use libatasmart])],
                          [AC_MSG_WARN("Library atasmart not present")])
@@ -150,13 +141,13 @@ AC_SUBST(CURL_LIBS)
 # Check JSON, needed for remote monitoring
 JSON_LIBS=
 PKG_CHECK_MODULES(JSON, 
-                 json-c
+                 json-c >= 0.11.99,
                  [AC_DEFINE([HAVE_JSON],[1],[Use JSON])], 
                  [AC_MSG_WARN("json-c missing")])
 
 if test "$JSON_LIBS" == ""; then
 PKG_CHECK_MODULES(JSON, 
-                 json
+                 json >= 0.11.99,
                  [AC_DEFINE([HAVE_JSON],[1],[Use JSON])
                   AC_DEFINE([HAVE_JSON_0],[1],[Use JSON0])], 
                  [AC_MSG_WARN("json0 missing")])
@@ -204,7 +195,7 @@ AC_SUBST(UNITY_CFLAGS)
 AC_SUBST(UNITY_LIBS)
 AM_CONDITIONAL(UNITY, test -n "$UNITY_LIBS")
 
-# libatiadl
+# Check libatiadl
 AC_ARG_WITH(libatiadl,
 [  --with-libatiadl[=DIR]   use libatiadlxx in DIR],[
                   ATIADL_DIR=${withval}
@@ -227,7 +218,7 @@ AC_SUBST(LIBATIADL_LIBS)
 
 ############### psensor-server
 
-# libmicrohttpd, mandatory for psensor-server
+# Check libmicrohttpd, mandatory for psensor-server
 LIBMICROHTTPD_LIBS=
 PKG_CHECK_MODULES(LIBMICROHTTPD, 
   libmicrohttpd, 
@@ -237,8 +228,7 @@ AM_CONDITIONAL(LIBMICROHTTPD, test -n "$LIBMICROHTTPD_LIBS")
 AC_SUBST(LIBMICROHTTPD_CFLAGS)
 AC_SUBST(LIBMICROHTTPD_LIBS)
 
-# GTop, optional
-
+# Check gtop2, optional
 AC_ARG_WITH(gtop,
 [  --with-gtop[=yes|no]   use gtop],[
        with_gtop=$withval],[
@@ -281,6 +271,9 @@ AC_CONFIG_FILES([
 
 AC_CHECK_PROGS([HELP2MAN], [help2man])
 
+AC_CHECK_PROG([ASCIIDOC], [asciidoc], yes)
+AM_CONDITIONAL(ASCIIDOC, test -n "$ASCIIDOC")
+
 AC_CHECK_PROG(HAVE_CPPCHECK, cppcheck, yes)
 AM_CONDITIONAL(CPPCHECK, test -n "$HAVE_CPPCHECK")
 
index ff17802..8b54a1d 100644 (file)
@@ -1,4 +1,9 @@
-dist_doc_DATA = faq.html faq.txt
+dist_doc_DATA = faq.html faq.txt TODO.txt TODO.html
 
+if ASCIIDOC
 faq.html: faq.txt ../www/style.css
-       asciidoc --theme style -a themedir=`pwd`/../www -n -a toc faq.txt 
\ No newline at end of file
+       asciidoc --theme style -a themedir=`pwd`/../www -n -a toc faq.txt
+
+TODO.html: faq.txt ../www/style.css
+       asciidoc --theme style -a themedir=`pwd`/../www -n -a toc TODO.txt
+endif
index 370c8ff..7d71d4c 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,16 +79,32 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc
-DIST_COMMON = $(dist_doc_DATA) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(dist_doc_DATA)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -98,12 +141,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(docdir)"
 DATA = $(dist_doc_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -125,15 +171,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -160,6 +202,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -185,7 +229,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -200,7 +243,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -225,6 +267,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -253,7 +296,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-dist_doc_DATA = faq.html faq.txt
+dist_doc_DATA = faq.html faq.txt TODO.txt TODO.html
 all: all-am
 
 .SUFFIXES:
@@ -308,11 +351,11 @@ uninstall-dist_docDATA:
        @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
+
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -450,20 +493,24 @@ uninstall-am: uninstall-dist_docDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am \
-       install-dist_docDATA install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am uninstall-dist_docDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dist_docDATA install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-dist_docDATA
+
 
+@ASCIIDOC_TRUE@faq.html: faq.txt ../www/style.css
+@ASCIIDOC_TRUE@        asciidoc --theme style -a themedir=`pwd`/../www -n -a toc faq.txt
 
-faq.html: faq.txt ../www/style.css
-       asciidoc --theme style -a themedir=`pwd`/../www -n -a toc faq.txt 
+@ASCIIDOC_TRUE@TODO.html: faq.txt ../www/style.css
+@ASCIIDOC_TRUE@        asciidoc --theme style -a themedir=`pwd`/../www -n -a toc TODO.txt
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/doc/TODO.html b/doc/TODO.html
new file mode 100644 (file)
index 0000000..b0ca6dd
--- /dev/null
@@ -0,0 +1,420 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
+<head>\r
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 8.6.9" />\r
+<title>Psensor TODO</title>\r
+<style type="text/css">\r
+\r
+body {\r
+    background: #e2e2e2;\r
+    color: #333333;\r
+    font-family: Ubuntu,Arial,sans-serif;\r
+    line-height: 1.6;\r
+    font-weight: lighter;\r
+    margin: 1em 2em 2em 2em;\r
+    padding: 0 0 0 0;\r
+}\r
+\r
+h1 {\r
+    font-size: 2.813em;\r
+    margin: 0 0 0.267em 0;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h2 {\r
+    font-size: 2em;\r
+    margin: 0 0 0.375em;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h3 {\r
+    font-size: 1.438em;\r
+    margin: 0 0 0.522em;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h4 {\r
+    font-size: 1.219em;\r
+    margin: 0 0 0.615em;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h5 {\r
+    font-size: 1em;\r
+    margin: 0 0 0.75em;\r
+    padding: 0 0 0 0;\r
+    font-weight: bold;\r
+}\r
+\r
+h6 {\r
+    font-weight: normal;\r
+    font-size: 0.813em;\r
+    letter-spacing: 0.1em;\r
+    margin: 0 0 0.923em;\r
+    text-transform: uppercase;\r
+    padding: 0 0 0 0;\r
+}\r
+\r
+li {\r
+    margin: 0 0 0 1em;\r
+    line-height: 1.6;\r
+}\r
+\r
+li p {\r
+    margin: 0 0 0 0;\r
+}\r
+\r
+ul {\r
+    margin: 0 0 0 0;\r
+    padding: 0 0 0 0;\r
+}\r
+\r
+a:link, a:visited {\r
+    color: #19B6EE;\r
+    text-decoration: none;\r
+}\r
+\r
+a:hover {\r
+    text-decoration: underline;\r
+}\r
+\r
+code, pre, tt {\r
+    font-family: "Ubuntu Mono","Courier New",Courier,monospace;\r
+    font-weight: normal;\r
+    color: #333333;\r
+}\r
+\r
+pre {\r
+    background: none repeat scroll 0 0 #e0e0e0;\r
+    border-radius: 4px;\r
+    padding: 0.5em 0.5em;\r
+    margin: 0 0 0 0;\r
+    white-space: pre-wrap;\r
+    word-wrap: break-word;\r
+}\r
+\r
+table {\r
+    width: 100%;\r
+    text-align: left;\r
+}\r
+\r
+#footer {\r
+    margin: 0 0 0 0;\r
+    font-size: 0.8em;\r
+    font-weight: lighter;\r
+    clear: both;\r
+    text-align: right;\r
+}\r
+\r
+#page {\r
+    margin: 0 0 0 0;\r
+    padding: 0 0 0 0;\r
+}\r
+\r
+#main {\r
+    background: #ffffff;\r
+\r
+   -moz-box-sizing: border-box;\r
+\r
+    padding: 2em 2em 2em 2em;\r
+\r
+    -moz-border-radius: 4px;\r
+    -webkit-border-radius: 4px;\r
+    border-radius: 4px;\r
+\r
+    -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
+    box-shadow: 0 2px 2px 0 #C2C2C2;\r
+}\r
+\r
+#menu {\r
+    background: #ffffff;\r
+   -moz-box-sizing: border-box;\r
+    padding: 2em 2em 2em 2em;\r
+\r
+    -moz-border-radius: 4px;\r
+    -webkit-border-radius: 4px;\r
+    border-radius: 4px;\r
+\r
+    -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
+    box-shadow: 0 2px 2px 0 #C2C2C2;\r
+}\r
+\r
+#menu-list, #menu-list > li > ul  {\r
+    list-style-type: none;\r
+}\r
+\r
+/* menu on left col, content on right col */\r
+\r
+#menu {\r
+    float: left;\r
+    width: 18%;\r
+}\r
+\r
+#main {\r
+    float: right;\r
+    width: 80%;\r
+}\r
+\r
+/* asciidoc */\r
+\r
+#toc, #content {\r
+    margin: 0em 0em 2em 0em;\r
+\r
+    background: #ffffff;\r
+   -moz-box-sizing: border-box;\r
+    padding: 2em 2em 2em 2em;\r
+\r
+    -moz-border-radius: 4px;\r
+    -webkit-border-radius: 4px;\r
+    border-radius: 4px;\r
+\r
+    -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
+    box-shadow: 0 2px 2px 0 #C2C2C2;\r
+}\r
+\r
+\r
+</style>\r
+<script type="text/javascript">\r
+/*<![CDATA[*/\r
+var asciidoc = {  // Namespace.\r
+\r
+/////////////////////////////////////////////////////////////////////\r
+// Table Of Contents generator\r
+/////////////////////////////////////////////////////////////////////\r
+\r
+/* Author: Mihai Bazon, September 2002\r
+ * http://students.infoiasi.ro/~mishoo\r
+ *\r
+ * Table Of Content generator\r
+ * Version: 0.4\r
+ *\r
+ * Feel free to use this script under the terms of the GNU General Public\r
+ * License, as long as you do not remove or alter this notice.\r
+ */\r
+\r
+ /* modified by Troy D. Hanson, September 2006. License: GPL */\r
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */\r
+\r
+// toclevels = 1..4.\r
+toc: function (toclevels) {\r
+\r
+  function getText(el) {\r
+    var text = "";\r
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
+      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.\r
+        text += i.data;\r
+      else if (i.firstChild != null)\r
+        text += getText(i);\r
+    }\r
+    return text;\r
+  }\r
+\r
+  function TocEntry(el, text, toclevel) {\r
+    this.element = el;\r
+    this.text = text;\r
+    this.toclevel = toclevel;\r
+  }\r
+\r
+  function tocEntries(el, toclevels) {\r
+    var result = new Array;\r
+    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');\r
+    // Function that scans the DOM tree for header elements (the DOM2\r
+    // nodeIterator API would be a better technique but not supported by all\r
+    // browsers).\r
+    var iterate = function (el) {\r
+      for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
+        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {\r
+          var mo = re.exec(i.tagName);\r
+          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {\r
+            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);\r
+          }\r
+          iterate(i);\r
+        }\r
+      }\r
+    }\r
+    iterate(el);\r
+    return result;\r
+  }\r
+\r
+  var toc = document.getElementById("toc");\r
+  if (!toc) {\r
+    return;\r
+  }\r
+\r
+  // Delete existing TOC entries in case we're reloading the TOC.\r
+  var tocEntriesToRemove = [];\r
+  var i;\r
+  for (i = 0; i < toc.childNodes.length; i++) {\r
+    var entry = toc.childNodes[i];\r
+    if (entry.nodeName.toLowerCase() == 'div'\r
+     && entry.getAttribute("class")\r
+     && entry.getAttribute("class").match(/^toclevel/))\r
+      tocEntriesToRemove.push(entry);\r
+  }\r
+  for (i = 0; i < tocEntriesToRemove.length; i++) {\r
+    toc.removeChild(tocEntriesToRemove[i]);\r
+  }\r
+\r
+  // Rebuild TOC entries.\r
+  var entries = tocEntries(document.getElementById("content"), toclevels);\r
+  for (var i = 0; i < entries.length; ++i) {\r
+    var entry = entries[i];\r
+    if (entry.element.id == "")\r
+      entry.element.id = "_toc_" + i;\r
+    var a = document.createElement("a");\r
+    a.href = "#" + entry.element.id;\r
+    a.appendChild(document.createTextNode(entry.text));\r
+    var div = document.createElement("div");\r
+    div.appendChild(a);\r
+    div.className = "toclevel" + entry.toclevel;\r
+    toc.appendChild(div);\r
+  }\r
+  if (entries.length == 0)\r
+    toc.parentNode.removeChild(toc);\r
+},\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////\r
+// Footnotes generator\r
+/////////////////////////////////////////////////////////////////////\r
+\r
+/* Based on footnote generation code from:\r
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html\r
+ */\r
+\r
+footnotes: function () {\r
+  // Delete existing footnote entries in case we're reloading the footnodes.\r
+  var i;\r
+  var noteholder = document.getElementById("footnotes");\r
+  if (!noteholder) {\r
+    return;\r
+  }\r
+  var entriesToRemove = [];\r
+  for (i = 0; i < noteholder.childNodes.length; i++) {\r
+    var entry = noteholder.childNodes[i];\r
+    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")\r
+      entriesToRemove.push(entry);\r
+  }\r
+  for (i = 0; i < entriesToRemove.length; i++) {\r
+    noteholder.removeChild(entriesToRemove[i]);\r
+  }\r
+\r
+  // Rebuild footnote entries.\r
+  var cont = document.getElementById("content");\r
+  var spans = cont.getElementsByTagName("span");\r
+  var refs = {};\r
+  var n = 0;\r
+  for (i=0; i<spans.length; i++) {\r
+    if (spans[i].className == "footnote") {\r
+      n++;\r
+      var note = spans[i].getAttribute("data-note");\r
+      if (!note) {\r
+        // Use [\s\S] in place of . so multi-line matches work.\r
+        // Because JavaScript has no s (dotall) regex flag.\r
+        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
+        spans[i].innerHTML =\r
+          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
+          "' title='View footnote' class='footnote'>" + n + "</a>]";\r
+        spans[i].setAttribute("data-note", note);\r
+      }\r
+      noteholder.innerHTML +=\r
+        "<div class='footnote' id='_footnote_" + n + "'>" +\r
+        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
+        n + "</a>. " + note + "</div>";\r
+      var id =spans[i].getAttribute("id");\r
+      if (id != null) refs["#"+id] = n;\r
+    }\r
+  }\r
+  if (n == 0)\r
+    noteholder.parentNode.removeChild(noteholder);\r
+  else {\r
+    // Process footnoterefs.\r
+    for (i=0; i<spans.length; i++) {\r
+      if (spans[i].className == "footnoteref") {\r
+        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");\r
+        href = href.match(/#.*/)[0];  // Because IE return full URL.\r
+        n = refs[href];\r
+        spans[i].innerHTML =\r
+          "[<a href='#_footnote_" + n +\r
+          "' title='View footnote' class='footnote'>" + n + "</a>]";\r
+      }\r
+    }\r
+  }\r
+},\r
+\r
+install: function(toclevels) {\r
+  var timerId;\r
+\r
+  function reinstall() {\r
+    asciidoc.footnotes();\r
+    if (toclevels) {\r
+      asciidoc.toc(toclevels);\r
+    }\r
+  }\r
+\r
+  function reinstallAndRemoveTimer() {\r
+    clearInterval(timerId);\r
+    reinstall();\r
+  }\r
+\r
+  timerId = setInterval(reinstall, 500);\r
+  if (document.addEventListener)\r
+    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);\r
+  else\r
+    window.onload = reinstallAndRemoveTimer;\r
+}\r
+\r
+}\r
+asciidoc.install(2);\r
+/*]]>*/\r
+</script>\r
+</head>\r
+<body class="article">\r
+<div id="header">\r
+<h1>Psensor TODO</h1>\r
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>\r
+</div>\r
+<div id="content">\r
+<div id="preamble">\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>The last version of this file is available at\r
+<a href="http://wpitchoune.net/gitweb/?p=psensor.git;a=blob_plain;f=doc/TODO.html;hb=HEAD">http://wpitchoune.net/gitweb/?p=psensor.git;a=blob_plain;f=doc/TODO.html;hb=HEAD</a>.</p></div>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Play a sound when a sensor alert is raised. Note that\r
+   it can actually be done by using the script support.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Use max/crit temperature information provided by\r
+   lm-sensor.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Include help/faq directly in psensor UI.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div id="footnotes"><hr /></div>\r
+<div id="footer">\r
+<div id="footer-text">\r
+Last updated 2014-08-22 01:05:26 CEST\r
+</div>\r
+</div>\r
+</body>\r
+</html>\r
diff --git a/doc/TODO.txt b/doc/TODO.txt
new file mode 100644 (file)
index 0000000..cc7b502
--- /dev/null
@@ -0,0 +1,13 @@
+Psensor TODO
+============
+
+The last version of this file is available at
+http://wpitchoune.net/gitweb/?p=psensor.git;a=blob_plain;f=doc/TODO.html;hb=HEAD.
+
+ * Play a sound when a sensor alert is raised. Note that
+   it can actually be done by using the script support.
+
+ * Use max/crit temperature information provided by
+   lm-sensor.
+
+ * Include help/faq directly in psensor UI.
index 8d26d4f..293d41d 100644 (file)
@@ -392,7 +392,8 @@ asciidoc.install(2);
 <div class="sect1">\r
 <h2 id="S_NoSensors">1. No sensors or only cpu usage is displayed</h2>\r
 <div class="sectionbody">\r
-<div class="paragraph"><p>Psensor is relying on few libraries or softwares for retrieving the information about the computer:</p></div>\r
+<div class="paragraph"><p>Psensor is relying on few libraries or softwares for retrieving the\r
+information about the computer:</p></div>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -431,13 +432,26 @@ proprietary driver Catalyst/fglx: use <code>aticonfig</code> to
 </li>\r
 </ul></div>\r
 </li>\r
+</ul></div>\r
+<div class="paragraph"><p>For hard disk drives, psensor can use:</p></div>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+udisks2: added since 1.1.2 release. It is the default and\r
+      recommended provider.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+hddtemp: verify that it is correctly reporting temperature by\r
+      using the command: <code>sudo hddtemp /dev/sda</code>. It is the default\r
+      provider until 1.1.2 release.\r
+</p>\r
+</li>\r
 <li>\r
 <p>\r
-HDDs: it uses the hddtemp daemon. Verify that it is\r
-          correctly reporting temperature by using the command: <code>sudo\r
-          hddtemp /dev/sda</code>. If hddtemp does not support your disk,\r
-          you may want to try using the libatasmart support instead\r
-          (option <code>--use-libatasmart</code>).\r
+atasmart library: before the 1.1.2 release it can be enabled\r
+      by using the command line option <code>--use-libatasmart</code>.\r
 </p>\r
 </li>\r
 </ul></div>\r
@@ -446,6 +460,8 @@ displayed by Psensor, it is probably a bug in Psensor, so please
 report it. Otherwise, the issue is on the underlying software itself\r
 and you should contact the corresponding development team or refer to\r
 its documentation.</p></div>\r
+<div class="paragraph"><p>Since the release 1.1.2, the providers can be enabled or disabled directly\r
+from the user interface (<code>Preferences&gt;Provider</code>).</p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
@@ -564,8 +580,7 @@ email to:</p></div>
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
-<a href="mailto:psensor-users@googlegroups.com">psensor-users@googlegroups.com</a> (require registration at:\r
-        <a href="https://groups.google.com/forum/?fromgroups&amp;hl=en#!forum/psensor-users">https://groups.google.com/forum/?fromgroups&amp;hl=en#!forum/psensor-users</a>)\r
+<a href="mailto:psensor-users@googlegroups.com">psensor-users@googlegroups.com</a>\r
 </p>\r
 </li>\r
 <li>\r
@@ -586,9 +601,8 @@ full output of the <code>configure</code> command.</p></div>
 <div class="sectionbody">\r
 <div class="paragraph"><p>Check the FAQ or the TODO pages.</p></div>\r
 <div class="paragraph"><p>If you don’t find the information, you can send an email to the public\r
-mailing-list <a href="mailto:psensor-users@googlegroups.com">psensor-users@googlegroups.com</a> (require registration at:\r
-<a href="https://groups.google.com/forum/?fromgroups&amp;hl=en#!forum/psensor-users">https://groups.google.com/forum/?fromgroups&amp;hl=en#!forum/psensor-users</a>)\r
-or send an email directly to me: <a href="mailto:jeanfi@gmail.com">jeanfi@gmail.com</a>.</p></div>\r
+mailing-list <a href="mailto:psensor-users@googlegroups.com">psensor-users@googlegroups.com</a> or directly to me:\r
+<a href="mailto:jeanfi@gmail.com">jeanfi@gmail.com</a>.</p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
@@ -683,35 +697,42 @@ the option <code>Launch on session startup</code>.</p></div>
 <div class="paragraph"><p>This feature is requiring that the Desktop Environment supports the\r
 <a href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG\r
 specification</a>.</p></div>\r
-</div>\r
-</div>\r
-<div class="sect1">\r
-<h2 id="S_disk">16. How to monitor the temperature of a disk?</h2>\r
-<div class="sectionbody">\r
-<div class="paragraph"><p>By default, Psensor is using <code>hddtemp</code> to retrieve the temperature of\r
-the disks.</p></div>\r
-<div class="paragraph"><p>If <code>hddtemp</code> is installed but no disk temperature is reported, check\r
-that the daemon is running by using for example the command <code>ps\r
--eaf|grep hddtemp</code>.\r
-It should output something like:</p></div>\r
+<div class="paragraph" id="S_disk"><p>How to monitor the temperature of a disk with <code>hddtemp</code>?</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><code>root      1433     1  0 May28 ?        00:00:21 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | /dev/sdb</code></pre>\r
+<pre><code>Until the release 1.1.2, Psensor is using +hddtemp+ by default to\r
+retrieve the temperature of the disks.\r
+\r
+If +hddtemp+ is installed but no disk temperature is reported, check\r
+that the daemon is running by using for example the command +ps\r
+-eaf|grep hddtemp+.\r
+It should output something like:</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Since recent Ubuntu releases, installing the <code>hddtemp</code> package is not\r
-enough, it is required to manually allow the <code>hddtemp</code> daemon. Edit the\r
-file <code>/etc/default/hddtemp</code> and set <code>RUN_DAEMON</code> to <code>"true"</code>.</p></div>\r
+<div class="paragraph"><p>root      1433     1  0 May28 ?        00:00:21 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | /dev/sdb</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><code># hddtemp network daemon switch. If set to true, hddtemp will listen\r
+<pre><code>Depending on the Linux distribution, the installation of the +hddtemp+\r
+package does not enable the hddtemp daemon automaticaly.\r
+\r
+In this case, edit the file +/etc/default/hddtemp+ and set\r
++RUN_DAEMON+ to +"true"+ like in the following example:</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p># hddtemp network daemon switch. If set to true, hddtemp will listen\r
 # for incoming connections.\r
-RUN_DAEMON="true"</code></pre>\r
+RUN_DAEMON="true"</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><code>For Debian/Ubuntu, you can use</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>dpkg-reconfigure hddtemp</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><code>and reply +yes+ when asked whether hddtemp daemon must be\r
+run during the startup.\r
+\r
+[[S_SimilarSoft]]\r
+Is there any other similar softwares?</code></pre>\r
 </div></div>\r
-</div>\r
-</div>\r
-<div class="sect1">\r
-<h2 id="S_SimilarSoft">17. Is there any other similar softwares?</h2>\r
-<div class="sectionbody">\r
 <div class="paragraph"><p>Here is a list of few well-known sensors monitoring softwares:</p></div>\r
 <div class="ulist"><ul>\r
 <li>\r
@@ -738,11 +759,21 @@ more general, but can be configured to display sensors
 </ul></div>\r
 </div>\r
 </div>\r
+<div class="sect1">\r
+<h2 id="S_HideSensor">16. Is it possible to hide sensors in the main window?</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Before v1.1.1, the sensors retrieved from the lm-sensor library can be\r
+ignored directly in the lm-sensor configuration. See the manpage\r
+of sensors.conf(5).</p></div>\r
+<div class="paragraph"><p>Since v1.1.1, it is possible to hide a sensor, uncheck the setting\r
+<em>Display sensor in the list of sensors</em> in the sensor preferences.</p></div>\r
+</div>\r
+</div>\r
 </div>\r
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 2014-08-04 09:16:55 CEST\r
+Last updated 2014-09-20 09:13:33 CEST\r
 </div>\r
 </div>\r
 </body>\r
index 1de2f69..c837bf3 100644 (file)
@@ -7,7 +7,8 @@ The last version of this FAQ is available at http://wpitchoune.net/gitweb/?p=pse
 No sensors or only cpu usage is displayed
 -----------------------------------------
 
-Psensor is relying on few libraries or softwares for retrieving the information about the computer:
+Psensor is relying on few libraries or softwares for retrieving the
+information about the computer:
 
        - motherboard and CPUs sensors: the information is retrieved
           from the lm-sensors library, it requires that
@@ -29,11 +30,17 @@ Psensor is relying on few libraries or softwares for retrieving the information
                   note: it requires that you are using a Psensor
                   binary compiled with the ATI support.
 
-       - HDDs: it uses the hddtemp daemon. Verify that it is
-          correctly reporting temperature by using the command: +sudo
-          hddtemp /dev/sda+. If hddtemp does not support your disk,
-          you may want to try using the libatasmart support instead
-          (option +--use-libatasmart+).
+For hard disk drives, psensor can use:
+
+    - udisks2: added since 1.1.2 release. It is the default and
+      recommended provider.
+   
+    - hddtemp: verify that it is correctly reporting temperature by
+      using the command: +sudo hddtemp /dev/sda+. It is the default
+      provider until 1.1.2 release.
+
+    - atasmart library: before the 1.1.2 release it can be enabled
+      by using the command line option +--use-libatasmart+.
 
 If the underlying software is reporting sensors which are not
 displayed by Psensor, it is probably a bug in Psensor, so please
@@ -41,6 +48,9 @@ report it. Otherwise, the issue is on the underlying software itself
 and you should contact the corresponding development team or refer to
 its documentation.
 
+Since the release 1.1.2, the providers can be enabled or disabled directly
+from the user interface (+Preferences>Provider+).
+
 [[S_ATIMonitoring]]
 How to monitor an ATI card using the Catalyst driver?
 -----------------------------------------------------
@@ -121,8 +131,7 @@ repositories.
 If you don’t want to use the launchpad, you can send the report by
 email to:
 
-      - psensor-users@googlegroups.com (require registration at:
-        https://groups.google.com/forum/?fromgroups&hl=en#!forum/psensor-users)
+      - psensor-users@googlegroups.com
       - or jeanfi@gmail.com.
 
 If the bug is concerning Debian or Ubuntu derivatives distribution,
@@ -139,9 +148,8 @@ How to send ideas, questions or comments?
 Check the FAQ or the TODO pages.
 
 If you don’t find the information, you can send an email to the public
-mailing-list psensor-users@googlegroups.com (require registration at:
-https://groups.google.com/forum/?fromgroups&hl=en#!forum/psensor-users) 
-or send an email directly to me: jeanfi@gmail.com.
+mailing-list psensor-users@googlegroups.com or directly to me:
+jeanfi@gmail.com.
        
 
 [[S_Contribute]]
@@ -232,11 +240,11 @@ http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG
 specification].
 
 [[S_disk]]
-How to monitor the temperature of a disk?
+How to monitor the temperature of a disk with +hddtemp+?
 -----------------------------------------
 
-By default, Psensor is using +hddtemp+ to retrieve the temperature of
-the disks.
+Until the release 1.1.2, Psensor is using +hddtemp+ by default to
+retrieve the temperature of the disks.
 
 If +hddtemp+ is installed but no disk temperature is reported, check
 that the daemon is running by using for example the command +ps
@@ -247,9 +255,11 @@ It should output something like:
 root      1433     1  0 May28 ?        00:00:21 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | /dev/sdb
 ---------------------
 
-Since recent Ubuntu releases, installing the +hddtemp+ package is not
-enough, it is required to manually allow the +hddtemp+ daemon. Edit the
-file +/etc/default/hddtemp+ and set +RUN_DAEMON+ to +"true"+.
+Depending on the Linux distribution, the installation of the +hddtemp+
+package does not enable the hddtemp daemon automaticaly.
+
+In this case, edit the file +/etc/default/hddtemp+ and set
++RUN_DAEMON+ to +"true"+ like in the following example:
 
 ------------------
 # hddtemp network daemon switch. If set to true, hddtemp will listen
@@ -257,6 +267,13 @@ file +/etc/default/hddtemp+ and set +RUN_DAEMON+ to +"true"+.
 RUN_DAEMON="true"
 ------------------
 
+For Debian/Ubuntu, you can use
+------------------
+dpkg-reconfigure hddtemp
+------------------
+
+and reply +yes+ when asked whether hddtemp daemon must be
+run during the startup.
 
 [[S_SimilarSoft]]
 Is there any other similar softwares?
@@ -272,3 +289,14 @@ Here is a list of few well-known sensors monitoring softwares:
 
        - more general, but can be configured to display sensors
           information: http://conky.sourceforge.net/
+
+[[S_HideSensor]]
+Is it possible to hide sensors in the main window?
+--------------------------------------------------
+
+Before v1.1.1, the sensors retrieved from the lm-sensor library can be
+ignored directly in the lm-sensor configuration. See the manpage
+of sensors.conf(5).
+
+Since v1.1.1, it is possible to hide a sensor, uncheck the setting
+'Display sensor in the list of sensors' in the sensor preferences.
index e569095..7bd0a08 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/14x14
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 54cd6ed..4148855 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/16x16
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 1dcd3a0..7b2b13a 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/22x22
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 9c669b9..25e88f4 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/24x24
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index ab3755f..530450f 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/32x32
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 85dc9b5..ca6ce55 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/48x48
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 583f909..0660305 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/64x64
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index ba51e7c..3d3706c 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/hicolor/scalable
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 55f3e39..f156ce5 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/ubuntu-mono-dark/apps/22
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 799c68a..a72a4e7 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/ubuntu-mono-dark/status/22
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index a1ed921..2ac509c 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = icons/ubuntu-mono-light/status/22
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(psensordistpixdir)"
 DATA = $(psensordistpix_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -312,11 +355,11 @@ uninstall-psensordistpixDATA:
        @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -454,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-psensordistpixDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-psensordistpixDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-psensordistpixDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-psensordistpixDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644 (file)
index 0000000..b5ce322
--- /dev/null
@@ -0,0 +1,417 @@
+# gettext.m4 serial 58 (gettext-0.16)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl    default (if it is not specified or empty) is 'no-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl    $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.  If NEEDSYMBOL is specified and is
+dnl    'need-formatstring-macros', then GNU gettext implementations that don't
+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries.  If empty,
+dnl    the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+  define([gt_included_intl],
+    ifelse([$1], [external],
+      ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
+      [yes]))
+  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+  gt_NEEDS_INIT
+  AM_GNU_GETTEXT_NEED([$2])
+
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
+
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
+  dnl Ideally we would do this search only after the
+  dnl      if test "$USE_NLS" = "yes"; then
+  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+  dnl the configure script would need to contain the same shell code
+  dnl again, outside any 'if'. There are two solutions:
+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+  dnl documented, we avoid it.
+  ifelse(gt_included_intl, yes, , [
+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+  ])
+
+  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+  gt_INTL_MACOSX
+
+  dnl Set USE_NLS.
+  AC_REQUIRE([AM_NLS])
+
+  ifelse(gt_included_intl, yes, [
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+  ])
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+  dnl Add a version number to the cache macros.
+  case " $gt_needs " in
+    *" need-formatstring-macros "*) gt_api_version=3 ;;
+    *" need-ngettext "*) gt_api_version=2 ;;
+    *) gt_api_version=1 ;;
+  esac
+  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH(included-gettext,
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    ])
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If GNU gettext is available we use this.  Else we have
+        dnl to fall back to GNU NLS library.
+
+        if test $gt_api_version -ge 3; then
+          gt_revision_test_code='[[
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+]]'
+        else
+          gt_revision_test_code=
+        fi
+        if test $gt_api_version -ge 2; then
+          gt_expression_test_code=' + * ngettext ("", "", 0)'
+        else
+          gt_expression_test_code=
+        fi
+
+        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+         [AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+            [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
+            [eval "$gt_func_gnugettext_libc=yes"],
+            [eval "$gt_func_gnugettext_libc=no"])])
+
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+          dnl Sometimes libintl requires libiconv, so first search for libiconv.
+          ifelse(gt_included_intl, yes, , [
+            AM_ICONV_LINK
+          ])
+          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+          dnl even if libiconv doesn't exist.
+          AC_LIB_LINKFLAGS_BODY([intl])
+          AC_CACHE_CHECK([for GNU gettext in libintl],
+            [$gt_func_gnugettext_libintl],
+           [gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+            dnl Now see whether libintl exists and does not depend on libiconv.
+            AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+              [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+              [eval "$gt_func_gnugettext_libintl=yes"],
+              [eval "$gt_func_gnugettext_libintl=no"])
+            dnl Now see whether libintl exists and depends on libiconv.
+            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+                [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+               [LIBINTL="$LIBINTL $LIBICONV"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                eval "$gt_func_gnugettext_libintl=yes"
+               ])
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"])
+        fi
+
+        dnl If an already present or preinstalled GNU gettext() is found,
+        dnl use it.  But if this macro is used in GNU gettext, and GNU
+        dnl gettext is already preinstalled in libintl, we update this
+        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+          dnl Reset the values set by searching for libintl.
+          LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+    ifelse(gt_included_intl, yes, [
+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      CATOBJEXT=
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
+        CATOBJEXT=.gmo
+      fi
+    ])
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Some extra flags are needed during linking.
+        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+      AC_DEFINE(ENABLE_NLS, 1,
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  AC_MSG_CHECKING([whether to use NLS])
+  AC_MSG_RESULT([$USE_NLS])
+  if test "$USE_NLS" = "yes"; then
+    AC_MSG_CHECKING([where the gettext function comes from])
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    AC_MSG_RESULT([$gt_source])
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        AC_MSG_CHECKING([how to link with libintl])
+        AC_MSG_RESULT([$LIBINTL])
+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+      fi
+
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE(HAVE_GETTEXT, 1,
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE(HAVE_DCGETTEXT, 1,
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
+    fi
+
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  ifelse(gt_included_intl, yes, [
+    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+    dnl to 'yes' because some of the testsuite requires it.
+    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+      BUILD_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(BUILD_INCLUDED_LIBINTL)
+    AC_SUBST(USE_INCLUDED_LIBINTL)
+    AC_SUBST(CATOBJEXT)
+
+    dnl For backward compatibility. Some configure.ins may be using this.
+    nls_cv_header_intl=
+    nls_cv_header_libgt=
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    DATADIRNAME=share
+    AC_SUBST(DATADIRNAME)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INSTOBJEXT=.mo
+    AC_SUBST(INSTOBJEXT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    GENCAT=gencat
+    AC_SUBST(GENCAT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INTLOBJS=
+    if test "$USE_INCLUDED_LIBINTL" = yes; then
+      INTLOBJS="\$(GETTOBJS)"
+    fi
+    AC_SUBST(INTLOBJS)
+
+    dnl Enable libtool support if the surrounding package wishes it.
+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+  ])
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INTLLIBS="$LIBINTL"
+  AC_SUBST(INTLLIBS)
+
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST(LIBINTL)
+  AC_SUBST(LTLIBINTL)
+  AC_SUBST(POSUB)
+])
+
+
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+  dnl Check for API introduced in MacOS X 10.2.
+  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
+       [CFPreferencesCopyAppValue(NULL, NULL)],
+       [gt_cv_func_CFPreferencesCopyAppValue=yes],
+       [gt_cv_func_CFPreferencesCopyAppValue=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+  fi
+  dnl Check for API introduced in MacOS X 10.3.
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+       [gt_cv_func_CFLocaleCopyCurrent=yes],
+       [gt_cv_func_CFLocaleCopyCurrent=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+  AC_SUBST([INTL_MACOSX_LIBS])
+])
+
+
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
+[
+  m4_divert_text([DEFAULTS], [gt_needs=])
+  m4_define([gt_NEEDS_INIT], [])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
+[
+  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644 (file)
index 0000000..654c415
--- /dev/null
@@ -0,0 +1,101 @@
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+      [iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);],
+      am_cv_func_iconv=yes)
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+        [iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);],
+        am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes)
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST(LIBICONV)
+  AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL(am_cv_proto_iconv, [
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([$]{ac_t:-
+         }[$]am_cv_proto_iconv)
+    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+      [Define as const if the declaration of iconv() needs const.])
+  fi
+])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
new file mode 100644 (file)
index 0000000..96c4e2c
--- /dev/null
@@ -0,0 +1,110 @@
+# lib-ld.m4 serial 3 (gettext-0.13)
+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
+dnl with libtool.m4.
+
+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes ;;
+*)
+  acl_cv_prog_gnu_ld=no ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-1.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]* | [A-Za-z]:[\\/]*)]
+      [re_direlt='/[^/][^/]*/\.\./']
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(acl_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break ;;
+      *)
+       test "$with_gnu_ld" != yes && break ;;
+      esac
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
new file mode 100644 (file)
index 0000000..f95b7ba
--- /dev/null
@@ -0,0 +1,644 @@
+# lib-link.m4 serial 9 (gettext-0.16)
+dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ(2.50)
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+  ])
+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+  dnl results of this search when this library appears as a dependency.
+  HAVE_LIB[]NAME=yes
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. If found, it
+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed lib[]Name and not disabled its use
+  dnl via --without-lib[]Name-prefix, he wants to use it.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+    ac_save_LIBS="$LIBS"
+    LIBS="$LIBS $LIB[]NAME"
+    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    LIBS="$ac_save_LIBS"
+  ])
+  if test "$ac_cv_lib[]Name" = yes; then
+    HAVE_LIB[]NAME=yes
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_MSG_CHECKING([how to link with lib[]$1])
+    AC_MSG_RESULT([$LIB[]NAME])
+  else
+    HAVE_LIB[]NAME=no
+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+    dnl $INC[]NAME either.
+    CPPFLAGS="$ac_save_CPPFLAGS"
+    LIB[]NAME=
+    LTLIB[]NAME=
+  fi
+  AC_SUBST([HAVE_LIB]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
+dnl hardcode_direct, hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
+  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+  ])
+  wl="$acl_cv_wl"
+  libext="$acl_cv_libext"
+  shlibext="$acl_cv_shlibext"
+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  hardcode_direct="$acl_cv_hardcode_direct"
+  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  dnl Determine whether the user wants rpath handling at all.
+  AC_ARG_ENABLE(rpath,
+    [  --disable-rpath         do not hardcode runtime library paths],
+    :, enable_rpath=yes)
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib$1-prefix],
+[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
+  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+      fi
+    fi
+])
+  dnl Search the library and its dependencies in $additional_libdir and
+  dnl $LDFLAGS. Using breadth-first-seach.
+  LIB[]NAME=
+  LTLIB[]NAME=
+  INC[]NAME=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='$1 $2'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+        dnl or AC_LIB_HAVE_LINKFLAGS call.
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+          else
+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+            dnl that this library doesn't exist. So just drop it.
+            :
+          fi
+        else
+          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
+          found_dir=
+          found_la=
+          found_so=
+          found_a=
+          if test $use_additional = yes; then
+            if test -n "$shlibext" \
+               && { test -f "$additional_libdir/lib$name.$shlibext" \
+                    || { test "$shlibext" = dll \
+                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
+              found_dir="$additional_libdir"
+              if test -f "$additional_libdir/lib$name.$shlibext"; then
+                found_so="$additional_libdir/lib$name.$shlibext"
+              else
+                found_so="$additional_libdir/lib$name.dll.a"
+              fi
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
+              fi
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIB[]NAME; do
+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  if test -n "$shlibext" \
+                     && { test -f "$dir/lib$name.$shlibext" \
+                          || { test "$shlibext" = dll \
+                               && test -f "$dir/lib$name.dll.a"; }; }; then
+                    found_dir="$dir"
+                    if test -f "$dir/lib$name.$shlibext"; then
+                      found_so="$dir/lib$name.$shlibext"
+                    else
+                      found_so="$dir/lib$name.dll.a"
+                    fi
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
+                    fi
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+            dnl Found the library.
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+              dnl Linking with a shared library. We attempt to hardcode its
+              dnl directory into the executable's runpath, unless it's the
+              dnl standard /usr/lib.
+              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+                dnl No hardcoding is needed.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+              else
+                dnl Use an explicit option to hardcode DIR into the resulting
+                dnl binary.
+                dnl Potentially add DIR to ltrpathdirs.
+                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                dnl The hardcoding into $LIBNAME is system dependent.
+                if test "$hardcode_direct" = yes; then
+                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                  dnl resulting binary.
+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                else
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                    dnl Use an explicit option to hardcode DIR into the resulting
+                    dnl binary.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    dnl Potentially add DIR to rpathdirs.
+                    dnl The rpathdirs will be appended to $LIBNAME at the end.
+                    haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                    dnl Rely on "-L$found_dir".
+                    dnl But don't add it if it's already contained in the LDFLAGS
+                    dnl or the already constructed $LIBNAME
+                    haveit=
+                    for x in $LDFLAGS $LIB[]NAME; do
+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                    fi
+                    if test "$hardcode_minus_L" != no; then
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    else
+                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+                      dnl here, because this doesn't fit in flags passed to the
+                      dnl compiler. So give up. No hardcoding. This affects only
+                      dnl very old systems.
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                dnl Linking with a static library.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+              else
+                dnl We shouldn't come here, but anyway it's good to have a
+                dnl fallback.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+              fi
+            fi
+            dnl Assume the include files are nearby.
+            additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+              dnl Potentially add $additional_includedir to $INCNAME.
+              dnl But don't add it
+              dnl   1. if it's the standard /usr/include,
+              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
+              dnl   3. if it's already present in $CPPFLAGS or the already
+              dnl      constructed $INCNAME,
+              dnl   4. if it doesn't exist as a directory.
+              if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INC[]NAME; do
+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                      dnl Really add $additional_includedir to $INCNAME.
+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+            dnl Look for dependencies.
+            if test -n "$found_la"; then
+              dnl Read the .la file. It defines the variables
+              dnl dlname, library_names, old_library, dependency_libs, current,
+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
+              save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+              dnl We use only dependency_libs.
+              for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dnl But don't add it
+                    dnl   1. if it's the standard /usr/lib,
+                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
+                    dnl   3. if it's already present in $LDFLAGS or the already
+                    dnl      constructed $LIBNAME,
+                    dnl   4. if it doesn't exist as a directory.
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                      dnl Potentially add DIR to rpathdirs.
+                      dnl The rpathdirs will be appended to $LIBNAME at the end.
+                      haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                      dnl Potentially add DIR to ltrpathdirs.
+                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                      haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                    dnl Handle this in the next round.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                    dnl Handle this in the next round. Throw away the .la's
+                    dnl directory; it is already contained in a preceding -L
+                    dnl option.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                    dnl Most likely an immediate library name.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+            dnl Didn't find the library; assume it is in the system directories
+            dnl known to the linker and runtime loader. (All the system
+            dnl directories known to the linker should also be known to the
+            dnl runtime loader, otherwise the system is severely misconfigured.)
+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$hardcode_libdir_separator"; then
+      dnl Weird platform: only the last -rpath option counts, the user must
+      dnl pass all path elements in one option. We can arrange that for a
+      dnl single library, but not when more than one $LIBNAMEs are used.
+      alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+      done
+      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+      acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+    else
+      dnl The -rpath options are cumulative.
+      for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+    dnl When using libtool, the option that works for both libraries and
+    dnl executables is -R. The -R options are cumulative.
+    for found_dir in $ltrpathdirs; do
+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+    done
+  fi
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+  for element in [$2]; do
+    haveit=
+    for x in $[$1]; do
+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      [$1]="${[$1]}${[$1]:+ }$element"
+    fi
+  done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+  AC_REQUIRE([AC_LIB_RPATH])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  $1=
+  if test "$enable_rpath" != no; then
+    if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+      dnl Use an explicit option to hardcode directories into the resulting
+      dnl binary.
+      rpathdirs=
+      next=
+      for opt in $2; do
+        if test -n "$next"; then
+          dir="$next"
+          dnl No need to hardcode the standard /usr/lib.
+          if test "X$dir" != "X/usr/$acl_libdirstem"; then
+            rpathdirs="$rpathdirs $dir"
+          fi
+          next=
+        else
+          case $opt in
+            -L) next=yes ;;
+            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+                 dnl No need to hardcode the standard /usr/lib.
+                 if test "X$dir" != "X/usr/$acl_libdirstem"; then
+                   rpathdirs="$rpathdirs $dir"
+                 fi
+                 next= ;;
+            *) next= ;;
+          esac
+        fi
+      done
+      if test "X$rpathdirs" != "X"; then
+        if test -n ""$3""; then
+          dnl libtool is used for linking. Use -R options.
+          for dir in $rpathdirs; do
+            $1="${$1}${$1:+ }-R$dir"
+          done
+        else
+          dnl The linker is used for linking directly.
+          if test -n "$hardcode_libdir_separator"; then
+            dnl Weird platform: only the last -rpath option counts, the user
+            dnl must pass all path elements in one option.
+            alldirs=
+            for dir in $rpathdirs; do
+              alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
+            done
+            acl_save_libdir="$libdir"
+            libdir="$alldirs"
+            eval flag=\"$hardcode_libdir_flag_spec\"
+            libdir="$acl_save_libdir"
+            $1="$flag"
+          else
+            dnl The -rpath options are cumulative.
+            for dir in $rpathdirs; do
+              acl_save_libdir="$libdir"
+              libdir="$dir"
+              eval flag=\"$hardcode_libdir_flag_spec\"
+              libdir="$acl_save_libdir"
+              $1="${$1}${$1:+ }$flag"
+            done
+          fi
+        fi
+      fi
+    fi
+  fi
+  AC_SUBST([$1])
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
new file mode 100644 (file)
index 0000000..a8684e1
--- /dev/null
@@ -0,0 +1,185 @@
+# lib-prefix.m4 serial 5 (gettext-0.15)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib-prefix],
+[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
+dnl the basename of the libdir, either "lib" or "lib64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+  dnl There is no formal standard regarding lib and lib64. The current
+  dnl practice is that on a system supporting 32-bit and 64-bit instruction
+  dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
+  dnl libraries go under $prefix/lib. We determine the compiler's default
+  dnl mode by looking at the compiler's library search path. If at least
+  dnl of its elements ends in /lib64 or points to a directory whose absolute
+  dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
+  dnl default, namely "lib".
+  acl_libdirstem=lib
+  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+  if test -n "$searchpath"; then
+    acl_save_IFS="${IFS=       }"; IFS=":"
+    for searchdir in $searchpath; do
+      if test -d "$searchdir"; then
+        case "$searchdir" in
+          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+          *) searchdir=`cd "$searchdir" && pwd`
+             case "$searchdir" in
+               */lib64 ) acl_libdirstem=lib64 ;;
+             esac ;;
+        esac
+      fi
+    done
+    IFS="$acl_save_IFS"
+  fi
+])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644 (file)
index 0000000..7967cc2
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,31 @@
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
+])
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644 (file)
index 0000000..00133ef
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,428 @@
+# po.m4 serial 13 (gettext-0.15)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+  AC_REQUIRE([AM_NLS])dnl
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+  dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+  case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+    *) MSGFMT_015=$MSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+    *) GMSGFMT_015=$GMSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([GMSGFMT_015])
+
+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([XGETTEXT_015])
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+  dnl Installation directories.
+  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+  dnl have to define it here, so that it can be used in po/Makefile.
+  test -n "$localedir" || localedir='${datadir}/locale'
+  AC_SUBST([localedir])
+
+  AC_CONFIG_COMMANDS([po-directories], [[
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done]],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+    # from automake < 1.5.
+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+  # When this code is run, in config.status, two variables have already been
+  # set:
+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+  # - LINGUAS is the value of the environment variable LINGUAS at configure
+  #   time.
+
+changequote(,)dnl
+  # Adjust a relative srcdir.
+  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+  # In autoconf-2.13 it is called $ac_given_srcdir.
+  # In autoconf-2.50 it is called $srcdir.
+  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+  case "$ac_given_srcdir" in
+    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+    /*) top_srcdir="$ac_given_srcdir" ;;
+    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  # Find a way to echo strings without interpreting backslash.
+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+    gt_echo='echo'
+  else
+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+      gt_echo='printf %s\n'
+    else
+      echo_func () {
+        cat <<EOT
+$*
+EOT
+      }
+      gt_echo='echo_func'
+    fi
+  fi
+
+  # A sed script that extracts the value of VARIABLE from a Makefile.
+  sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[     ]*VARIABLE[     ]*=/{
+  # Seen the first line of the variable definition.
+  s/^[  ]*VARIABLE[     ]*=//
+  ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+  # Set POTFILES to the value of the Makefile variable POTFILES.
+  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+  # Compute POTFILES_DEPS as
+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+  POTFILES_DEPS=
+  for file in $POTFILES; do
+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+  done
+  POMAKEFILEDEPS=""
+
+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+  fi
+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+    # The LINGUAS file contains the set of available languages.
+    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+  else
+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+  fi
+  # Hide the ALL_LINGUAS assigment from automake < 1.5.
+  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+  # Compute POFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+  # Compute UPDATEPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+  # Compute DUMMYPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+  # Compute GMOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+  # Compute PROPERTIESFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+  # Compute CLASSFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+  # Compute QMFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+  # Compute MSGFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+  # Compute RESOURCESDLLFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+  case "$ac_given_srcdir" in
+    .) srcdirpre= ;;
+    *) srcdirpre='$(srcdir)/' ;;
+  esac
+  POFILES=
+  UPDATEPOFILES=
+  DUMMYPOFILES=
+  GMOFILES=
+  PROPERTIESFILES=
+  CLASSFILES=
+  QMFILES=
+  MSGFILES=
+  RESOURCESDLLFILES=
+  for lang in $ALL_LINGUAS; do
+    POFILES="$POFILES $srcdirpre$lang.po"
+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+    QMFILES="$QMFILES $srcdirpre$lang.qm"
+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+  done
+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
+  # environment variable.
+  INST_LINGUAS=
+  if test -n "$ALL_LINGUAS"; then
+    for presentlang in $ALL_LINGUAS; do
+      useit=no
+      if test "%UNSET%" != "$LINGUAS"; then
+        desiredlanguages="$LINGUAS"
+      else
+        desiredlanguages="$ALL_LINGUAS"
+      fi
+      for desiredlang in $desiredlanguages; do
+        # Use the presentlang catalog if desiredlang is
+        #   a. equal to presentlang, or
+        #   b. a variant of presentlang (because in this case,
+        #      presentlang can be used as a fallback for messages
+        #      which are not translated in the desiredlang catalog).
+        case "$desiredlang" in
+          "$presentlang"*) useit=yes;;
+        esac
+      done
+      if test $useit = yes; then
+        INST_LINGUAS="$INST_LINGUAS $presentlang"
+      fi
+    done
+  fi
+  CATALOGS=
+  JAVACATALOGS=
+  QTCATALOGS=
+  TCLCATALOGS=
+  CSHARPCATALOGS=
+  if test -n "$INST_LINGUAS"; then
+    for lang in $INST_LINGUAS; do
+      CATALOGS="$CATALOGS $lang.gmo"
+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+      QTCATALOGS="$QTCATALOGS $lang.qm"
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+    done
+  fi
+
+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if test -n "$POMAKEFILEDEPS"; then
+    cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+  fi
+  mv "$ac_file.tmp" "$ac_file"
+])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644 (file)
index 0000000..a56365c
--- /dev/null
@@ -0,0 +1,92 @@
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ(2.50)
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  [[\\/]]* | ?:[[\\/]]*)
+    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in ifelse([$5], , $PATH, [$5]); do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+          if [$3]; then
+            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+    ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
index 3240975..8f4503b 100644 (file)
@@ -10,6 +10,7 @@ de
 es
 fr
 hu
+hr
 it
 lv
 nl
index abf0ea6..fa87f3d 100644 (file)
@@ -1,11 +1,12 @@
+src/cfg.c
 src/glade/psensor.glade
 src/glade/psensor-pref.glade
 src/glade/sensor-edit.glade
 src/lib/amd.c
-src/lib/cpu.c
 src/lib/hdd_atasmart.c
 src/lib/hdd_hddtemp.c
 src/lib/lmsensor.c
+src/lib/pgtop2.c
 src/lib/plog.c
 src/lib/nvidia.c
 src/lib/psensor.c
index 0298a82..cae1870 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index adf7336..b23c4b0 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2014-04-30 16:48+0100\n"
-"Last-Translator: Jean-Philippe Orsini <jeanfi@gmail.com>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:25+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: German\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-02-11 20:01+0000\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Erzeugen des Webservers ist gescheitert."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert."
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert."
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Info"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Einstellungen"
 
@@ -40,18 +55,43 @@ msgstr "Beenden"
 msgid "Show"
 msgstr "Anzeigen"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor – Temperaturüberwachung"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Hilfe"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Sensor"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Wert"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Min."
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Max."
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Farbe"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Graph"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,316 +113,413 @@ msgstr "Unterseite"
 msgid "Edit Preferences"
 msgstr "Einstellungen bearbeiten"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Keine Fensterdekorationen verwenden"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Fenster unterhalb anheften"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Menü aktivieren"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Wert im Starter von Unity anzeigen"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Temperatureinheit:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Position der Sensorentabelle:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Benutzeroberfläche"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Fenster beim Programmstart ausblenden"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Fensterposition und -größe merken"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Vordergrund:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Hintergrund:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Hintergrunddeckkraft:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Min.</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Max.</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Farben"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Überwachungszeitraum:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "Minute(n)"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "Sekunde(n)"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Aktualisierungsintervall:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Messungen"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Graph"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min.</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Max.</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "Sekunde(n)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "Minute(n)"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Messintervall:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Sensorenprotokollierung aktivieren"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "Sekunde(n)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Sensoren"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Sensoreinstellungen bearbeiten"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Name"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Typ:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "N/V"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Sensorinformationen"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Chip:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Name:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Id:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Sensorgraphen darstellen"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Farbe:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Alarm"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
+msgstr ""
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Benachrichtigungen aktivieren"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Obere Grenze:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Untere Grenze:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr ""
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarm"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
 msgstr ""
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: ADL-Bibliothek konnte nicht gefunden werden."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: API der ADL-Bibliothek fehlt."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: ADL-Bibliothek konnte nicht initialisiert werden."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: Anzahl der Adapter konnte nicht ermittelt werden."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr "Anzahl der AMD/ATI-Adapter: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr "Anzahl der aktiven AMD/ATI-Adapter: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart: sk_disk_open() gescheitert: %s."
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: sk_disk_open() gescheitert: %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: Öffnen des Sockets gescheitert."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: Öffnen des Sockets gescheitert."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: Öffnen der Verbindung gescheitert."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: Öffnen der Verbindung gescheitert."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: Falsche Zeichenkette: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: Falsche Zeichenkette: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: Wert der Unterfunktion %s kann nicht ermittelt werden: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: Wert der Unterfunktion %s kann nicht ermittelt werden: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create gescheitert: Falscher Funktionstyp."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: Falscher Funktionstyp."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: Initialisierung gescheitert: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: Initialisierung gescheitert: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Protokolldatei kann nicht geöffnet werden: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
-"Entweder wird kein proprietärer NVIDIA-Treiber verwendet oder die NVIDIA-GPU-"
-"Temperatur kann nicht ermittelt werden."
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Ermittlung der NVIDIA-Informationen gescheitert."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Verbindung zum X11-Server konnte nicht hergestellt werden."
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Ermittlung der NVIDIA-Informationen gescheitert."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr "Ermittlung der NVIDIA-Informationen gescheitert."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Verbindung zum X11-Server konnte nicht hergestellt werden."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Ermittlung der NVIDIA-Informationen gescheitert."
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
+msgstr "Ermittlung der NVIDIA-Informationen gescheitert."
+
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "U/min"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "HOME-Variable ist nicht festgelegt."
 
@@ -405,7 +542,7 @@ msgstr ""
 "Sensorprotokolldatei ist nicht geöffnet und kann deswegen nicht geschlossen "
 "werden."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -421,12 +558,12 @@ msgstr ""
 "weiterverbreiten.\n"
 "Sie wird OHNE JEGLICHE GEWÄHRLEISTUNG zur Verfügung gestellt.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Aufruf: %s [OPTION] …\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -434,11 +571,11 @@ msgstr ""
 "Psensor ist eine GTK+-Anwendung zur Überwachung von Hardware-Sensoren, "
 "inklusive Temperaturen und Lüftergeschwindigkeiten."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Optionen:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -446,7 +583,7 @@ msgstr ""
 "  -h, --help          Diese Hilfe anzeigen und beenden\n"
 "  -v, --version       Versionsinformationen anzeigen und beenden"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -454,14 +591,6 @@ msgstr ""
 "  -u, --url=URL       Die Adresse (URL) von psensor-server,\n"
 "                      Beispiel: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   atasmart-Bibliothek zur Festplattenüberwachung\n"
-"                      anstelle des hddtemp-Dienstes nutzen"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -473,33 +602,48 @@ msgstr ""
 "  -d, --debug=STUFE   Fehlerdiagnosestufe festlegen, Ganzzahl zwischen 0 und "
 "3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Programmfehler melden an: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s-Website: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor wurde ohne Unterstützung für entfernte Sensoren kompiliert."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Fehlerdiagnosemodus wird aktiviert."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Rufen Sie »%s --help« auf, um weitere Informationen zu erhalten.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Es existiert bereits eine Psensor-Instanz."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Erzeugen des Webservers ist gescheitert."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Daniel Winzen https://launchpad.net/~q-d\n"
+"  Dennis Baudys https://launchpad.net/~thecondordb\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Michael Egger https://launchpad.net/~michael-egger\n"
+"  Veit https://launchpad.net/~shoutbox"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -515,24 +659,24 @@ msgstr "Ungültiger Inhalt: %s"
 msgid "Invalid JSON: %s"
 msgstr "Ungültiges JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>Anhalten des Servers angefordert</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Seite nicht gefunden – Gehen Sie zurück zur <a "
 "href='/'>Startseite</a></p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server ist ein HTTP-Server zur Fernüberwachung von Hardware-Sensoren."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -540,7 +684,7 @@ msgstr ""
 "  -h, --help\t\tDiese Hilfe anzeigen und beenden\n"
 "  -v, --version\t\tVersionsinformationen anzeigen und beenden"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -548,110 +692,91 @@ msgstr ""
 "  -p,--port=PORT\tWebserver-Port\n"
 "  -w,--wdir=DIR\t\tOrdner, der Webserver-Seiten enthält"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL     Fehlerdiagnoseebene festlegen, Ganzzahl zwischen 0 "
 "und 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH   Protokolldatei auf PATH festlegen"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=PATH Sensorenprotokolldatei auf PATH festlegen"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S Sensorenprotokollierungsintervall auf S (Sekunden) "
 "festlegen"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP Abfrage: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Aktiviert den Fehlerdiagnosemodus: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Keine Sensoren erkannt."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Erzeugen des Webservers ist gescheitert."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Web-Server wurde gestartet auf Port: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW-Ordner: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "Adresse: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "Psensor ist eine GTK-Anwendung zur Überwachung von Hardware-Sensoren"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Copyright © 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Copyright © 2010-2014jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Info zu Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Psensor-Website"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Laden des Psensor-Symbols ist gescheitert."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Wählen Sie eine Vordergrundfarbe"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Sensor"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Wert"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Min."
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Max."
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Farbe"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Wählen Sie eine Vordergrundfarbe"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -662,9 +787,24 @@ msgid "Temperature alert"
 msgstr "Temperaturalarm"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Lüfteralarm"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Unbekannt"
+
+#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#~ msgstr ""
+#~ "lmsensor: lmsensor_psensor_create gescheitert: Falscher Funktionstyp."
+
+#~ msgid "Sensor Information"
+#~ msgstr "Sensorinformationen"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "Entweder wird kein proprietärer NVIDIA-Treiber verwendet oder die NVIDIA-"
+#~ "GPU-Temperatur kann nicht ermittelt werden."
index f39bc28..113165c 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 94ab010..070b60a 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2013-05-12 22:16+0000\n"
-"Last-Translator: Javier <buik8roadmaster@hotmail.com>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:26+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-10-18 06:32+0000\n"
-"X-Generator: Launchpad (build 16799)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Fallo al crear el servidor Web"
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Error al activar el registro de sensores"
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Error al activar el registro de sensores"
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Acerca de"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Ajustes"
 
@@ -40,18 +55,43 @@ msgstr "Salir"
 msgid "Show"
 msgstr "Mostrar"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - Monitor de temperatura"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Ayuda"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Sensor"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Valor"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Mín"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Máx"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Color"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Gráfica"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,317 +113,415 @@ msgstr "Abajo"
 msgid "Edit Preferences"
 msgstr "Editar Ajustes"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Ocultar el marco de la ventana"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Mantener debajo del resto de ventanas"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Activar menú"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Inicio retardado al abrir sesión"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Unidad de temperatura"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Ubicación de los valores"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Interfaz"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Ocultar la ventana de gráficas al iniciar sesión."
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Restaurar tamaño y posición de la ventana"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Escalas y cuadrícula"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Fondo de gráfica"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Opacidad del fondo:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Mín</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Máx</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Colores"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Intervalo de la gráfica"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "minuto(s)"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "segundo(s)"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Intervalo de actualización:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Medidas"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Gráfica"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Mín</i>"
+
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Máx</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "segundo(s)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minuto(s)"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Medir sensores cada:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Activar registro de sensores"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Intervalo de registro de sensores:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "segundo(s)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Sensores"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Editar Ajustes Sensores"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Nombre"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Tipo:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "No disponible"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Información del sensor"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Chip:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Nombre:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Identificativo:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Representar el sensor en la gráfica"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Color:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Alarma"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "Mostrar sensor en el menú de aplicaciones"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Activar notificaciones en el escritorio"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Límite superior"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Límite inferior"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr "Indicador de aplicación"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarma"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Mostrar sensor en el menú de aplicaciones"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 #, fuzzy
 msgid "Display sensor in the label (experimental)"
 msgstr "Mostrar sensor en el menú de aplicaciones"
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Indicador de aplicación"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: no se ha encontrado la librería ADL"
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: ADL's API perdidos"
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: error al iniciar ADL"
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: imposible listar el número de adaptadores"
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr "Numero de adaptadores AMD/ATI: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr "Numero de adaptadores AMD/ATI: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart: sk_disk_open() Error: %s"
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: sk_disk_open() Error: %s"
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: fallo al desplegar el conector"
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: fallo al desplegar el conector"
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: fallo al establecer conexión"
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: fallo al establecer conexión"
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: argumento erróneo:%s."
+msgid "%s: wrong string: %s."
+msgstr "%s: argumento erróneo:%s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: imposible obtener el valor de subcaracterística %s:%s"
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: imposible obtener el valor de subcaracterística %s:%s"
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create Fallo: tipo de funcion equivocada."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: Fallo de inicialización:%s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: Fallo de inicialización:%s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Imposible abrir el archivo de registro: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
-"Controlador propietario de NVIDIA no activado ó incapaz de obtener la "
-"temperatura de la GPU"
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Error al obtener la información de NVIDIA"
+
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Error al obtener la información de NVIDIA"
+
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "Error al obtener la información de NVIDIA"
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Imposible establecer conexión con el servidor X11."
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Imposible establecer conexión con el servidor X11."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Error al obtener la información de NVIDIA"
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr "Error al obtener la información de NVIDIA"
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "La variable HOME no ha sido definida"
 
@@ -404,7 +542,7 @@ msgstr "No se abrió el archivo de registro."
 msgid "Sensor log not open, cannot close."
 msgstr "¡No existe archivo que cerrar!"
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -420,12 +558,12 @@ msgstr ""
 "apoyada por el autor. \n"
 "No existe NINGUNA GARANTÍA hasta donde la ley lo permita.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Uso: %s [OPTION]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -433,11 +571,11 @@ msgstr ""
 "Psensor es un programa GTK+ que muestra datos de temperatura y ventiladores "
 "a través de los sensores de su hardware."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Opciones"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -445,7 +583,7 @@ msgstr ""
 "  -h, --help         Muestra esta ayuda. \n"
 "  -v, --versión       Muestra información sobre la versión."
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -453,14 +591,6 @@ msgstr ""
 "  -u, --url=URL       La URL del servidor psensor,\n"
 "                      ejemplo: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --usar-libatasmart   usar librería atasmart para leer el sensor del disco\n"
-"                        duro en lugar de hddtemp daemon"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr "  -n, --new-instance  Fuerza el inicio de otro Psensor paralelo"
@@ -471,33 +601,47 @@ msgstr ""
 "  -d, --debug=NIVEL   Establece el nivel de depuración con un valor entre 0 "
 "y 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Comunicar fallos: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s Página Oficial: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor no ha sido compilado con soporte para sensores remotos."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Activa el modo de depuración"
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Introducir `%s --ayuda' para obtener más información\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Ya existe un Psensor en ejecución."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Fallo al crear el servidor Web"
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Adolfo Jayme https://launchpad.net/~fitojb\n"
+"  Eduardo Alberto Calvo https://launchpad.net/~edu5800\n"
+"  Javier https://launchpad.net/~buik8roadmaster\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -513,25 +657,25 @@ msgstr "Contenido no válido:%s"
 msgid "Invalid JSON: %s"
 msgstr "JSON no válido:%s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>El servidor solicitó detenerse</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Página no encontrada- Ir a <a href='/'>Página Principal</a></"
 "p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server es un servidor HTTP para obtener información de los sensores "
 "de forma remota."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -539,7 +683,7 @@ msgstr ""
 "  -h, --help\t\tMuestra esta ayuda.\n"
 "  -v, --version\t\tMuestra la versión."
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -547,111 +691,91 @@ msgstr ""
 "  -p,--port=PORT\tPuerto del servidor web. \n"
 "  -w,--wdir=DIR\t\tDirectorio de servidores web."
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=NIVEL     Establece el nivel de depuración con un número de 0 "
 "a 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH   establece el archivo de registro en PATH"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=PATH establecer el archivo de registro en PATH"
 
-#: src/server/server.c:113
-#, fuzzy
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr "  --sensor-log-interval=S registrar sensores cada S (seconds)"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "Petición HTTP:%s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Activa el modo de depuración:%d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "No se han detectado sensores."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Fallo al crear el servidor Web"
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Servidor web iniciado en el puerto:%d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "directorio WWW:%s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Error al activar el registro de sensores"
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr ""
 "Psensor es una aplicación GTK+ que recoge y muestra información de los "
 "sensores del hardware."
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Sobre Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Web de Psensor"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Error al cargar el icono de Psensor"
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Seleccionar el color del primer plano"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Sensor"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Valor"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Mín"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Máx"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Color"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Seleccionar el color del primer plano"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -662,9 +786,24 @@ msgid "Temperature alert"
 msgstr "Alarma por temperatura."
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Alarma por parada de ventilador."
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Desconocido"
+
+#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#~ msgstr ""
+#~ "lmsensor: lmsensor_psensor_create Fallo: tipo de funcion equivocada."
+
+#~ msgid "Sensor Information"
+#~ msgstr "Información del sensor"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "Controlador propietario de NVIDIA no activado ó incapaz de obtener la "
+#~ "temperatura de la GPU"
index cabf2dd..5194c96 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 84221ad..e415599 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2013-06-29 15:14+0000\n"
-"Last-Translator: londumas <helion331990@gmail.com>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-21 09:39+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: French <>\n"
 "Language: fr_FR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-10-18 06:32+0000\n"
-"X-Generator: Launchpad (build 16799)\n"
+"X-Launchpad-Export-Date: 2014-09-21 09:40+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr ""
+
+#: src/cfg.c:557
+#, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr ""
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr ""
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "À propos"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Préférences"
 
@@ -40,18 +55,43 @@ msgstr "Quitter"
 msgid "Show"
 msgstr "Afficher"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - Surveillance des températures"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr ""
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Aide"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Capteur"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Valeur"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Min"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Max"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Couleur"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Graphe"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,316 +113,413 @@ msgstr "Bas"
 msgid "Edit Preferences"
 msgstr "Modifier les préférences"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Cacher les décorations de la fenêtre"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Garder la fenêtre en arrière-plan"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Activer le menu"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Activer le compteur du lanceur de Unity"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Unité de température :"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Position de la table des capteurs :"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Interface"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Cacher la fenêtre au lancement"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Rétablir la position et la taille de la fenêtre"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Avant-plan :"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Arrière-plan :"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Opacité de l'arrière-plan :"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Min</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Max</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Couleurs"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Durée de surveillance :"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "minutes(s)"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "seconde(s)"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Intervalle de mise à jour :"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Mesures"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Graphe"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min</i>"
+
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Max</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "seconde(s)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minutes(s)"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Intervalle de mise à jour des mesures :"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Activer la journalisation des capteurs"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Interval de journallisation des capteurs :"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "seconde(s)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Capteurs"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Préférences des capteurs"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Nom :"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Type :"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "N/A"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Informations du capteur"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Puce :"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Nom :"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Id :"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Dessiner la courbe du capteur"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Couleur :"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Alarme"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
+msgstr ""
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Activer les notifications du bureau"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Seuil supérieur :"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Seuil inférieur :"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr "Indicateur d'application"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarme"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Afficher le capteur dans le menu"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Indicateur d'application"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD : impossible de trouver la bibliothèque ADL."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD : L'interface de programmation ADL est manquante."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD : échec de l'initialisation d'ADL."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD : impossible de récupérer le nombre d'adaptateurs."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr "Processeur"
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr "Disque"
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart : échec de sk_disk_open() : %s."
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s : échec de sk_disk_open() : %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp : échec d'ouverture de l'interface de connexion."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s : échec d'ouverture de l'interface de connexion."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp : échec de l'ouverture de la connexion."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s : échec de l'ouverture de la connexion."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp : mauvaise chaîne: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s : mauvaise chaîne: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr ""
-"lmsensor : impossible de récupérer la valeur de la sous-fonction %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s : impossible de récupérer la valeur de la sous-fonction %s: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
 msgstr ""
-"lmsensor : échec de lmsensor_psensor_create : mauvais type de fonction."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr "Processeur Intel"
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr "Processeur graphique NVIDIA"
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor : échec de l'initialisation: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s : échec de l'initialisation: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr "Processeur"
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Impossible d'ouvrir le journal: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr "Échec de la récupération des températures NVIDIA."
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Échec de la récupération des information NVIDIA."
+
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Échec de la récupération des information NVIDIA."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Impossible d'ouvrir la connexion au serveur X11."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "Échec de la récupération des information NVIDIA."
+
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s : Impossible d'ouvrir la connexion au serveur X11."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s : Échec de la récupération des information NVIDIA."
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr "Échec de la récupération des information NVIDIA."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "Tr/mn"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "Variable home non définie."
 
@@ -403,7 +540,7 @@ msgstr "Le journal des capteurs n'est pas ouvert."
 msgid "Sensor log not open, cannot close."
 msgstr "Le journal des capteurs n'est pas ouvert, il ne peut être fermé."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -413,19 +550,19 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 "Copyright © %s wpitchoune@gmail.com\n"
-"License GPLv2 : GNU GPL version 3 ou ultérieure <http://www.gnu.org/licenses/"
+"License GPLv2 : GNU GPL version 2 ou ultérieure <http://www.gnu.org/licenses/"
 "old-licenses/gpl-2.0.html>\n"
 "Ceci est un logiciel libre, vous êtes libre de le modifier et de le \n"
 "redistribuer.\n"
 "Ce logiciel n'est accompagné d'ABSOLUMENT AUCUNE GARANTIE, dans les limites\n"
 "autorisées par la loi.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Utilisation : %s [OPTION]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -433,11 +570,11 @@ msgstr ""
 "Psensor est une application GTK+ pour surveiller les capteurs thermiques et "
 "les vitesses de ventilateurs."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Options :"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -445,21 +582,13 @@ msgstr ""
 "  -h, --help          afficher cette aide et quitter\n"
 "  -v, --version       afficher les informations de version et quitter"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
 msgstr ""
 "  -u, --url=URL       l'URL de psensor-server, example: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   utiliser la librairie atasmart pour la surveillance\n"
-"                      des disks a la place du serveur hddtemp"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -472,34 +601,46 @@ msgstr ""
 "  -d, --debug=LEVEL   assigner le niveau de débogage, nombre entier entre 0 "
 "et 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Signaler les bogues à: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr "%s page d’accueil: <%s>\n"
+msgstr "Page d'accueil de %s : <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr ""
 "Psensor n'a pas été compilé avec le support de surveillance à distance."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Active le mode de débogage."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Essayez « %s --help » pour plus d'informations.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Une instance de Psensor existe déjà."
 
+#: src/main.c:631
+msgid "Failed to create thread for monitoring sensors"
+msgstr ""
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Ubuntu-QC-1 https://launchpad.net/~aobreyss\n"
+"  londumas https://launchpad.net/~helion331990"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -515,25 +656,25 @@ msgstr "Contenu invalide : %s"
 msgid "Invalid JSON: %s"
 msgstr "JSON invalide : %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>L’arrêt du serveur a été demandé</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Page introuvable - Allez à <a href='/'>Main page</a></p></"
 "body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server est un serveur HTTP pour surveiller à distance les capteurs "
 "matérielles."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -541,7 +682,7 @@ msgstr ""
 "  -h, --help\t\tafficher cette aide et quitter\n"
 "  -v, --version\t\tafficher les informations de version et quitter"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -549,112 +690,92 @@ msgstr ""
 "  -p,--port=PORT\tport du serveur Web\n"
 "  -w,--wdir=DIR\t\trépertoire contenant les pages du serveur Web"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL   assigne le niveau de débogage, nombre entier entre 0 "
 "et 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH assigner le chemin d’accès au journal"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=PATH assigne le journal du capteur vers PATH"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S assigne l'intervalle de journalisation du capteur "
 "à S (secondes)"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "Requête HTTP : %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Activation du mode de déboguage: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Aucun capteur détecté."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Échec de la création du serveur Web."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
-msgstr "Le serveur Web a été démarré sur le port: %d"
+msgstr "Le serveur Web a été démarré sur le port : %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW répertoire : %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
-msgstr "URL: http://localhost:%d"
+msgstr "URL : http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Échec de l'activation de la journalisation des capteurs."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr ""
 "Psensor est une application GTK+ pour surveiller les capteurs thermiques et "
 "les ventilateurs."
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Copyright © 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Copyright © 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "À propos de Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Site internet de Psensor"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Échec du chargement de l’icône de Psensor."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Sélectionner la couleur d'avant-plan"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Capteur"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Valeur"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Min"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Max"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Couleur"
+#: src/ui_sensorlist.c:296
+msgid "Select sensor color"
+msgstr ""
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -665,9 +786,12 @@ msgid "Temperature alert"
 msgstr "Alerte thermique"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+msgid "Fan speed alert"
 msgstr "Alerte ventilateur"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Inconnu"
+
+#~ msgid "Sensor Information"
+#~ msgstr "Informations du capteur"
diff --git a/po/hr.gmo b/po/hr.gmo
new file mode 100644 (file)
index 0000000..0633331
Binary files /dev/null and b/po/hr.gmo differ
diff --git a/po/hr.po b/po/hr.po
new file mode 100644 (file)
index 0000000..adcdbb9
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,786 @@
+# Croatian translation for psensor
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the psensor package.
+# Jean-Philippe Orsini <jeanfi@gmail.com>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psensor\n"
+"Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-21 06:25+0000\n"
+"Last-Translator: gogo <trebelnik2@gmail.com>\n"
+"Language-Team: Croatian <hr@li.org>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Neuspjelo stvaranje direktorija %s: %s"
+
+#: src/cfg.c:557
+#, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Neuspjelo učitavanje datoteke podešavanja %s: %s"
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Neuspjelo spremanje datoteke podešavanja %s."
+
+#: src/glade/psensor.glade:6
+msgid "About"
+msgstr "O programu"
+
+#: src/glade/psensor.glade:10 src/glade/psensor.glade:11
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
+msgid "Preferences"
+msgstr "Osobitosti"
+
+#: src/glade/psensor.glade:15 src/glade/psensor.glade:16
+#: src/glade/psensor.glade:28
+msgid "Sensor Preferences"
+msgstr "Osobitosti senzora"
+
+#: src/glade/psensor.glade:24
+msgid "Quit"
+msgstr "Zatvori"
+
+#: src/glade/psensor.glade:84
+msgid "Show"
+msgstr "Prikaži"
+
+#: src/glade/psensor.glade:186
+msgid "Psensor - Temperature Monitor"
+msgstr "Psensor - Nadziratelj temperature"
+
+#: src/glade/psensor.glade:201
+msgid "_Psensor"
+msgstr "_Psensor"
+
+#: src/glade/psensor.glade:248
+msgid "_Help"
+msgstr "_Pomoć"
+
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Senzor"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Vrijednost"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Min"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Maks"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Boja"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Grafikon"
+
+#: src/glade/psensor-pref.glade:24
+msgctxt "psensor"
+msgid "Right"
+msgstr "Desno"
+
+#: src/glade/psensor-pref.glade:27
+msgid "Left"
+msgstr "Lijevo"
+
+#: src/glade/psensor-pref.glade:30
+msgid "Top"
+msgstr "Vrh"
+
+#: src/glade/psensor-pref.glade:33
+msgid "Bottom"
+msgstr "Dno"
+
+#: src/glade/psensor-pref.glade:60
+msgid "Edit Preferences"
+msgstr "Uredi osobitosti"
+
+#: src/glade/psensor-pref.glade:126
+msgid "Hide window decoration"
+msgstr "Sakrij ukras prozora"
+
+#: src/glade/psensor-pref.glade:146
+msgid "Keep window below"
+msgstr "Drži prozor ispod"
+
+#: src/glade/psensor-pref.glade:166
+msgid "Enable menu"
+msgstr "Omogući izbornik"
+
+#: src/glade/psensor-pref.glade:186
+msgid "Enable Unity Launcher counter"
+msgstr "Omogući brojač Unity pokretača"
+
+#: src/glade/psensor-pref.glade:214
+msgid "Celsius"
+msgstr "Celzijus"
+
+#: src/glade/psensor-pref.glade:215
+msgid "Fahrenheit"
+msgstr "Farenhajt"
+
+#: src/glade/psensor-pref.glade:259
+msgid "Temperature unit:"
+msgstr "Jedinica temperature:"
+
+#: src/glade/psensor-pref.glade:277
+msgid "Position of sensors table:"
+msgstr "Položaj okvira senzora:"
+
+#: src/glade/psensor-pref.glade:296
+msgid "Interface"
+msgstr "Sučelje"
+
+#: src/glade/psensor-pref.glade:312
+msgid "Launch on session startup"
+msgstr "Pokreni pri pokretanju sesije"
+
+#: src/glade/psensor-pref.glade:333
+msgid "Hide window on startup"
+msgstr "Sakrij prozor pri pokretanju"
+
+#: src/glade/psensor-pref.glade:353
+msgid "Restore window position and size"
+msgstr "Vrati položaj i veličinu prozora"
+
+#: src/glade/psensor-pref.glade:384
+msgid "Startup"
+msgstr "Pokretanje"
+
+#: src/glade/psensor-pref.glade:428
+msgid "Foreground:"
+msgstr "Prednji plan:"
+
+#: src/glade/psensor-pref.glade:446
+msgid "Background:"
+msgstr "Pozadina:"
+
+#: src/glade/psensor-pref.glade:482
+msgid "Background opacity:"
+msgstr "Prozirnost pozadine:"
+
+#: src/glade/psensor-pref.glade:500
+msgid "Colors"
+msgstr "Boje"
+
+#: src/glade/psensor-pref.glade:521
+msgid "Monitoring duration:"
+msgstr "Trajanje nadziranja:"
+
+#: src/glade/psensor-pref.glade:539
+msgid "Update interval:"
+msgstr "Razdoblje ažuriranja:"
+
+#: src/glade/psensor-pref.glade:557
+msgid "Measures"
+msgstr "Mjere"
+
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min</i>"
+
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Maks</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "sekunda(i)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minuta(e)"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr "Zaglađene krivulje"
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr "Krivulje"
+
+#: src/glade/psensor-pref.glade:814
+msgid "Measure update interval:"
+msgstr "Razdoblje ažuriranja mjera:"
+
+#: src/glade/psensor-pref.glade:862
+msgid "Enable sensors logging"
+msgstr "Omogući zapisivanje sensora"
+
+#: src/glade/psensor-pref.glade:909
+msgid "Sensors logging interval:"
+msgstr "Razdoblje zapisivanja senzora:"
+
+#: src/glade/psensor-pref.glade:926
+msgid "seconds(s)"
+msgstr "sekunda(i)"
+
+#: src/glade/psensor-pref.glade:943
+msgid "Script executed when an alarm is raised:"
+msgstr "Skripta za izvršavanje kada se alarm upali"
+
+#: src/glade/psensor-pref.glade:984
+msgid "Sensors"
+msgstr "Senzori"
+
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr "Omogući podršku za lm-sensors"
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr "Omogući podršku za NVCtrl (NVidia)"
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr "Omogući podršku za ATI ADL"
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr "Omogući podršku za gtop2"
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr "Omogući podršku za hddtemp daemon"
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr "Omogući podršku za libatasmart"
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr "Omogući podršku za udisks2"
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr "Promjene će biti primjenjene nakon ponovnog pokretanja psensora."
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr "Čvrsti disk"
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr "Korištenje CPU-a i memorije"
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr "GPU s vlasničkim upravljačkim programima"
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr "Matična ploča, CPU i GPU"
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
+msgid "Edit Sensor Preferences"
+msgstr "Uredi osobitosti senzora"
+
+#: src/glade/sensor-edit.glade:107
+msgid "Name"
+msgstr "Naziv"
+
+#: src/glade/sensor-edit.glade:174
+msgid "Type:"
+msgstr "Vrsta:"
+
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
+msgid "N/A"
+msgstr "Nedostupno"
+
+#: src/glade/sensor-edit.glade:212
+msgid "Chip:"
+msgstr "Čip:"
+
+#: src/glade/sensor-edit.glade:245
+msgid "Name:"
+msgstr "Naziv:"
+
+#: src/glade/sensor-edit.glade:264
+msgid "Id:"
+msgstr "Id:"
+
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr "Pojedinosti"
+
+#: src/glade/sensor-edit.glade:320
+msgid "Draw sensor curve"
+msgstr "Iscrtavaj krivulju senzora"
+
+#: src/glade/sensor-edit.glade:349
+msgid "Color:"
+msgstr "Boja:"
+
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
+msgstr "Prikaži senzor u popisu senzora"
+
+#: src/glade/sensor-edit.glade:431
+msgid "Activate desktop notifications"
+msgstr "Uključi obavijesti radne površine"
+
+#: src/glade/sensor-edit.glade:460
+msgid "High threshold:"
+msgstr "Gornja granica:"
+
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr "0"
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr "-1"
+
+#: src/glade/sensor-edit.glade:588
+msgid "Low threshold:"
+msgstr "Donja granica:"
+
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarm"
+
+#: src/glade/sensor-edit.glade:629
+msgid "Display sensor in the menu"
+msgstr "Prikaži senzor u izbrniku"
+
+#: src/glade/sensor-edit.glade:650
+msgid "Display sensor in the label (experimental)"
+msgstr "Prikaži senzor u oznaci (eksperimentalno)"
+
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Programičić pokazivača"
+
+#: src/lib/amd.c:171
+msgid "AMD: cannot found ADL library."
+msgstr "AMD: nemogu pronaći ADL biblioteku."
+
+#: src/lib/amd.c:198
+msgid "AMD: missing ADL's API."
+msgstr "AMD: nedostaje ADL API."
+
+#: src/lib/amd.c:208
+msgid "AMD: failed to initialize ADL."
+msgstr "AMD: neuspjelo pokretanje ADL-a."
+
+#: src/lib/amd.c:214
+msgid "AMD: cannot get the number of adapters."
+msgstr "AMD: nemoguće je dobiti broj adaptera."
+
+#: src/lib/amd.c:253
+#, c-format
+msgid "Number of AMD/ATI adapters: %d"
+msgstr "Broj AMD/ATI adaptera: %d"
+
+#: src/lib/amd.c:254
+#, c-format
+msgid "Number of active AMD/ATI adapters: %d"
+msgstr "Broj aktivnih AMD/ATI adaptera: %d"
+
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
+msgid "Disk"
+msgstr "Disk"
+
+#: src/lib/hdd_atasmart.c:141
+#, c-format
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: sk_disk_open() neuspjelo: %s."
+
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: neuspjelo otvaranje socketa."
+
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: neuspjelo otvaranje povezivanja."
+
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
+#, c-format
+msgid "%s: wrong string: %s."
+msgstr "%s: pogrešan string: %s."
+
+#: src/lib/lmsensor.c:44
+#, fuzzy, c-format
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: nemoguće dobivanje vrijednosti podznačajki %s: %s."
+
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: pogrešna vrsta značajki."
+
+#: src/lib/lmsensor.c:166
+msgid "Intel CPU"
+msgstr "Intel CPU"
+
+#: src/lib/lmsensor.c:170
+msgid "AMD CPU"
+msgstr "AMD CPU"
+
+#: src/lib/lmsensor.c:172
+msgid "NVIDIA GPU"
+msgstr "NVIDIA GPU"
+
+#: src/lib/lmsensor.c:174
+msgid "VIA CPU"
+msgstr "VIA CPU"
+
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr "ACPI"
+
+#: src/lib/lmsensor.c:201
+#, c-format
+msgid "%s: initialization failure: %s."
+msgstr "%s: neuspjeh pokretanja: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr "CPU"
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr "slobodna memorija"
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr "memorija"
+
+#: src/lib/plog.c:43
+#, c-format
+msgid "Cannot open log file: %s"
+msgstr "Nemoguće otvaranje datoteke: %s"
+
+#: src/lib/nvidia.c:58
+#, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "%s: Nepoznat naziv NVIDIA proizvoda za GPU %d"
+
+#: src/lib/nvidia.c:63
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "%s: Neuspjelo čitanje naziva NVIDIA proizvoda za GPU %d"
+
+#: src/lib/nvidia.c:226
+#, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "%s: Neuspjelo čitanje mjernih jedinica %x za NVIDIA GPU %d"
+
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Nemoguće povezivanje s X11 poslužiteljem."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Neuspjelo primanje NVIDIA informacija."
+
+#: src/lib/nvidia.c:370
+#, c-format
+msgid "%s: Failed to retrieve number of fans."
+msgstr "%s: NVIDIA: nuespjelo očitavanje broja ventilatora."
+
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
+msgid "RPM"
+msgstr "Okr/min"
+
+#: src/lib/psensor.c:455
+msgid "%"
+msgstr "%"
+
+#: src/lib/slog.c:87
+msgid "HOME variable not set."
+msgstr "HOME varijabla nije postavljena."
+
+#: src/lib/slog.c:96
+msgid "Sensor log file already open."
+msgstr "Datoteka zapisa senzora je već otvorena."
+
+#: src/lib/slog.c:105
+#, c-format
+msgid "Cannot open sensor log file: %s."
+msgstr "Nemoguće otvaranje datoteke zapisa senzora: %s."
+
+#: src/lib/slog.c:136
+msgid "Sensor log file not open."
+msgstr "Datoteka zapisa senzora nije otvorena."
+
+#: src/lib/slog.c:192
+msgid "Sensor log not open, cannot close."
+msgstr "Datoteka zapisa senzora nije otvorena, nemoguće zatvaranje."
+
+#: src/main.c:80 src/server/server.c:87
+#, c-format
+msgid ""
+"Copyright (C) %s jeanfi@gmail.com\n"
+"License GPLv2: GNU GPL version 2 or later <http://www.gnu.org/licenses/old-"
+"licenses/gpl-2.0.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Autorsko pravo (C) %s jeanfi@gmail.com\n"
+"Licenca GPLv2: GNU GPL inačica 2 ili novija <http://www.gnu.org/licenses/old-"
+"licenses/gpl-2.0.html>\n"
+"Ovo je slobodan softver: slobodno ga možete mijenjati i redistribuirati.\n"
+"Ne postoji nikakvo JAMSTVO, propisano zakonom.\n"
+
+#: src/main.c:91 src/server/server.c:97
+#, c-format
+msgid "Usage: %s [OPTION]...\n"
+msgstr "Upotreba: %s [MOGUĆNOST]...\n"
+
+#: src/main.c:93
+msgid ""
+"Psensor is a GTK+ application for monitoring hardware sensors, including "
+"temperatures and fan speeds."
+msgstr ""
+"Psensor je GTK+ aplikacija za nadziranje hardverskih senzora, koja uključuje "
+"temperature i brzinu okretaja ventilatora."
+
+#: src/main.c:97
+msgid "Options:"
+msgstr "Mogućnosti:"
+
+#: src/main.c:98
+msgid ""
+"  -h, --help          display this help and exit\n"
+"  -v, --version       display version information and exit"
+msgstr ""
+"  -h, --help          prikaz pomoći\n"
+"  -v, --version       prikaz informacije inačice"
+
+#: src/main.c:104
+msgid ""
+"  -u, --url=URL       the URL of the psensor-server,\n"
+"                      example: http://hostname:3131"
+msgstr ""
+"  -u, --url=URL       URL psensor-poslužitelja,\n"
+"                      npr: http://hostname:3131"
+
+#: src/main.c:107
+msgid "  -n, --new-instance  force the creation of a new Psensor application"
+msgstr "  -n, --new-instance  prisili stvaranje nove Psensor aplikacije"
+
+#: src/main.c:110
+msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
+msgstr ""
+"  -d, --debug=LEVEL   postavi razinu otklanjanja greške, cijeli broj između "
+"0 i 3"
+
+#: src/main.c:115 src/server/server.c:120
+#, c-format
+msgid "Report bugs to: %s\n"
+msgstr "Prijavi grešku na: %s\n"
+
+#: src/main.c:117 src/server/server.c:122
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s početna stranica: <%s>\n"
+
+#: src/main.c:473
+msgid "Psensor has not been compiled with remote sensor support."
+msgstr "Psensor nije kompajliran s udaljenom podrškom senzora."
+
+#: src/main.c:551
+msgid "Enables debug mode."
+msgstr "Omogućava način otklanjanja greške."
+
+#: src/main.c:563 src/server/server.c:384
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Pokušajte `%s --help` za više informacija.\n"
+
+#: src/main.c:576
+msgid "A Psensor instance already exists."
+msgstr "Psensor primjerak je već pokrenut."
+
+#: src/main.c:631
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Neuspjelo stvaranje niza za nadziranje senzora"
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  gogo https://launchpad.net/~trebelnik-stefina"
+
+#: src/rsensor.c:107
+#, c-format
+msgid "Fail to connect to: %s"
+msgstr "Neuspjelo povezivanje s: %s"
+
+#: src/rsensor.c:144
+#, c-format
+msgid "Invalid content: %s"
+msgstr "Nevaljan sadržaj: %s"
+
+#: src/rsensor.c:184
+#, c-format
+msgid "Invalid JSON: %s"
+msgstr "Nevaljan JSON: %s"
+
+#: src/server/server.c:57
+msgid "<html><body><p>Server stop requested</p></body></html>"
+msgstr "<html><body><p>Poslužitelj je prestao reagirat</p></body></html>"
+
+#: src/server/server.c:63
+msgid ""
+"<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
+msgstr ""
+"<html><body><p>Stranica nije pronađena - Idite na <a href='/'>Glavna "
+"stranica</a></p></body>"
+
+#: src/server/server.c:99
+msgid ""
+"psensor-server is an HTTP server for monitoring hardware sensors remotely."
+msgstr ""
+"psensor-poslužitelj je HTTP poslužitelj za udaljeno nadziranje senzora "
+"hardvera."
+
+#: src/server/server.c:104
+msgid ""
+"  -h, --help\t\tdisplay this help and exit\n"
+"  -v, --version\t\tdisplay version information and exit"
+msgstr ""
+"  -h, --help\t\tprikazuje pomoć\n"
+"  -v, --version\t\tprikazuje informacije o inačici"
+
+#: src/server/server.c:108
+msgid ""
+"  -p,--port=PORT\twebserver port\n"
+"  -w,--wdir=DIR\t\tdirectory containing webserver pages"
+msgstr ""
+"  -p,--port=PORT\tulaz web poslužitelja\n"
+"  -w,--wdir=DIR\t\tdirektorij sadrži stranice web poslužitelja"
+
+#: src/server/server.c:112
+msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
+msgstr ""
+"  -d, --debug=LEVEL     postavi razinu otklanjanja greške, cijeli broj "
+"između 0 i 3"
+
+#: src/server/server.c:114
+msgid "  -l, --log-file=PATH   set the log file to PATH"
+msgstr "  -l, --log-file=PUTANJA   postavite PUTANJU datoteke zapisa"
+
+#: src/server/server.c:115
+msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
+msgstr "  --sensor-log-file=PUTANJA postavite PUTANJU datoteke zapisa senzora"
+
+#: src/server/server.c:116
+msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
+msgstr ""
+"  --sensor-log-interval=S postavite trajanje zapisa senzora u S (sekunde)"
+
+#: src/server/server.c:301
+#, c-format
+msgid "HTTP Request: %s"
+msgstr "HTTP Zahtjev: %s"
+
+#: src/server/server.c:364
+#, c-format
+msgid "Enables debug mode: %d"
+msgstr "Omogućuje način otklanjanja greške: %d"
+
+#: src/server/server.c:408
+msgid "No sensors detected."
+msgstr "Nema otkrivenih senzora."
+
+#: src/server/server.c:415
+msgid "Failed to create Web server."
+msgstr "Neuspjelo stvaranje Web poslužitelja."
+
+#: src/server/server.c:419
+#, c-format
+msgid "Web server started on port: %d"
+msgstr "Web poslužitelj pokrenut na ulazu: %d"
+
+#: src/server/server.c:420
+#, c-format
+msgid "WWW directory: %s"
+msgstr "WWW direktorij: %s"
+
+#: src/server/server.c:421
+#, c-format
+msgid "URL: http://localhost:%d"
+msgstr "URL: http://localhost:%d"
+
+#: src/server/server.c:431
+msgid "Failed to activate logging of sensors."
+msgstr "Neuspjelo aktiviranje zapisivanja senzora."
+
+#: src/ui.c:87
+msgid "Psensor is a GTK+ application for monitoring hardware sensors"
+msgstr "Psensor je GTK+ aplikacija za nadziranje senzora hardvera."
+
+#: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Autorsko pravo(c) 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
+msgid "About Psensor"
+msgstr "O Psensoru"
+
+#: src/ui.c:100
+msgid "Psensor Homepage"
+msgstr "Psensor web stranica"
+
+#: src/ui.c:223
+msgid "Failed to load Psensor icon."
+msgstr "Neuspjelo učitavanje ikone Psensora."
+
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr "Sakrij"
+
+#: src/ui_sensorlist.c:296
+msgid "Select sensor color"
+msgstr "Odaberi boju senzora"
+
+#: src/ui_notify.c:48
+msgid "gettimeofday failed."
+msgstr "dobivanje-vremena-dana neuspjelo."
+
+#: src/ui_notify.c:77
+msgid "Temperature alert"
+msgstr "Upozorenje temperature"
+
+#: src/ui_notify.c:79
+msgid "Fan speed alert"
+msgstr "Upozorenje brzine ventilatora"
+
+#: src/ui_sensorpref.c:248
+msgid "Unknown"
+msgstr "Nepoznato"
index acda171..e52a57d 100644 (file)
Binary files a/po/hu.gmo and b/po/hu.gmo differ
index 8b95e70..040c00c 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,23 +8,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2012-10-29 09:41+0000\n"
-"Last-Translator: Bence Lukács <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:26+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Hungarian <gnome-hu-list-request@gnome.org>\n"
 "Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-01-21 09:32+0000\n"
-"X-Generator: Launchpad (build 16430)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Nem sikerült a mappa létrehozása: %s - %s"
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Nem sikerült a konfigurációs fájlt beolvasni: %s"
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Nem sikerült a konfigurációs fájlt elmenteni: %s"
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Névjegy"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Beállítások"
 
@@ -41,22 +56,47 @@ msgstr "Kilépés"
 msgid "Show"
 msgstr "Megjelenítés"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - hőmérsékletfigyelő"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
-msgstr ""
+msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Súgó"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Érzékelő"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Érték"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Minimum"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Maximum"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Szín"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Grafikon"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
-msgstr ""
+msgstr "Jobbra"
 
 #: src/glade/psensor-pref.glade:27
 msgid "Left"
@@ -64,325 +104,423 @@ msgstr "Balra"
 
 #: src/glade/psensor-pref.glade:30
 msgid "Top"
-msgstr "Tetejére"
+msgstr "Felül"
 
 #: src/glade/psensor-pref.glade:33
 msgid "Bottom"
-msgstr "Aljára"
+msgstr "Alul"
 
 #: src/glade/psensor-pref.glade:60
 msgid "Edit Preferences"
 msgstr "Beállítások szerkesztése"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Ablakdíszítés elrejtése"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Ablak alul tartása"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Menü engedélyezése"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Unity indítón lévő számláló engedélyezése"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
-msgstr ""
+msgstr "Celsius"
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
-msgstr ""
+msgstr "Fahrenheit"
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Hőmérséklet mértékegysége:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Érzékelőtábla pozíciója:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Felület"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
-msgstr ""
+msgstr "Indítás a munkamenettel"
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Ablak elrejtése induláskor"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Ablak pozíciójának és méretének visszaállítása"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
-msgstr ""
+msgstr "Indítás"
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Előtér:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Háttér:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Háttér átlátszósága:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Min</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Max</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Színek"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Figyelés hossza:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "perc"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "s"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Frissítési időköz:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Mérések"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Grafikon"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Max</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "másodperc"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "perc"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Mérések frissítési időköze:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Érzékelők naplózásának engedélyezése"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Naplózás időköze:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
-msgstr "másodperc(ek)"
+msgstr "másodperc"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
-msgstr ""
+msgstr "Parancsfájl futtatás riasztáskor:"
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Érzékelők"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Érzékelő beállításainak szerkesztése"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
-msgstr ""
+msgstr "Név"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Típus:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "---"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Érzékelő információi"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Chip:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Név:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
-msgstr "Id:"
+msgstr "Azonosító:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Érzékelő görbéjének rajzolása"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Szín:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Riasztás"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
+msgstr "Érzékelő megjelenítése az érzékelők listáján"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Asztali értesítések bekapcsolása"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Felső küszöbérték:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr "-1"
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Alsó küszöbérték:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr ""
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Riasztás"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Érzékelők megjelenítése az alkalmazásmenüben"
 
-#: src/glade/sensor-edit.glade:429
-#, fuzzy
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
-msgstr "Érzékelők megjelenítése az alkalmazásmenüben"
+msgstr "Érzékelők megjelenítése a címkén (fejlesztés alatt)"
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Alkalmazás Indikátor"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: Nem sikerült betölteni az ADL programkönyvtárat."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: hiányzó ADL API."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: az ADL előkészítése meghiúsult."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: adapterek számainak lekérése meghiúsult"
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
-msgstr ""
+msgstr "ADM/ATI adapterek száma: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
-msgstr ""
+msgstr "Aktív ADM/ATI adapterek száma: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
-msgstr ""
+msgstr "Lemez"
 
-#: src/lib/hdd_atasmart.c:152
-#, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart: sk_disk_open() hiba: %s."
+#: src/lib/hdd_atasmart.c:141
+#, fuzzy, c-format
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: sk_disk_open() hiba: %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: foglalat megnyitása meghiúsult."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: foglalat megnyitása meghiúsult."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: a kapcsolat megnyitása nem sikerült."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: a kapcsolat megnyitása nem sikerült."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: rossz karakterlánc: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: rossz karakterlánc: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: alfunkció értékének lekérdezése meghiúsult %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: alfunkció értékének lekérdezése meghiúsult %s: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create hiba: rossz funkciótípus."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: rossz funkciótípus."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
-msgstr ""
+msgstr "Intel processzor"
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
-msgstr ""
+msgstr "AMD processzor"
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
-msgstr ""
+msgstr "NVIDIA videokártya"
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
+msgstr "VIA processzor"
+
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: előkészítési hiba: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: előkészítési hiba: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr "Processzor"
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "A naplófájl megnyitása sikertelen: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "NVIDIA információinak lekérése meghiúsult."
+
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "NVIDIA információinak lekérése meghiúsult."
+
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "NVIDIA információinak lekérése meghiúsult."
+
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Nem lehet létrehozni a kapcsolatot az X11 kiszolgálóval."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Nem lehet létrehozni a kapcsolatot az X11 kiszolgálóval."
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: NVIDIA információinak lekérése meghiúsult."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr "NVIDIA információinak lekérése meghiúsult."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "HOME változó nincs beállítva."
 
@@ -403,7 +541,7 @@ msgstr "Az érzékelő naplófájlja nincs nyitva."
 msgid "Sensor log not open, cannot close."
 msgstr "Az érzékelő naplófájlja nincs nyitva, nem lehet bezárni."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -418,12 +556,12 @@ msgstr ""
 "Ez egy szabad szoftver: szabadon terjesztheti és/vagy módosíthatja\n"
 "NINCS GARANCIA, a jogszabályok által megengedett mértékben.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Használat: %s [KAPCSOLÓK]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -431,11 +569,11 @@ msgstr ""
 "A Psensor egy GTK+ alkalmazás a hardver érzékelőinek figyelésére, beleértve "
 "a hőmérsékleteket és a ventilátor sebességét."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Kapcsolók:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -443,7 +581,7 @@ msgstr ""
 "  -h, --help          ezen súgó megjelenítése, majd kilépés\n"
 "  -v, --version         verzióinformációk megjelenítése, majd kilépés"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -451,15 +589,6 @@ msgstr ""
 "  -u, --url=URL       a psensor-server URL-címe,\n"
 "                      például: http://gepnev:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   atasmart függvénykönyvtár használata a lemezek "
-"figyelésére a\n"
-"                      hddtemp démon helyett"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr "  -n, --new-instance  új Psensor alkalmazás indításának kényszerítése"
@@ -469,33 +598,47 @@ msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL   hibakeresési szint beállítása, egész 0 és 3 között"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "A talált hibákat itt jelentse be: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s honlap: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Hibakeresési mód engedélyezése."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "További információkért adja ki a „%s --help” parancsot.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "A Psensors egy példánya már létezik."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Nem sikerült a mappa létrehozása: %s - %s"
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Bence Lukács https://launchpad.net/~lukacs-bence1\n"
+"  Gabor Kelemen https://launchpad.net/~kelemeng\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Richard Somlói https://launchpad.net/~ricsipontaz"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -511,25 +654,25 @@ msgstr "Érvénytelen tartalom: %s"
 msgid "Invalid JSON: %s"
 msgstr "Érvénytelen JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>A kiszolgáló leállítást kért</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Az oldal nem található - Ugrás a <a href='/'>Főoldalra</a></"
 "p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "A psensor-server egy HTTP kiszolgáló a hardver érzékelőinek figyelésére "
 "távolról."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -537,7 +680,7 @@ msgstr ""
 "  -h, --help\t\tezen súgó megjelenítése, majd kilépés\n"
 "  -v, --version\t\tverzióinformáció megjelenítése, majd kilépés"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -545,110 +688,91 @@ msgstr ""
 "  -p,--port=PORT\twebkiszolgáló portja\n"
 "  -w,--wdir=DIR\t\ta webkiszolgáló oldalait tartalmazó mappa"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL     hibakeresési szint beállítása, egész 0 és 3 között"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=ÚTVONAL   a naplófájl ÚTVONALÁNAK beállítása"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 "  --sensor-log-file=ÚTVONAL érzékelők naplójának beállítása az ÚTVONALRA"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S érzékelő naplózási gyakoriságának beállítása S "
 "másodpercre"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP-kérés: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Hibakeresési mód engedélyezése: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Nem találhatók érzékelők."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Nem sikerült létrehozni a webkiszolgálót."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "A webkiszolgáló elindult ezen a porton: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW könyvtár: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Érzékelők naplózásának aktiválása meghiúsult."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "A Psensor egy GTK+ alkalmazás a hardver érzékelőinek figyelésére"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "A Psensor névjegye"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "A Psensor honlapja"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
-msgstr "Nem sikerült betölteni a Psensor ikont."
-
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Előtérszín kiválasztása"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Érzékelő"
+msgstr "Nem sikerült betölteni a Psensor ikonját."
 
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Érték"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Minimum"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Maximum"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Szín"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Előtérszín kiválasztása"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -659,9 +783,26 @@ msgid "Temperature alert"
 msgstr "Hőmérséklet riasztás"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Ventilátor riasztás"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Ismeretlen"
+
+#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#~ msgstr "lmsensor: lmsensor_psensor_create hiba: rossz funkciótípus."
+
+#~ msgid "The configuration file does not exist."
+#~ msgstr "A konfigurációs fájl nem létezik."
+
+#~ msgid "Sensor Information"
+#~ msgstr "Érzékelő információi"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "Az NVIDIA zár eszközmeghajtó nincs használatban vagy csak nem sikerült a "
+#~ "videokártya hőmérsékletének lekérése."
index c1b43c8..a1a51a7 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 441a95f..015cc50 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -7,30 +7,45 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2013-04-14 16:06+0000\n"
-"Last-Translator: Diego Pierotto <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:24+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Italian\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-04-20 08:36+0000\n"
-"X-Generator: Launchpad (build 16567)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Impossibile creare il Web server."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Attivazione registro dei sensori fallita."
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Attivazione registro dei sensori fallita."
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Informazioni su..."
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Preferenze"
 
 #: src/glade/psensor.glade:15 src/glade/psensor.glade:16
 #: src/glade/psensor.glade:28
 msgid "Sensor Preferences"
-msgstr "Sensor Preferenze"
+msgstr "Preferenze Sensore"
 
 #: src/glade/psensor.glade:24
 msgid "Quit"
@@ -40,349 +55,472 @@ msgstr "Esci"
 msgid "Show"
 msgstr "Mostra"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - Monitor temperatura"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Aiuto"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Sensore"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Valore"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Minimo"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Massimo"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Colore"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Grafico"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
-msgstr "Diritto"
+msgstr "Destra"
 
 #: src/glade/psensor-pref.glade:27
 msgid "Left"
-msgstr "Sinestra"
+msgstr "Sinistra"
 
 #: src/glade/psensor-pref.glade:30
 msgid "Top"
-msgstr ""
+msgstr "In Alto"
 
 #: src/glade/psensor-pref.glade:33
 msgid "Bottom"
-msgstr ""
+msgstr "In Basso"
 
 #: src/glade/psensor-pref.glade:60
 msgid "Edit Preferences"
 msgstr "Modifica le preferenze"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Nascondi le decorazioni della finestra"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Mantieni la finestra sotto"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Abilita il menù"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Abilita contatore nel Launcher Unity"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
-msgstr ""
+msgstr "Celsius"
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
-msgstr ""
+msgstr "Fahrenheit"
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Unità di misura della temperatura"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Posizione della tabella dei sensori"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Interfaccia"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
-msgstr ""
+msgstr "Lancia all'avvio"
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Nascondi la finestra all'avvio"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Ripristina posizione e dimensione della finestra"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
-msgstr ""
+msgstr "Avvio"
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Primo piano:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Sfondo:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Opacità dello sfondo:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Minimo</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Massimo</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Colori"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Durata del monitoraggio:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "minuto/i"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "secondo/i"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Intervallo di aggiornamento:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Misure"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Grafico"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Minimo</i>"
+
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Massimo</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "secondo/i"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minuto/i"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Intervallo di aggiornamento delle misure"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Abilita registrazione sensori"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Intervallo registrazione sensori:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "secondo(i)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
-msgstr ""
+msgstr "Script eseguito quando un allarme viene attivato:"
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Sensori"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Modifica preferenze del sensore"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Nome"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Tipo:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "N/A"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Informazioni sul Sensore"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Processore:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Nome:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Id:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Disegna curva"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Colore:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Avviso"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "Mostra sensore nel menu"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Attiva le notifiche sul desktop"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Soglia verso l'alto"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr "-1"
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Soglia verso il basso"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr "Indicatore Applicazione"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Avviso"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Mostra sensore nel menu"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Indicatore Applicazione"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: impossibile trovare la libreria ADL"
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: impossibile trovare l'API di ADL"
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: impossibile inizializzare ADL"
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: impossibile rilevare il numero di adattatori."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
-msgstr ""
+msgstr "Disco"
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart: errore sk_disk_open(): %s."
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: errore sk_disk_open(): %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: impossibile aprire il socket."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: impossibile aprire il socket."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: impossibile aprire la connessione."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: impossibile aprire la connessione."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: errore di stringa: %s"
+msgid "%s: wrong string: %s."
+msgstr "%s: errore di stringa: %s"
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: impossibile rilevare il valore della sotto funzione %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: impossibile rilevare il valore della sotto funzione %s: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create fallito: tipo di funzione errata."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: tipo di funzione errata."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
-msgstr ""
+msgstr "CPU Intel"
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
-msgstr ""
+msgstr "CPU AMD"
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
-msgstr ""
+msgstr "CPU NVIDIA"
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
+msgstr "CPU VIA"
+
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
-#, c-format
-msgid "lmsensor: initialization failure: %s."
+#: src/lib/lmsensor.c:201
+#, fuzzy, c-format
+msgid "%s: initialization failure: %s."
 msgstr "lmsensor: inizializzazione fallita: %s"
 
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr "CPU"
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
+
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Impossibile aprire il file di log: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
-"Driver proprietario NVIDIA non usato o impossibile rilevare la temperatura "
-"della GPU NVIDIA."
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Impossibile recuperare informazioni da NVIDIA"
+
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Impossibile recuperare informazioni da NVIDIA"
+
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "Impossibile recuperare informazioni da NVIDIA"
+
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Impossibile connettersi al server X11."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Impossibile connettersi al server X11."
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Impossibile recuperare informazioni da NVIDIA"
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr "Impossibile recuperare informazioni da NVIDIA"
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "Variabile HOME non impostata."
 
@@ -403,7 +541,7 @@ msgstr "File di registazione sensori non aperto."
 msgid "Sensor log not open, cannot close."
 msgstr "Registro sensori non aperto, impossibile chiuderlo."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -418,12 +556,12 @@ msgstr ""
 "Questo è software libero: sei libero di modificarlo e redistribuirlo.\n"
 "NON esiste GARANZIA, per gli scopi permessi dalla legge.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Uso: %s [OPZIONE]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -431,11 +569,11 @@ msgstr ""
 "Psensor è un'applicazione GTK+ per monitorare i sensori dell'hardware, "
 "incluse temperature e velocità delle ventole."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Opzioni:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -443,7 +581,7 @@ msgstr ""
 "  -h, --help mostra questo help ed esce\n"
 "  -v, --version mostra le informazioni sulla versione ed esce"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -451,15 +589,6 @@ msgstr ""
 "  -u, --url=URL URL del server psensor,\n"
 "                      esempio: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart usa la libreria atasmart library per il monitoraggio "
-"dell'hard disk invece del \n"
-"                      servizio hddtemp"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -470,33 +599,47 @@ msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL imposta il livello di debug, un intero compreso tra 0 e 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Segnalare i bug a: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s home page: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor è stato compilato senza il supporto per sensori remoti."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Abilita la modalità debug."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Usare '%s --help' per maggiori informazioni.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Esiste già un'istanza di Psensor"
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Impossibile creare il Web server."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Andrea Bernini https://launchpad.net/~andrea-bernini\n"
+"  Diego Pierotto https://launchpad.net/~gringo\n"
+"  Gabriele https://launchpad.net/~deepdown23\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -512,25 +655,25 @@ msgstr "Conenuto non valido: %s"
 msgid "Invalid JSON: %s"
 msgstr "JSON non valido: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>Arresto del server richiesto</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Pagina non trovata - Vai a <a href='/'>Pagina principale</a></"
 "p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server è un server HTTP per il monitoraggio remoto di sensori "
 "hardware."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -538,7 +681,7 @@ msgstr ""
 "  -h, --help\t\tmostra questo help ed esce\n"
 "  -v, --version\t\tmostra le informazioni sulla versione ed esce"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -546,110 +689,91 @@ msgstr ""
 "  -p,--port=PORT\tporta del server web\n"
 "  -w,--wdir=DIR\t\tdirectory che contiene le pagine web"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL imposta il livello di debug, un intero compreso tra 0 e 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH imposta il file di log su PATH"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 "  --sensor-log-file=PATH imposta il file di registro dei sensori come PATH"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S imposta l'intervallo del registro di sensori come "
 "S (secondi)"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP Request: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Abilita modalità di debug: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Nessun sensore rilevato."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Impossibile creare il Web server."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Web server inizializzato sulla porta: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW directory: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Attivazione registro dei sensori fallita."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "Psensor è un'applicazione GTK+ per monitorare i sensori hardware"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Informazioni su Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Psensor Homepage"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Impossibile caricare l'icona di Psensor."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Colore di primo piano:"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Sensore"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Valore"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Minimo"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Massimo"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Colore"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Colore di primo piano:"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -660,9 +784,23 @@ msgid "Temperature alert"
 msgstr "Allarme temperatura"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Allarme ventola"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Sconosciuto"
+
+#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#~ msgstr "lmsensor: lmsensor_psensor_create fallito: tipo di funzione errata."
+
+#~ msgid "Sensor Information"
+#~ msgstr "Informazioni sul Sensore"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "Driver proprietario NVIDIA non usato o impossibile rilevare la "
+#~ "temperatura della GPU NVIDIA."
index 007b43a..bac41f8 100644 (file)
Binary files a/po/lv.gmo and b/po/lv.gmo differ
index 78ba9d8..d84feaf 100644 (file)
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2013-10-24 12:32+0000\n"
-"Last-Translator: tuxmaniack <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:26+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Latvian <lv@li.org>\n"
 "Language: lv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-02-11 20:01+0000\n"
-"X-Generator: Launchpad (build 16916)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Neizdevās izveidot tīmekļa serveri."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Neizdevās aktivizēt sensoru žurnalēšanu."
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Neizdevās aktivizēt sensoru žurnalēšanu."
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Par"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Iestatījumi"
 
@@ -40,348 +55,473 @@ msgstr "Iziet"
 msgid "Show"
 msgstr "Rādīt"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - temperatūras pārraugs"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Palīdzība"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Sensors"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Vērtība"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Min."
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Maks."
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Krāsa"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Grafiks"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
-msgstr ""
+msgstr "Pa labi"
 
 #: src/glade/psensor-pref.glade:27
 msgid "Left"
-msgstr ""
+msgstr "Pa kreisi"
 
 #: src/glade/psensor-pref.glade:30
 msgid "Top"
-msgstr ""
+msgstr "Augšā"
 
 #: src/glade/psensor-pref.glade:33
 msgid "Bottom"
-msgstr ""
+msgstr "Lejā"
 
 #: src/glade/psensor-pref.glade:60
 msgid "Edit Preferences"
 msgstr "Rediģēt iestatījumus"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Slēpt loga apdari"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Turēt logu apakšā"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Aktivizēt izvēlni"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Aktivizēt Unity palaidēja skaitītāju"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
-msgstr ""
+msgstr "Celsijs"
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
-msgstr ""
+msgstr "Fārenheits"
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Temperatūras mērvienība:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Sensoru tabulas novietojums:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Saskarne"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
-msgstr ""
+msgstr "Palaist pieteicoties sistēmā"
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Slēpt logu pieteicoties sistēmā"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Atjaunot loga pozīciju un izmēru"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
-msgstr ""
+msgstr "Palaišana"
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Priekšplāns:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Fons:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Fona necaurspīdība:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Min.</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Maks.</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Krāsas"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Pārraudzības ilgums:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "minūte(s)"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "sekunde(s)"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Atjaunināšanas intervāls:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Mērījumi"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Grafiks"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min.</i>"
+
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Maks.</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "sekunde(s)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minūte(s)"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Mērījumu atjaunināšanas intervāls:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Aktivizēt sensora žurnalēšanu"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Sensoru žurnalēšanas intervāls:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "sekunde(s)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr "Skrips izpildīts, kad trauksme ir aktivizēta:"
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Sensori"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Rediģēt sensoru iestatījumus"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Nosaukums"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Tips:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "N/P"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Sensora informācija"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Mikroshēma:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Nosaukums:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Id:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Zīmēt sensora līkni"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Krāsa:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Trauksme"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Aktivizēt darbvirsmas paziņojumus"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Augsts slieksnis:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr "-1"
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Zems slieksnis:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr "Aplikāciju indikators"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Trauksme"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 #, fuzzy
 msgid "Display sensor in the label (experimental)"
-msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē"
+msgstr "Attēlot sensoru etiķetē (eksperimentāls)"
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Aplikāciju indikators"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: nevar atrast ADL bibliotēku."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: trūkst ADL programmatūras saskarne."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: neizdevās inicializēt ADL."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: nevar saņemt adapteru skaitu."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
-msgstr ""
+msgstr "AMD/ATI adapteru skaits: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
-msgstr ""
+msgstr "Aktīvo AMD/ATI adapteru skaits: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
-msgstr ""
+msgstr "Disks"
 
-#: src/lib/hdd_atasmart.c:152
-#, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
+#: src/lib/hdd_atasmart.c:141
+#, fuzzy, c-format
+msgid "%s: sk_disk_open() failure: %s."
 msgstr "atasmart: sk_disk_open() atteice: %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: neizdevās atvērt ligzdu."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: neizdevās atvērt ligzdu."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: neizdevās atvērt savienojumu."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: neizdevās atvērt savienojumu."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: nepareiza virkne: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: nepareiza virkne: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: nevar iegūt vērtību no apakšīpašības %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: nevar iegūt vērtību no apakšīpašības %s: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create atteice: nepareis īpašības tips."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: nepareis īpašības tips."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
-msgstr ""
+msgstr "Intel CPU"
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
-msgstr ""
+msgstr "AMD CPU"
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
-msgstr ""
+msgstr "NVIDIA GPU"
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
+msgstr "VIA CPU"
+
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: inicializācijas kļūda: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: inicializācijas kļūda: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr "CPU"
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Nevar atvērt žurnāla failu: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Neizdevās saņemt NVIDIA informāciju."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Nevar atvērt savienojumu ar X11 server."
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Neizdevās saņemt NVIDIA informāciju."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr "Neizdevās saņemt NVIDIA informāciju."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Nevar atvērt savienojumu ar X11 server."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Neizdevās saņemt NVIDIA informāciju."
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
+msgstr "Neizdevās saņemt NVIDIA informāciju."
+
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "HOME mainīgais nav iestatīts."
 
@@ -402,7 +542,7 @@ msgstr "Sensora žurnāla fails nav atvērts."
 msgid "Sensor log not open, cannot close."
 msgstr "Sensora žurnāls nav atvērts, nevar aizvērt."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -412,12 +552,12 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
-msgstr ""
+msgstr "Lietošana: %s [OPCIJAS]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -425,11 +565,11 @@ msgstr ""
 "Psensor ir GTK+ lietotne aparatūras sensoru pārraudzībai, ieskaitot "
 "temperatūras un ventilatoru ātrumus."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Opcijas:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -437,7 +577,7 @@ msgstr ""
 "  -h, --help          rādīt šo palīdzību un iziet\n"
 "  -v, --version       rādīt versijas informāciju un iziet"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -445,14 +585,6 @@ msgstr ""
 "  -u, --url=SAITE       psensor-server adrese,\n"
 "                      piemērs: http://saimniekdatoravārds:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   izmantot atasmart bibliotēku disku pārraudzībai\n"
-"                      hddtemp dēmona vietā"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr "  -n, --new-instance  piespiest izveidot jaunu Psensor lietotni"
@@ -461,33 +593,45 @@ msgstr "  -n, --new-instance  piespiest izveidot jaunu Psensor lietotni"
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr "  -d, --debug=LĪMENIS   iestatīt atkļūdošanas līmeni, starp 0 un 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Ziņojiet kļūdas uz: %s.\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s mājas lapa: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Aktivizēt atkļūdošanas režīmu."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Mēģiniet `%s --help', lai iegūtu vairāk informācijas.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Psensor instance jau eksistē."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Neizdevās izveidot tīmekļa serveri."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  tuxmaniack https://launchpad.net/~tuxmaniack"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -503,24 +647,24 @@ msgstr "Nederīgs saturs: %s"
 msgid "Invalid JSON: %s"
 msgstr "Nederīgs JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>Servera apturēšana pieprasīta</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Lapa nav atrasta - dodieties uz <a href='/'>galveno lapu</a></"
 "p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server ir HTTP serveris aparatūras sensoru attālinātai pārraudzībai."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -528,7 +672,7 @@ msgstr ""
 "  -h, --help\t\trādīt šo palīdzību un iziet\n"
 "  -v, --version\t\trādīt versijas informāciju un iziet"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -536,109 +680,93 @@ msgstr ""
 "  -p,--port=PORTS\ttīmekļa servera ports\n"
 "  -w,--wdir=DIR\t\tmape ar tīmekļa servera lapām"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LĪMENIS     iestatīt atkļūdošanas līmeni, vesels skaitlis "
 "starp 0 un 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=CEĻŠ   žurnalēšanas faila ceļš"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=CEĻŠ sensora žurnāla faila ceļš"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S iestata sensora žurnāla intervālu uz S (sekundēm)"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP pieprasījums: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Aktivizē atkļūdošanas režīmu: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Sensori nav atklāti."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Neizdevās izveidot tīmekļa serveri."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Tīmekļa serveris sākts uz porta: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW mape: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "Saite: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Neizdevās aktivizēt sensoru žurnalēšanu."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "Psensor ir GTK+ lietotne aparatūras sensoru pārraudzībai"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+#, fuzzy
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 "Autortiesības(c) 2010-2014\n"
 "jeanfi@gmail.com"
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Par Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Psensor mājas lapa"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Neizdevās ielādēt Psensor ikonu."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Izvēlieties priekšplāna krāsu"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Sensors"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Vērtība"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Min."
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Maks."
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Krāsa"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Izvēlieties priekšplāna krāsu"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -649,9 +777,23 @@ msgid "Temperature alert"
 msgstr "Temperatūras trauksme"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Ventilatora trauksme"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Nezināms"
+
+#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#~ msgstr "lmsensor: lmsensor_psensor_create atteice: nepareis īpašības tips."
+
+#~ msgid "Sensor Information"
+#~ msgstr "Sensora informācija"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "NVIDIA īpašniekdraiveris netiek izmantots vai nevar iegūt NVIDIA GPU "
+#~ "temperatūru."
index b8382a3..21dfec9 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index 684df73..89049f0 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2014-04-07 08:50+0000\n"
-"Last-Translator: Pjotr12345 <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:25+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Dutch <nl@li.org>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-04-09 22:52+0000\n"
-"X-Generator: Launchpad (build 16976)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Kon geen webserver maken."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren."
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren."
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Over"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Voorkeuren"
 
@@ -40,18 +55,43 @@ msgstr "Afsluiten"
 msgid "Show"
 msgstr "Tonen"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - Temperatuurbewaker"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Hulp"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Sensor"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Waarde"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Min"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Max"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Kleur"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Grafiek"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,318 +113,416 @@ msgstr ""
 msgid "Edit Preferences"
 msgstr "Voorkeuren bewerken"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Vensteromlijsting verbergen"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Houd venster eronder"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Menu inschakelen"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Teller voor Unity-starter inschakelen"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Temperatuureenheid:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Positie van sensorentabel:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Bedieningsschil"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Venster bij opstarten verbergen"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Vensterpositie en -grootte herstellen"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Voorgrond:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Achtergrond:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Ondoorzichtigheid van achtergrond:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Min</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Max</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Kleuren"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Duur van bewaking:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "minu(u)t(en)"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "seconde(n)"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Tussenpoze voor bijwerken:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Metingen"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Grafiek"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min</i>"
+
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Max</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "seconde(n)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minu(u)t(en)"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Tussenpoze voor bijwerken van meting:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Logboeken bijhouden inschakelen voor sensoren"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Tussenpoze voor bijhouden van logboeken voor sensoren:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "seconden(s)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr "Script dat wordt uitgevoerd wanneer er een alarm plaatsvindt:"
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Sensoren"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Sensorvoorkeuren bewerken"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Naam"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Soort:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "N.v.t."
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Sensorinformatie"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Chip:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Naam:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Id:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Sensor-curve tekenen"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Kleur:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Alarm"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "Sensor tonen in het menu van de Toepassingsindicator"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Bureaubladmeldingen inschakelen"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Drempel voor hoog:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Drempel voor laag:"
 
-#: src/glade/sensor-edit.glade:397
-#, fuzzy
-msgid "Application Indicator"
-msgstr "Ubuntu Toepassingsindicator"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarm"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Sensor tonen in het menu van de Toepassingsindicator"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 #, fuzzy
 msgid "Display sensor in the label (experimental)"
 msgstr "Sensor tonen in het menu van de Toepassingsindicator"
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+#, fuzzy
+msgid "Application Indicator"
+msgstr "Ubuntu Toepassingsindicator"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: kan ADL-bibliotheekbestand niet vinden"
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: ontbrekende ADL's API."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: kon ADL niet initialiseren."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: kan het aantal videokaarten niet bepalen."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr "Aantal AMD/ATI-videokaarten: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr "Aantal actieve AMD/ATI-videokaarten: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
-#, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
+#: src/lib/hdd_atasmart.c:141
+#, fuzzy, c-format
+msgid "%s: sk_disk_open() failure: %s."
 msgstr "atasmart: sk_disk_open() mislukking: %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: kon contactpunt niet openen."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: kon contactpunt niet openen."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: kon verbinding niet openen."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: kon verbinding niet openen."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: verkeerde tekenreeks: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: verkeerde tekenreeks: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: kan waarde van subfunctie %s niet bepalen: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: kan waarde van subfunctie %s niet bepalen: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create failure: verkeerd functietype."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: verkeerd functietype."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: opstartfout: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: opstartfout: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Kan logboekbestand niet openen: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
-"Het niet-vrije Nvidia-stuurprogramma wordt niet gebruikt of het kan de "
-"temperatuur van de grafische Nvidia-chip niet bepalen."
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Kon Nvidia-informatie niet ophalen."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Kan verbinding met X11-server niet openen."
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Kon Nvidia-informatie niet ophalen."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr "Kon Nvidia-informatie niet ophalen."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Kan verbinding met X11-server niet openen."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Kon Nvidia-informatie niet ophalen."
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
+msgstr "Kon Nvidia-informatie niet ophalen."
+
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "Variabele voor HOME niet ingesteld."
 
@@ -405,7 +543,7 @@ msgstr "Logboekbestand van sensor niet geopend."
 msgid "Sensor log not open, cannot close."
 msgstr "Logboekbestand van sensor niet geopend, kan niet sluiten."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -420,12 +558,12 @@ msgstr ""
 "Dit is vrije programmatuur: u mag hem wijzigen en doorgeven.\n"
 "Er zit geen garantie op, voor zover de wet dat toestaat.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Gebruik: %s [OPTIE]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -433,11 +571,11 @@ msgstr ""
 "Psensor is een GTK+ toepassing voor het bewaken van apparatuursensoren, "
 "inclusief temperaturen en ventilatorsnelheden."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Opties:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -445,7 +583,7 @@ msgstr ""
 "  -h, --help          toon deze hulpinformatie en sluit af\n"
 "  -v, --version       toon versie-informatie en sluit af"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -453,15 +591,6 @@ msgstr ""
 "  -u, --url=URL       het webadres van de psensor-server,\n"
 "                      voorbeeld: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   gebruik atasmart-bibiotheekbestand voor "
-"schijfbewaking\n"
-"               i.p.v. hddtemp-achtergronddienst"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -472,34 +601,46 @@ msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL   stel het foutopsporingsniveau in, integer tussen 0 en 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Meld fouten aan: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Webpagina van %s: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr ""
 "Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Schakelt foutopsporingsmodus in."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Probeer '%s --help' voor meer informatie.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Er bestaat reeds een instantie van Psensor."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Kon geen webserver maken."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Pjotr12345 https://launchpad.net/~computertip"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -515,25 +656,25 @@ msgstr "Ongeldige inhoud: %s"
 msgid "Invalid JSON: %s"
 msgstr "Ongeldige JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>Stilzetting van server verzocht</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Pagina niet gevonden - ga naar <a href='/'>Hoofdpagina</a></"
 "p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server is een HTTP-server voor het bewaken van apparatuursensoren op "
 "afstand."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -541,7 +682,7 @@ msgstr ""
 "  -h, --help\t\ttoon deze hulptekst en sluit af\n"
 "  -v, --version\t\ttoon versie-infomatie en sluit af"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -549,110 +690,91 @@ msgstr ""
 "  -p,--port=PORT\twebserverpoort\n"
 "  -w,--wdir=DIR\t\tmap die webserverpagina's bevat"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL     stel het foutopsporingsniveau in, integer tussen 0 "
 "en 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH   stel het logboekbestand in op PATH"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=PATH stel het sensorlogboekbestand in op PATH"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S stel de tussenpoze voor het sensorlogboek in op S "
 "(seconden)"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP-verzoek: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Schakelt foutopsporingsmodus in: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Geen sensoren bespeurd."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Kon geen webserver maken."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Webserver gestart op poort: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW-map: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "Psensor is een GTK+ toepassing voor het bewaken van apparatuursensoren"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Auteursrecht(c) 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Auteursrecht(c) 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Over Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Thuispagina van Psensor"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Kon pictogram van Psensor niet laden."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Kies voorgrondkleur"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Sensor"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Waarde"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Min"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Max"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Kleur"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Kies voorgrondkleur"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -663,9 +785,20 @@ msgid "Temperature alert"
 msgstr "Temperatuurwaarschuwing"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Ventilatorwaarschuwing"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Onbekend"
+
+#~ msgid "Sensor Information"
+#~ msgstr "Sensorinformatie"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "Het niet-vrije Nvidia-stuurprogramma wordt niet gebruikt of het kan de "
+#~ "temperatuur van de grafische Nvidia-chip niet bepalen."
index f1f02ab..1a3572a 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,12 +17,27 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: src/cfg.c:510
+#, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr ""
+
+#: src/cfg.c:557
+#, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr ""
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr ""
+
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr ""
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr ""
 
@@ -39,18 +54,43 @@ msgstr ""
 msgid "Show"
 msgstr ""
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr ""
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr ""
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr ""
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr ""
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr ""
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr ""
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr ""
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr ""
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr ""
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -72,285 +112,367 @@ msgstr ""
 msgid "Edit Preferences"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
+#: src/glade/psensor-pref.glade:500
+msgid "Colors"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
+#: src/glade/psensor-pref.glade:521
+msgid "Monitoring duration:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:530
-msgid "Colors"
+#: src/glade/psensor-pref.glade:539
+msgid "Update interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:548
-msgid "Monitoring duration:"
+#: src/glade/psensor-pref.glade:557
+msgid "Measures"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
 msgid "second(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:637
-msgid "Update interval:"
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:655
-msgid "Measures"
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr ""
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
 msgstr ""
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr ""
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr ""
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr ""
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr ""
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
+msgid "%s: sk_disk_open() failure: %s."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
+msgid "%s: wrong string: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
 msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
+msgid "%s: initialization failure: %s."
+msgstr ""
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
 msgstr ""
 
 #: src/lib/plog.c:43
@@ -358,28 +480,45 @@ msgstr ""
 msgid "Cannot open log file: %s"
 msgstr ""
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
+#: src/lib/nvidia.c:58
+#, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr ""
+
+#: src/lib/nvidia.c:63
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr ""
+
+#: src/lib/nvidia.c:226
+#, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr ""
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
 msgstr ""
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr ""
+
+#: src/lib/nvidia.c:370
+#, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr ""
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr ""
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr ""
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr ""
 
@@ -400,7 +539,7 @@ msgstr ""
 msgid "Sensor log not open, cannot close."
 msgstr ""
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -410,39 +549,33 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr ""
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
 msgstr ""
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr ""
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
 msgstr ""
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
 msgstr ""
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -451,33 +584,41 @@ msgstr ""
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr ""
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr ""
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr ""
 
+#: src/main.c:631
+msgid "Failed to create thread for monitoring sensors"
+msgstr ""
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -493,129 +634,111 @@ msgstr ""
 msgid "Invalid JSON: %s"
 msgstr ""
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr ""
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
 msgstr ""
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
 msgstr ""
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr ""
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr ""
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr ""
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr ""
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr ""
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr ""
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr ""
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr ""
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr ""
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr ""
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr ""
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr ""
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr ""
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr ""
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr ""
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr ""
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
 msgstr ""
 
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr ""
-
-#: src/ui_sensorlist.c:322
-msgid "Color"
+#: src/ui_sensorlist.c:296
+msgid "Select sensor color"
 msgstr ""
 
 #: src/ui_notify.c:48
@@ -627,9 +750,9 @@ msgid "Temperature alert"
 msgstr ""
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+msgid "Fan speed alert"
 msgstr ""
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr ""
index 725ab3a..ee09299 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 72a05bc..bdc142a 100644 (file)
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2013-09-01 18:54+0000\n"
-"Last-Translator: Celio Alves <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-11 21:22+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Brazilian Portuguese\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-10-18 06:32+0000\n"
-"X-Generator: Launchpad (build 16799)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Falhou ao criar servidor web."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Falhou ao criar servidor web."
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr ""
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Sobre"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Preferências"
 
@@ -40,18 +55,43 @@ msgstr "Sair"
 msgid "Show"
 msgstr "Mostrar"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - Monitor de temperatura"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "Ajuda"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Sensor"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Valor"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Min"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Max"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Cor"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Grafo"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,314 +113,413 @@ msgstr ""
 msgid "Edit Preferences"
 msgstr "Editar Preferências"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Ocultar decoração da janela"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Manter janela abaixo"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Habilitar menu"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Unidade de temperatura:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Posição da tabela de sensores:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Interface"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Ocultar janela na inicialização"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Restaurar posição e tamanho da janela"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Primeiro plano:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Plano de fundo:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Opacidade do plano de fundo:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Min</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Max</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Cores"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Duração do monitoramento:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "minuto(s)"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "segundo(s)"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Intervalo de atualização:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Medidas"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Grafo"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Max</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "segundo(s)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minuto(s)"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Intervalo de atualização das medições:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Habilitar registro (log) de sensores"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Intervalo de registro dos sensores:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "segundo(s)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Sensores"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Editar preferências do sensor"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Nome"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Tipo:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "N/D"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Informações do sensor"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Chip:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Nome:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "ID:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Desenhar curva do sensor"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Cor:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Alarme"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
+msgstr ""
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Ativar notificações de desktop"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Limite superior:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Limite inferior:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr ""
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarme"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
 msgstr ""
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: não foi possível encontrar a biblioteca ADL."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: está faltando a API da ADL."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: falha ao iniciar ADL."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: não foi possível obter número de adaptadores."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr "Número de adaptadores AMD/ATI: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr "Número de adaptadores AMD/ATI ativos: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart: falha em sk_disk_open(): %s."
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: falha em sk_disk_open(): %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr ""
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: falha em abrir conexão."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: falha em abrir conexão."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: falha em abrir conexão."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
+msgid "%s: wrong string: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: não foi possível obter valor do sub-recurso %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: não foi possível obter valor do sub-recurso %s: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
 msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: falha na inicialização: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: falha na inicialização: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Não é possível abrir arquivo de log: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Falha ao recuperar informações de NVIDIA."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Não é possível abrir conexão com o servidor X11."
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Falha ao recuperar informações de NVIDIA."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr "Falha ao recuperar informações de NVIDIA."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Não é possível abrir conexão com o servidor X11."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Falha ao recuperar informações de NVIDIA."
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
+msgstr "Falha ao recuperar informações de NVIDIA."
+
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "Variável HOME não configurada."
 
@@ -401,7 +540,7 @@ msgstr "Arquivo de registros do sensor não foi aberto."
 msgid "Sensor log not open, cannot close."
 msgstr ""
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -411,12 +550,12 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Uso: %s [OPÇÃO]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -424,11 +563,11 @@ msgstr ""
 "Psensor é um aplicativo GTK+ para monitoramento de sensores de hardware, "
 "incluindo temperatura e velocidade de ventoinhas."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Opções:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -436,7 +575,7 @@ msgstr ""
 "  -h, --help          exibir esta ajuda e sair\n"
 "  -v, --version       exibir informação de versão e sair"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -444,12 +583,6 @@ msgstr ""
 "  -u, --url=URL       a URL  do psensor-server,\n"
 "                      exemplo: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -458,33 +591,48 @@ msgstr ""
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Relatar falhas para: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Página inicial de %s: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr ""
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Ativar o modo de depuração"
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Utilize `%s --help' para mais informações.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Uma instancia de Psensor já existe."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Falhou ao criar servidor web."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Celio Alves https://launchpad.net/~celio.alves\n"
+"  Daniel Serafim https://launchpad.net/~daniel-serafim\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  MestreLion https://launchpad.net/~mestrelion\n"
+"  Rafael Neri https://launchpad.net/~rafepel"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -500,136 +648,117 @@ msgstr "Conteúdo inválido: %s"
 msgid "Invalid JSON: %s"
 msgstr "JSON inválido: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr ""
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Página não encontrada - Ir para a <a href='/'>página inicial</"
 "a></p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server é um servidor HTTP para monitoramento remoto de sensores de "
 "hardware."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
 msgstr ""
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
 msgstr ""
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr ""
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "Requisição HTTP: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Habilita modo de depuração: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Nenhum sensor detectado"
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Falhou ao criar servidor web."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Servidor web iniciado na porta: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "Diretório WWW: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr ""
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "Psensor é uma aplicação GTK+ para monitorar sensores de hardware"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Sobre o Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Site do Psensor"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Falha ao carregar o ícone do Psensor."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Selecionar cor do primeiro plano"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Sensor"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Valor"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Min"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Max"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Cor"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Selecionar cor do primeiro plano"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -640,9 +769,13 @@ msgid "Temperature alert"
 msgstr "Alerta de temperatura"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Alenta do ventilador"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Desconhecido"
+
+#~ msgid "Sensor Information"
+#~ msgstr "Informações do sensor"
index 3da0d82..019e38c 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index c5df1e2..dbbd180 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,23 +8,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2014-05-20 05:14+0000\n"
-"Last-Translator: Dmitry Serov <dmitri.s93@gmail.com>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-11 21:23+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Russian\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-02 08:08+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Не удалось создать веб-сервер."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Не удалось включить журналирование датчиков."
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Не удалось включить журналирование датчиков."
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "О программе"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Параметры"
 
@@ -41,18 +56,43 @@ msgstr "Выход"
 msgid "Show"
 msgstr "Показать"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - монитор температуры"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr ""
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Справка"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Датчик"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Значение"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Мин."
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Макс."
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Цвет"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Диаграмма"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -74,314 +114,414 @@ msgstr ""
 msgid "Edit Preferences"
 msgstr "Изменить параметры"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Спрятать рамку окна"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Держать окно позади"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Включить меню"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Включить счётчик в панеле запуска Unity"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Единица измерения температуры:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Положение таблицы датчиков:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Внешний вид"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Скрыть окно при запуске"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Восстанавливать положение и размер окна"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Передний план:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Фон:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Непрозрачность фона:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Мин.</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Макс.</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Цвета"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Время мониторинга:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "мин."
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "сек."
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Интервал обновления:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Замеры"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Диаграмма"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Мин.</i>"
+
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Макс.</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "сек."
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "мин."
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Интервал обновления замеров:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Вести журнал событий датчиков"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Интервал ведения журнала событий датчиков:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "секунд(с)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Датчики"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Изменить параметры датчика"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Название"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Тип:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "Н/Д"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Информация датчика"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Микросхема:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Название:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Идентификатор:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Рисовать график датчика"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Цвет:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Уведомление"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "Показать датчик в индикаторе меню приложений"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Включить уведомления"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Высший порог:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Нижний порог:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr "Ð\98ндикаÑ\82оÑ\80 Ð¿Ñ\80иложениÑ\8f"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Уведомление"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Показать датчик в индикаторе меню приложений"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Индикатор приложения"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: библиотека ADL не найдена."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: отсутствует API ADL."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: не удалось инициализировать ADL."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: ошибка определения количества адаптеров."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
-#, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
+#: src/lib/hdd_atasmart.c:141
+#, fuzzy, c-format
+msgid "%s: sk_disk_open() failure: %s."
 msgstr "atasmart: ошибка sk_disk_open(): %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: не удалось открыть сокет."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: не удалось открыть сокет."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: не удалось открыть соединение."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: не удалось открыть соединение."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: неправильная строка: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: неправильная строка: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
 msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
-#, c-format
-msgid "lmsensor: initialization failure: %s."
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
+#, fuzzy, c-format
+msgid "%s: initialization failure: %s."
 msgstr "lmsensor: ошибка инициализации: %s."
 
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
+
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Ошибка открытия файла журнала: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Не удалось получить информацию NVIDIA."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Ошибка открытия соединения к серверу X11."
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Не удалось получить информацию NVIDIA."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr "Не удалось получить информацию NVIDIA."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Ошибка открытия соединения к серверу X11."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Не удалось получить информацию NVIDIA."
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
+msgstr "Не удалось получить информацию NVIDIA."
+
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "об/мин"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "Переменная HOME не установлена."
 
@@ -402,7 +542,7 @@ msgstr "Файл журнала датчика не открыт."
 msgid "Sensor log not open, cannot close."
 msgstr "Файл журнала датчика не открыт, не удалось закрыть."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -412,12 +552,12 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Использование: %s [КЛЮЧ]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -425,11 +565,11 @@ msgstr ""
 "Psensor — это GTK+ приложение для мониторинга аппаратных датчиков, включая "
 "температуру и скорость вентилятора."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Опции:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -437,21 +577,13 @@ msgstr ""
 "  -h, --help          показать эту справку и выйти\n"
 "  -v, --version      показать версию и выйти"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
 msgstr ""
 "  -u, --url=URL       URL psensor-сервера, пример: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   использовать библиотеку atasmart для мониторинга "
-"дисков вместо демона hddtemp"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -461,33 +593,47 @@ msgstr ""
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr "  -d, --debug=УРОВЕНЬ   установить уровень отладки, целое между 0 и 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Сообщайте об ошибках на: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s домашняя страница: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor не был собран с поддержкой удалённых датчиков."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Включает режим отладки."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Попробуйте `%s --help' для дополнительной информации.↵\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Копия Psensor уже запущена."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Не удалось создать веб-сервер."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Dmitry Serov https://launchpad.net/~dmitri-s93\n"
+"  Eugene Marshal https://launchpad.net/~lowrider\n"
+"  Ilya Volchanetskiy https://launchpad.net/~volchanetskiy\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -503,25 +649,25 @@ msgstr "Неправильное содержимое: %s"
 msgid "Invalid JSON: %s"
 msgstr "Неправильный JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>Запрошена остановка сервера</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Страница не найдена - Перейти к <a href='/'>Главной странице</"
 "a></p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server ‌— это HTTP-сервер для удалённого мониторинга аппаратных "
 "датчиков."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -529,7 +675,7 @@ msgstr ""
 "  -h, --help\t\tпоказать эту справку и выйти\n"
 "  -v, --version\t\tпоказать версию и выйти"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -537,106 +683,89 @@ msgstr ""
 "  -p,--port=PORT\tпорт веб-сервера\n"
 "  -w,--wdir=DIR\t\tдиректория для страниц веб-сервера"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr "  -d, --debug=LEVEL   установить уровень отладки, целое между 0 и 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=ПУТЬ   установить ПУТЬ к файлу журнала"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=ПУТЬ установить ПУТЬ к файлу журнала датчика"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=ПЕРИОД установить ПЕРИОД журналирования датчиков (в "
 "секундах)"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP запрос: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Включает режим отладки: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Датчики не обнаружены."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Не удалось создать веб-сервер."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Веб-сервер запущен на порту: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW-каталог: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Не удалось включить журналирование датчиков."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
-msgstr "Psensor — это  GTK+ приложения для мониторинга аппаратных серсоров"
+msgstr "Psensor — это  GTK+ приложения для мониторинга аппаратных сенсоров"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "О Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Домашняя страница Psensor"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Не удалось загрузить значок Psensor."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Выберите цвет переднего плана"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Датчик"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Значение"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Мин."
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Макс."
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Цвет"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Выберите цвет переднего плана"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -647,9 +776,13 @@ msgid "Temperature alert"
 msgstr "Уведомление температуры"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Уведомление вентилятора"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr ""
+
+#~ msgid "Sensor Information"
+#~ msgstr "Информация датчика"
index 22830de..bc73c76 100644 (file)
Binary files a/po/sl.gmo and b/po/sl.gmo differ
index 396987d..ea57a87 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2012-04-14 21:02+0000\n"
-"Last-Translator: Jean-Philippe Orsini <jeanfi@gmail.com>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-11 21:22+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
 "Language: sl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-02 08:28+0000\n"
-"X-Generator: Launchpad (build 15520)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr ""
+
+#: src/cfg.c:557
+#, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr ""
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr ""
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr ""
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr ""
 
@@ -40,18 +55,43 @@ msgstr ""
 msgid "Show"
 msgstr ""
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr ""
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr ""
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr ""
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr ""
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr ""
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr ""
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr ""
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr ""
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr ""
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,285 +113,367 @@ msgstr ""
 msgid "Edit Preferences"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
+#: src/glade/psensor-pref.glade:500
+msgid "Colors"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
+#: src/glade/psensor-pref.glade:521
+msgid "Monitoring duration:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:530
-msgid "Colors"
+#: src/glade/psensor-pref.glade:539
+msgid "Update interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:548
-msgid "Monitoring duration:"
+#: src/glade/psensor-pref.glade:557
+msgid "Measures"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
 msgid "second(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:637
-msgid "Update interval:"
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:655
-msgid "Measures"
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr ""
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
 msgstr ""
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr ""
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr ""
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr ""
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr ""
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
+msgid "%s: sk_disk_open() failure: %s."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
+msgid "%s: wrong string: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
 msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
+msgid "%s: initialization failure: %s."
+msgstr ""
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
 msgstr ""
 
 #: src/lib/plog.c:43
@@ -359,28 +481,45 @@ msgstr ""
 msgid "Cannot open log file: %s"
 msgstr ""
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
+#: src/lib/nvidia.c:58
+#, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr ""
+
+#: src/lib/nvidia.c:63
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr ""
+
+#: src/lib/nvidia.c:226
+#, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr ""
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
 msgstr ""
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr ""
+
+#: src/lib/nvidia.c:370
+#, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr ""
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr ""
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr ""
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr ""
 
@@ -401,7 +540,7 @@ msgstr ""
 msgid "Sensor log not open, cannot close."
 msgstr ""
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -411,39 +550,33 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr ""
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
 msgstr ""
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr ""
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
 msgstr ""
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
 msgstr ""
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -452,33 +585,44 @@ msgstr ""
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr ""
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr ""
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr ""
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr ""
 
+#: src/main.c:631
+msgid "Failed to create thread for monitoring sensors"
+msgstr ""
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Sasa Batistic https://launchpad.net/~sasa-batistic"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -494,129 +638,111 @@ msgstr ""
 msgid "Invalid JSON: %s"
 msgstr ""
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr ""
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
 msgstr ""
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
 msgstr ""
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr ""
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr ""
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr ""
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr ""
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr ""
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr ""
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr ""
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr ""
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr ""
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr ""
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr ""
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr ""
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr ""
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr ""
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr ""
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr ""
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
 msgstr ""
 
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr ""
-
-#: src/ui_sensorlist.c:322
-msgid "Color"
+#: src/ui_sensorlist.c:296
+msgid "Select sensor color"
 msgstr ""
 
 #: src/ui_notify.c:48
@@ -628,9 +754,9 @@ msgid "Temperature alert"
 msgstr ""
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+msgid "Fan speed alert"
 msgstr ""
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr ""
index 66c9da6..73c3083 100644 (file)
Binary files a/po/sr.gmo and b/po/sr.gmo differ
index 347465f..6402415 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2012-05-03 02:31+0000\n"
-"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-11 21:25+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Serbian <sr@li.org>\n"
 "Language: sr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-02 08:28+0000\n"
-"X-Generator: Launchpad (build 15520)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr ""
+
+#: src/cfg.c:557
+#, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr ""
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr ""
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "О програму"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Поставке"
 
@@ -40,18 +55,43 @@ msgstr "Изађи"
 msgid "Show"
 msgstr ""
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr ""
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr ""
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr ""
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Сензор"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr ""
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Најмање"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Највише"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "У боји"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr ""
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,285 +113,367 @@ msgstr ""
 msgid "Edit Preferences"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Укључено"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
+#: src/glade/psensor-pref.glade:500
+msgid "Colors"
+msgstr "У боји"
+
+#: src/glade/psensor-pref.glade:521
+msgid "Monitoring duration:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
+#: src/glade/psensor-pref.glade:539
+msgid "Update interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:530
-msgid "Colors"
-msgstr "У боји"
+#: src/glade/psensor-pref.glade:557
+msgid "Measures"
+msgstr ""
 
-#: src/glade/psensor-pref.glade:548
-msgid "Monitoring duration:"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
 msgid "second(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:637
-msgid "Update interval:"
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:655
-msgid "Measures"
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Сензор"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "Недоступно"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr ""
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
 msgstr ""
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr ""
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr ""
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr ""
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr ""
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
+msgid "%s: sk_disk_open() failure: %s."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
 msgstr ""
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
+msgid "%s: wrong string: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
 msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
+msgid "%s: initialization failure: %s."
+msgstr ""
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
 msgstr ""
 
 #: src/lib/plog.c:43
@@ -359,28 +481,45 @@ msgstr ""
 msgid "Cannot open log file: %s"
 msgstr ""
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
+#: src/lib/nvidia.c:58
+#, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr ""
+
+#: src/lib/nvidia.c:63
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr ""
+
+#: src/lib/nvidia.c:226
+#, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr ""
+
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
 msgstr ""
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
 msgstr ""
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:370
+#, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr ""
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr ""
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr ""
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr ""
 
@@ -401,7 +540,7 @@ msgstr ""
 msgid "Sensor log not open, cannot close."
 msgstr ""
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -411,39 +550,33 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Употреба: %s [ОПЦИЈА]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
 msgstr ""
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Опције:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
 msgstr ""
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
 msgstr ""
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -452,33 +585,44 @@ msgstr ""
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Пријавите грешку на: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s матична страна: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr ""
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr ""
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Покушајте„%s --help“ за више информација.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr ""
 
+#: src/main.c:631
+msgid "Failed to create thread for monitoring sensors"
+msgstr ""
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Мирослав Николић https://launchpad.net/~lipek"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -494,130 +638,113 @@ msgstr ""
 msgid "Invalid JSON: %s"
 msgstr ""
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr ""
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
 msgstr ""
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
 msgstr ""
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr ""
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr ""
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr ""
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr ""
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr ""
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr ""
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr ""
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr ""
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr ""
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr ""
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "О Псензору"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Матична страница Псензора"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr ""
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Одаберите боју текста"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Сензор"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
 msgstr ""
 
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Најмање"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Највише"
-
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "У боји"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Одаберите боју текста"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -628,10 +755,10 @@ msgid "Temperature alert"
 msgstr ""
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+msgid "Fan speed alert"
 msgstr ""
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr ""
 
index d4cc6ab..3b239f7 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index b518b16..00f17a4 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,24 +9,39 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 1.0.0.0\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2014-06-03 15:21+0000\n"
-"Last-Translator: Josef Andersson <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:26+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Swedish\n"
 "Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-14 08:04+0000\n"
-"X-Generator: Launchpad (build 17045)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: src/cfg.c:510
+#, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Misslyckades med att skapa katalogen %s: %s"
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Misslyckades med att tolka konfigurationsfilen: %s"
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Misslyckades med att spara konfigurationsfilen %s."
+
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Om"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Inställningar"
 
@@ -43,18 +58,43 @@ msgstr "Avsluta"
 msgid "Show"
 msgstr "Visa"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - Temperaturövervakare"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Hjälp"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Sensor"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Värde"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Min"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Max"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Färg"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Graf"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -76,316 +116,414 @@ msgstr "Botten"
 msgid "Edit Preferences"
 msgstr "Redigera inställningar"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Göm fönsterdekoration"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Håll fönster under"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Aktivera meny"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Aktivera räknare för Unity-programstartare"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr "Celsius"
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr "Fahrenheit"
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Temperaturenhet:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Sensortabellens position:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Gränssnitt"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr "Starta vid sessionsuppstart"
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Göm fönster vid uppstart"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Återställ fönsterposition och storlek"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr "Uppstart"
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Förgrund:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Bakgrund:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Bakgrundsgenomskinlighet:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Min</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Max</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Färger"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Övervakningstid:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "minut(er)"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "sekund(er)"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Uppdateringsintervall:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Mätningar"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Graf"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Min</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Max</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "sekund(er)"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "minut(er)"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Uppdateringsintervall för mätning:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Aktivera sensorlogging"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Loggintervall för sensor:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "sekund(er)"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr "Skript att köra vid alarm:"
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Sensorer"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Redigera sensorinställningar"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Namn"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Typ:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "Ej tillgänglig"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Sensorinformation"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Chip:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Namn:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Id:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Rita sensorkurva"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Färg:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Alarm"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "Visa sensor i meny"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Aktivera skrivbordsnotifiering"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Högt tröskelvärde:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr "-1"
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Lågt tröskelvärde:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr "Programindikator"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarm"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Visa sensor i meny"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr "Visa sensor i etiketten (experimentell)"
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Programindikator"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: kan inte hitta ADL-bibliotek."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: saknar ADL API."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: misslyckades med att initialisera ADL."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: kan inte hämta antal adaptrar."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr "Antal AMD/ATI-adaptrar: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr "Antal aktiva AMD/ATI-adaptrar: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr "CPU"
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr "Disk"
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart: sk_disk_open()-fel: %s."
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: sk_disk_open()-fel: %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: misslyckades med att öppna uttag."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: misslyckades med att öppna uttag."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: misslyckades med att öppna anslutning."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: misslyckades med att öppna anslutning."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: fel sträng: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: fel sträng: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: kan inte hämta värdet för underegenskap %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: kan inte hämta värdet för underegenskap %s: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create fel: fel egenskapstyp."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: fel egenskapstyp."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr "Intel CPU"
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr "AMD CPU"
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr "NVIDIA GPU"
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr "VIA CPU"
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: initialiseringsfel: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: initialiseringsfel: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr "CPU"
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Kan inte öppna loggfil: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
-"Proprietär NVIDIA-drivrutin ej använd, eller kan inte hämta NVIDIA GPU-"
-"temperatur."
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Misslyckades med att hämta NVIDIA-information."
+
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Misslyckades med att hämta NVIDIA-information."
+
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "Misslyckades med att hämta NVIDIA-information."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Kan inte öppna anslutning till X11-server."
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Kan inte öppna anslutning till X11-server."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Misslyckades med att hämta NVIDIA-information."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr "Misslyckades med att hämta NVIDIA-information."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "HOME-variabel inte inställd."
 
@@ -406,7 +544,7 @@ msgstr "Sensorloggfil ej öppen."
 msgid "Sensor log not open, cannot close."
 msgstr "Sensorloggfil ej öppen, kan inte stänga."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -421,12 +559,12 @@ msgstr ""
 "Det här är fri programvara: Du kan fritt modifiera den och distribuera den\n"
 "Det finns INGEN GARANTI i den omfattning som medges av gällande lag.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Användning: %s [FLAGGA]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -434,11 +572,11 @@ msgstr ""
 "Psensor är ett GTK+-program för att övervaka hårdvarusensorer, inklusive "
 "temperaturer och fläkthastigheter."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Alternativ:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -446,7 +584,7 @@ msgstr ""
 "  -h, --help          visa denna hjälp och avsluta\n"
 "  -v, --version      visa versionsinformation och avsluta"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -454,15 +592,6 @@ msgstr ""
 "  -u, --url=URL       URL för psensor-server,\n"
 "                      exempelvis: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   använd atasmart-biblioteket för diskövervakning "
-"istället för\n"
-"                      hddtemp-demon"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr "  -n, --new-instance  tvinga fram att skapa ett nytt Psensor-program"
@@ -472,33 +601,45 @@ msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL   ställ in felsökningsnivå, heltal mellan nivå 0 och 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Rapportera fel till: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s webbplats <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor har inte kompilerats med fjärrsensorstöd."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
-msgstr "Aktiverar felsökningsläge."
+msgstr "Aktivera felsökningsläge."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Prova`%s --help' för mer information.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Det finns redan en Psensor-instans."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Misslyckades med att skapa katalogen %s: %s"
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Josef Andersson https://launchpad.net/~northar"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -514,24 +655,24 @@ msgstr "Ogiltigt innehåll: %s"
 msgid "Invalid JSON: %s"
 msgstr "Ogiltig JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>Begärde serverstopp</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Hittade inte sida - Gå till <a href='/'>Huvudsida</a></p></"
 "body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server är en HTTP-server för att fjärrövervaka hårdvarusensorer."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -539,7 +680,7 @@ msgstr ""
 "  -h, --help\t\tvisa denna hjälp och avsluta\n"
 "  -v, --version\t\tvisa versionsinformation och avsluta"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -547,107 +688,91 @@ msgstr ""
 "  -p,--port=PORT\twebbserverport\n"
 "  -w,--wdir=DIR\t\tkatalog som innehåller webbserversidor"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr "  -d, --debug=LEVEL     ställ in felsökningnivån mellan 0 and 3"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH   ställ in loggfilen till PATH"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=PATH ställ in loggfil för sensor till PATH"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S ställ in loggintervall för sensor till S (sekunder)"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP-begäran: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Aktiverar felsökningsläge: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Inga sensorer hittades."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Misslyckades med att skapa webbserver."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Webbserver startade på port: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW-katalog: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Misslyckades med att aktivera sensorloggning."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "Psensor är ett GTK+-program för att övervaka hårdvarusensorer"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+#, fuzzy
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 "Copyright(c) 2010-2014\n"
 "jeanfi@gmail.com"
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Om Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Psensor-webbplats"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Misslyckades med att läsa in Psensor-ikon."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Välj förgrundsfärg"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Sensor"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Värde"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Min"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Max"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Färg"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Välj förgrundsfärg"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -658,9 +783,17 @@ msgid "Temperature alert"
 msgstr "Temperaturlarm"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Fläktlarm"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Okänd"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "Proprietär NVIDIA-drivrutin ej använd, eller kan inte hämta NVIDIA GPU-"
+#~ "temperatur."
index 6c3dc45..dd3b3f4 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index 7a1d690..0782e41 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2013-11-24 08:42+0000\n"
-"Last-Translator: İbrahim Çelik <ibrahimcelik89@gmail.com>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-20 11:27+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-02-11 20:01+0000\n"
-"X-Generator: Launchpad (build 16916)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Web sunucusu oluşturulamadı."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi."
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi."
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Hakkında"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Tercihler"
 
@@ -40,18 +55,43 @@ msgstr "Çıkış"
 msgid "Show"
 msgstr "Göster"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - Sıcaklık Gözlemleyici"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr "_Psensor"
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Yardım"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Algılayıcı"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Değer"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Asgari"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Azami"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Renk"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Grafik"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,317 +113,415 @@ msgstr "Alt"
 msgid "Edit Preferences"
 msgstr "Tercihleri Düzenle"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Pencere çubuğunu gizle"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Pencereyi aşağıda tut"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Menüyü etkinleştir"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Unity Başlatıcı sayacını etkinleştir"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
-msgstr ""
+msgstr "Celsius"
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr "Fahrenhayt"
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Sıcaklık birimi:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Gözlemleyici tablosunun konumu:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Arayüz"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
-msgstr ""
+msgstr "Oturum başlangıcında başlat"
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Başlangıçta pencereyi gizle"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Pencere konumunu ve boyutunu yeniden yükle"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
-msgstr ""
+msgstr "Başlangıç"
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Önplan:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Arkaplan:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Arkaplan saydamlığı:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Asgari</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Azami</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Renk"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Gözlemleme süresi:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "dakika"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "saniye"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Güncelleme aralığı:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Ölçümler"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Grafik"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Asgari</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Azami</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "saniye"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "dakika"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Ölçüm güncelleştirme aralığı:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "Algılayıcı günlük kaydını etkinleştir"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr "Algılayıcı günlük kaydı aralığı:"
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "saniye"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr "Alarm çaldığında betik çalıştırılır:"
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Algılayıcılar"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Algılayıcı Tercihlerini Düzenle"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr "Ad"
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Tür:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "Bilinmeyen"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Algılayıcı Bilgisi"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "Yonga:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "İsim:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Kimlik:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Algılayıcı eğrisini çiz"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Renk :"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Alarm"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "Algılayıcıları menüde göster"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Masaüstü bildirimlerini etkinleştir"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Yüksek eşik:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr "-1"
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Düşük eşik:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr "Uygulama Göstergesi"
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Alarm"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "Algılayıcıları menüde göster"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 #, fuzzy
 msgid "Display sensor in the label (experimental)"
-msgstr "Algılayıcıyı Uygulama Göstergesi menüsünde göster"
+msgstr "Etikette algılayıcı göster (deneysel)"
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
-msgstr ""
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
+msgstr "Uygulama Göstergesi"
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD:  ADL kütüphanesi bulunamadı."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: ADL'nin API'sı kayıp."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: ADL başlatılamadı."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: bağdaştırıcıların sayısı alınamadı."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr "AMD/ATI bağdaştırıcı sayısı: %d"
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr "Etkin AMD/ATI bağdaştırıcı sayısı: %d"
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
-msgstr ""
+msgstr "Disk"
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart: sk_disk_open() hatası: %s."
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s: sk_disk_open() hatası: %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: yuva açılamadı"
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: yuva açılamadı"
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: bağlantı açılamadı."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: bağlantı açılamadı."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: yanlış dizi: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: yanlış dizi: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor: %s alt özelliğinin değeri alınamıyor: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s: %s alt özelliğinin değeri alınamıyor: %s."
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor: lmsensor_psensor_create hatası: yanlış özellik tipi."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr "%s: yanlış özellik tipi."
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
-msgstr ""
+msgstr "İntel işlemci"
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
-msgstr ""
+msgstr "AMD işlemci"
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
-msgstr ""
+msgstr "NVIDIA Ekran Kartı"
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
+msgstr "VIA İşlemci"
+
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor: başlatma hatası: %s."
+msgid "%s: initialization failure: %s."
+msgstr "%s: başlatma hatası: %s."
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr "İşlemci"
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Günlükleme dosyası açılamadı: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
-"NVIDIA kapalı kaynak sürücüsü kullanılmıyor veya NVIDIA ekran kartı "
-"sıcaklığı alınamıyor."
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "NVIDIA bilgisi alınamıyor."
+
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "NVIDIA bilgisi alınamıyor."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "X11 sunucusu bağlantısı açılamıyor."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "NVIDIA bilgisi alınamıyor."
+
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: X11 sunucusu bağlantısı açılamıyor."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: NVIDIA bilgisi alınamıyor."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr "NVIDIA bilgisi alınamıyor."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "RPM"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "HOME değişkeni ayarlanmamış."
 
@@ -404,7 +542,7 @@ msgstr "Algılayıcı günlük kaydı dosyası açık değil."
 msgid "Sensor log not open, cannot close."
 msgstr "Algılayıcı günlük kaydı açık değil, kapatılamıyor."
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -419,12 +557,12 @@ msgstr ""
 "Bu bir özgür yazılımdır: değiştirmekte ve yeniden dağıtmakta özgürsünüz.\n"
 "Yasaların izin verdiği çerçevede hiçbir garantisi YOKTUR.\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Kullanım: %s [SEÇENEK]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
@@ -432,11 +570,11 @@ msgstr ""
 "Psensor, sıcaklık ve fan hızı da dahil olmak üzere donanım algılayıcılarını "
 "gözlemleyen bir GTK+ uygulamasıdır."
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Seçenekler:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -444,7 +582,7 @@ msgstr ""
 "  -h, --help          yardımı göster ve çık\n"
 "  -v, --version       sürüm bilgisini göster ve çık"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -452,14 +590,6 @@ msgstr ""
 "  -u, --url=URL       psensor sunucusunun bağlantısı,\n"
 "                      example: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   disk gözlemleme için hddtemp yerine bir atasmart\n"
-"                      kütüphanesi kullan"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr ""
@@ -470,33 +600,46 @@ msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL   hata ayıklama seviyesin ayarla, 0 ve 3 arasında tamsayı"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Hataları rapor et:%s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s ana sayfa: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Hata ayıklama modunu etkinleştirir."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Daha fazla bilgi için `%s --help' yazın.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "Bir Psensor örneği zaten mevcut."
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Web sunucusu oluşturulamadı."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  zeugma https://launchpad.net/~sunder67\n"
+"  İbrahim Çelik https://launchpad.net/~ibrahimcelik89"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -512,25 +655,25 @@ msgstr "Geçersiz içerik: %s"
 msgid "Invalid JSON: %s"
 msgstr "Geçersiz JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>Sunucu durdurma istendi</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Sayfa bulunamadı - Şuraya gidin <a href='/'>Main page</a></"
 "p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-sunucusu, donanım algılayıcılarını uzaktan gözlemleme amaçlı bir "
 "HTTP sunucusudur."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -538,7 +681,7 @@ msgstr ""
 "  -h, --help\t\tyardımı göster ve çık\n"
 "  -v, --version\t\tsürüm bilgisini göster ve çık"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -546,112 +689,93 @@ msgstr ""
 "  -p,--port=PORT\twebsunucu bağlantı noktası\n"
 "  -w,--wdir=DIR\t\tdizin websunucusu sayfaları içerir"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 "  -d, --debug=LEVEL     hata ayıklama seviyesini ayarla, 0 ve 3 arasında bir "
 "tamsayı"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH   günlük kaydı dosyasını PATH olarak ayarla"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 "  --sensor-log-file=PATH algılayıcı günlük kaydı dosyasını PATH olarak ayarla"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 "  --sensor-log-interval=S algılayıcı günlük kaydı aralığını S (saniye) "
 "olarak ayarla"
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP İsteği: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "Hata ayıklama modunu etkinleştirir: %d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Hiçbir algılayıcı bulunamadı."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Web sunucusu oluşturulamadı."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "Web sunucusu şu noktadan başlatıldı: %d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW dizini: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi."
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr ""
 "Psensor, donanım algılayıcılarının gözlenmesi amaçlı bir GTK+ uygulamasıdır"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
-msgstr ""
-"Telif Hakkı(c) 2010-2014\n"
-"jeanfi@gmail.com"
-
 #: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
+msgstr "Telif Hakkı(c) 2010-2014 jeanfi@gmail.com"
+
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Psensor Hakkında"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Psensor Anasayfası"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Psensor simgesi yüklenemedi."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Önplan rengini seçin"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Algılayıcı"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Değer"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Asgari"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Azami"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Renk"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Önplan rengini seçin"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -662,9 +786,26 @@ msgid "Temperature alert"
 msgstr "Sıcaklık uyarısı"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "Fan uyarısı"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "Bilinmeyen"
+
+#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#~ msgstr "lmsensor: lmsensor_psensor_create hatası: yanlış özellik tipi."
+
+#~ msgid "The configuration file does not exist."
+#~ msgstr "Yapılandırma dosyası mevcut değil."
+
+#~ msgid "Sensor Information"
+#~ msgstr "Algılayıcı Bilgisi"
+
+#~ msgid ""
+#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU "
+#~ "temperature."
+#~ msgstr ""
+#~ "NVIDIA kapalı kaynak sürücüsü kullanılmıyor veya NVIDIA ekran kartı "
+#~ "sıcaklığı alınamıyor."
index 0c29caf..1703cfe 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 761b599..fe88100 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2012-10-13 16:24+0000\n"
-"Last-Translator: Ilya Volchanetskiy <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-11 21:23+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Ukrainian <uk@li.org>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-01-21 09:32+0000\n"
-"X-Generator: Launchpad (build 16430)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "Не вдалося створити веб-сервер."
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "Не вдалося створити веб-сервер."
+
+#: src/cfg.c:580
+#, c-format
+msgid "Failed to save configuration file %s."
+msgstr ""
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "Про програму"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "Налаштування"
 
@@ -40,18 +55,43 @@ msgstr "Вихід"
 msgid "Show"
 msgstr "Показати"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr ""
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr ""
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "_Довдіка"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "Датчик"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "Значення"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "Мін."
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "Макс."
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "Колір"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "Діаграма"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,314 +113,413 @@ msgstr ""
 msgid "Edit Preferences"
 msgstr "Редагувати налаштування"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "Сховати каркас вікна"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "Тримати вікно позаду"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "Увімкнути меню"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "Увімкнути лічильник на панелі запуску Unity"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "Одиниця температури:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "Положення таблиці датчиків:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "Зовнішній вигляд"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "Сховати вікно після запуску"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "Відновляти позицію і розмір вікна"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "Передній план:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "Тло:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "Непрозорість тла:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>Мін.</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>Макс.</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "Кольори"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "Тривалість спостереження"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "хв."
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "сек."
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "Інтервал оновлення:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "Заміри"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "Діаграма"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>Мін.</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>Макс.</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "сек."
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "хв."
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "Інтервал оновлення замірів:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "Датчики"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "Редагувати налаштування датчика"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "Тип:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "Н/Д"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "Інформація датчика"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "Назва:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "Ідентифікатор:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "Малювати криву датчика"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "Колір:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "Оповіщення"
+#: src/glade/sensor-edit.glade:380
+msgid "Display sensor in the list of sensors"
+msgstr ""
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "Увімкнути оповіщення"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "Вищий поріг:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "Нижчий поріг:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr ""
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "Оповіщення"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
 msgstr ""
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD: не вдалося знайти бібліотеку ADL."
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD: відсутнє API ADL."
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD: не вдалося ініціалізувати ADL."
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD: не вдалося отримати кількість адаптерів."
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
-#, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
+#: src/lib/hdd_atasmart.c:141
+#, fuzzy, c-format
+msgid "%s: sk_disk_open() failure: %s."
 msgstr "atasmart: помилка sk_disk_open(): %s."
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
-msgstr "hddtemp: не вдалося відкрити сокет."
+#: src/lib/hdd_hddtemp.c:62
+#, c-format
+msgid "%s: failed to open socket."
+msgstr "%s: не вдалося відкрити сокет."
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
-msgstr "hddtemp: не вдалося встановити з'єднання."
+#: src/lib/hdd_hddtemp.c:75
+#, c-format
+msgid "%s: failed to open connection."
+msgstr "%s: не вдалося встановити з'єднання."
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
 #, c-format
-msgid "hddtemp: wrong string: %s."
-msgstr "hddtemp: неправильний рядок: %s."
+msgid "%s: wrong string: %s."
+msgstr "%s: неправильний рядок: %s."
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
+msgid "%s: Cannot get value of subfeature %s: %s."
 msgstr ""
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
 msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
-#, c-format
-msgid "lmsensor: initialization failure: %s."
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
+#, fuzzy, c-format
+msgid "%s: initialization failure: %s."
 msgstr "lmsensor: помилка ініціалізації: %s."
 
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
+
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "Не вдалося відкрити лог-файл: %s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "Не вдалося отримати інформацію NVIDIA."
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "Не вдалося встановити з'єднання до сервера X11."
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "Не вдалося отримати інформацію NVIDIA."
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
 msgstr "Не вдалося отримати інформацію NVIDIA."
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: Не вдалося встановити з'єднання до сервера X11."
+
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: Не вдалося отримати інформацію NVIDIA."
+
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
+msgstr "Не вдалося отримати інформацію NVIDIA."
+
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "об/хв"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "Змінна HOME не встановлена."
 
@@ -401,7 +540,7 @@ msgstr ""
 msgid "Sensor log not open, cannot close."
 msgstr ""
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -411,22 +550,22 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "Використання: %s [КЛЮЧ]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
 msgstr ""
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "Опції:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -434,21 +573,13 @@ msgstr ""
 "  -h, --help          показати цю довідку і вийти\n"
 "  -v, --version       показати версію і вийти"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
 msgstr ""
 "  -u, --url=URL       URL psensor-сервера, наприклад: http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   використовувати бібліотеку atasmart для моніторингу\n"
-"дисків замість демона hddtemp"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr "  -n, --new-instance  примусово створювати нову копію програми Psensor"
@@ -457,33 +588,46 @@ msgstr "  -n, --new-instance  примусово створювати нову 
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr "  -d, --debug=РІВЕНЬ   встановити рівень налагодження, ціле між 0 та 3"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "Звітуйте про помилки до: %s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s домашня сторінка: <%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor не був зібраний з підтримкою віддалених датчиків."
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "Включає режим налагодження."
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Спробуйте `%s --help' щоб отримати більше інформації.\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr ""
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "Не вдалося створити веб-сервер."
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Ilya Volchanetskiy https://launchpad.net/~volchanetskiy\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  VPIP https://launchpad.net/~tymbood"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -499,25 +643,25 @@ msgstr ""
 msgid "Invalid JSON: %s"
 msgstr "Неправильний JSON: %s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr ""
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr ""
 "<html><body><p>Сторінка не знайдена - Перейти до <a href='/'>Головної "
 "сторінки</a></p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr ""
 "psensor-server ‌— це HTTP-сервер для віддаленого моніторингу апаратних "
 "датчиків."
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -525,7 +669,7 @@ msgstr ""
 "  -h, --help\t\tпоказати цю довідку і вийти\n"
 "  -v, --version\t\tпоказати версію і вийти"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -533,104 +677,87 @@ msgstr ""
 "  -p,--port=PORT\tпорт веб-сервера\n"
 "  -w,--wdir=DIR\t\tдиректорія для сторінок веб-сервера"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr ""
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr ""
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr ""
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP запит: %s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr ""
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "Датчики не знайдені."
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "Не вдалося створити веб-сервер."
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr ""
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW-директорія: %s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr ""
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr ""
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "Про Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Домашня сторінка Psensor"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "Не вдалося завантажити іконку Psensor."
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "Оберіть колір переднього плану"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "Датчик"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "Значення"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "Мін."
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "Макс."
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "Колір"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "Оберіть колір переднього плану"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -641,9 +768,12 @@ msgid "Temperature alert"
 msgstr ""
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+msgid "Fan speed alert"
 msgstr ""
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr ""
+
+#~ msgid "Sensor Information"
+#~ msgstr "Інформація датчика"
index 70db6d9..8aac8e1 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index 9e3b2b8..0ce1b3d 100644 (file)
@@ -7,23 +7,38 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2014-06-01 00:22+0200\n"
-"PO-Revision-Date: 2014-05-01 13:23+0000\n"
-"Last-Translator: Wang Dianjin <Unknown>\n"
+"POT-Creation-Date: 2014-09-21 18:26+0200\n"
+"PO-Revision-Date: 2014-09-11 21:24+0000\n"
+"Last-Translator: Jean-Philippe Orsini <Unknown>\n"
 "Language-Team: Chinese (simplified)\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-06-02 08:08+0000\n"
-"X-Generator: Launchpad (build 17031)\n"
+"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n"
+"X-Generator: Launchpad (build 17196)\n"
+
+#: src/cfg.c:510
+#, fuzzy, c-format
+msgid "Failed to create the directory %s: %s"
+msgstr "无法创建网络服务器。"
+
+#: src/cfg.c:557
+#, fuzzy, c-format
+msgid "Failed to load configuration file %s: %s"
+msgstr "无法激活监测器日志。"
+
+#: src/cfg.c:580
+#, fuzzy, c-format
+msgid "Failed to save configuration file %s."
+msgstr "无法激活监测器日志。"
 
 #: src/glade/psensor.glade:6
 msgid "About"
 msgstr "关于"
 
 #: src/glade/psensor.glade:10 src/glade/psensor.glade:11
-#: src/glade/psensor.glade:20 src/ui_sensorlist.c:209
+#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264
 msgid "Preferences"
 msgstr "首选项"
 
@@ -40,18 +55,43 @@ msgstr "退出"
 msgid "Show"
 msgstr "显示"
 
-#: src/glade/psensor.glade:184
+#: src/glade/psensor.glade:186
 msgid "Psensor - Temperature Monitor"
 msgstr "Psensor - 温度监视器"
 
-#: src/glade/psensor.glade:199
+#: src/glade/psensor.glade:201
 msgid "_Psensor"
 msgstr ""
 
-#: src/glade/psensor.glade:246
+#: src/glade/psensor.glade:248
 msgid "_Help"
 msgstr "帮助(_H)"
 
+#: src/glade/psensor.glade:312
+msgid "Sensor"
+msgstr "监视设备"
+
+#: src/glade/psensor.glade:323
+msgid "Value"
+msgstr "值"
+
+#: src/glade/psensor.glade:334
+msgid "Min"
+msgstr "最小值"
+
+#: src/glade/psensor.glade:345
+msgid "Max"
+msgstr "最大值"
+
+#: src/glade/psensor.glade:356
+msgid "Color"
+msgstr "颜色"
+
+#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787
+#: src/glade/sensor-edit.glade:412
+msgid "Graph"
+msgstr "图表"
+
 #: src/glade/psensor-pref.glade:24
 msgctxt "psensor"
 msgid "Right"
@@ -73,314 +113,414 @@ msgstr "底部"
 msgid "Edit Preferences"
 msgstr "编辑首选项"
 
-#: src/glade/psensor-pref.glade:121
+#: src/glade/psensor-pref.glade:126
 msgid "Hide window decoration"
 msgstr "隐藏窗口标题栏"
 
-#: src/glade/psensor-pref.glade:141
+#: src/glade/psensor-pref.glade:146
 msgid "Keep window below"
 msgstr "保持在最底层"
 
-#: src/glade/psensor-pref.glade:161
+#: src/glade/psensor-pref.glade:166
 msgid "Enable menu"
 msgstr "启用菜单"
 
-#: src/glade/psensor-pref.glade:181
+#: src/glade/psensor-pref.glade:186
 msgid "Enable Unity Launcher counter"
 msgstr "启用 Unity 启动器计数器"
 
-#: src/glade/psensor-pref.glade:209
+#: src/glade/psensor-pref.glade:214
 msgid "Celsius"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:210
+#: src/glade/psensor-pref.glade:215
 msgid "Fahrenheit"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:254
+#: src/glade/psensor-pref.glade:259
 msgid "Temperature unit:"
 msgstr "温度单位:"
 
-#: src/glade/psensor-pref.glade:272
+#: src/glade/psensor-pref.glade:277
 msgid "Position of sensors table:"
 msgstr "监视设备列表位置:"
 
-#: src/glade/psensor-pref.glade:287
+#: src/glade/psensor-pref.glade:296
 msgid "Interface"
 msgstr "界面"
 
-#: src/glade/psensor-pref.glade:299
+#: src/glade/psensor-pref.glade:312
 msgid "Launch on session startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:320
+#: src/glade/psensor-pref.glade:333
 msgid "Hide window on startup"
 msgstr "启动时隐藏窗口"
 
-#: src/glade/psensor-pref.glade:340
+#: src/glade/psensor-pref.glade:353
 msgid "Restore window position and size"
 msgstr "恢复窗口位置和大小"
 
-#: src/glade/psensor-pref.glade:367
+#: src/glade/psensor-pref.glade:384
 msgid "Startup"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:405
+#: src/glade/psensor-pref.glade:428
 msgid "Foreground:"
 msgstr "前景:"
 
-#: src/glade/psensor-pref.glade:420
+#: src/glade/psensor-pref.glade:446
 msgid "Background:"
 msgstr "背景:"
 
-#: src/glade/psensor-pref.glade:454
+#: src/glade/psensor-pref.glade:482
 msgid "Background opacity:"
 msgstr "背景透明:"
 
-#: src/glade/psensor-pref.glade:477
-msgid "<i>Min</i>"
-msgstr "<i>最小值</i>"
-
-#: src/glade/psensor-pref.glade:504
-msgid "<i>Max</i>"
-msgstr "<i>最大值</i>"
-
-#: src/glade/psensor-pref.glade:530
+#: src/glade/psensor-pref.glade:500
 msgid "Colors"
 msgstr "颜色"
 
-#: src/glade/psensor-pref.glade:548
+#: src/glade/psensor-pref.glade:521
 msgid "Monitoring duration:"
 msgstr "监视持续时长:"
 
-#: src/glade/psensor-pref.glade:585
-msgid "minute(s)"
-msgstr "分钟"
-
-#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752
-msgid "second(s)"
-msgstr "秒"
-
-#: src/glade/psensor-pref.glade:637
+#: src/glade/psensor-pref.glade:539
 msgid "Update interval:"
 msgstr "更新间隔:"
 
-#: src/glade/psensor-pref.glade:655
+#: src/glade/psensor-pref.glade:557
 msgid "Measures"
 msgstr "测量"
 
-#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264
-#: src/ui_sensorlist.c:334
-msgid "Graph"
-msgstr "图表"
+#: src/glade/psensor-pref.glade:584
+msgid "<i>Min</i>"
+msgstr "<i>最小值</i>"
 
-#: src/glade/psensor-pref.glade:715
+#: src/glade/psensor-pref.glade:611
+msgid "<i>Max</i>"
+msgstr "<i>最大值</i>"
+
+#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851
+msgid "second(s)"
+msgstr "秒"
+
+#: src/glade/psensor-pref.glade:716
+msgid "minute(s)"
+msgstr "分钟"
+
+#: src/glade/psensor-pref.glade:734
+msgid "Smooth curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:761
+msgid "Curves"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:814
 msgid "Measure update interval:"
 msgstr "测量更新间隔:"
 
-#: src/glade/psensor-pref.glade:763
+#: src/glade/psensor-pref.glade:862
 msgid "Enable sensors logging"
 msgstr "启用监测器记录"
 
-#: src/glade/psensor-pref.glade:810
+#: src/glade/psensor-pref.glade:909
 msgid "Sensors logging interval:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:827
+#: src/glade/psensor-pref.glade:926
 msgid "seconds(s)"
 msgstr "秒"
 
-#: src/glade/psensor-pref.glade:844
+#: src/glade/psensor-pref.glade:943
 msgid "Script executed when an alarm is raised:"
 msgstr ""
 
-#: src/glade/psensor-pref.glade:877
+#: src/glade/psensor-pref.glade:984
 msgid "Sensors"
 msgstr "传感器"
 
-#: src/glade/sensor-edit.glade:28
+#: src/glade/psensor-pref.glade:1002
+msgid "Enable support of lm-sensors"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1022
+msgid "Enable support of NVCtrl (NVidia)"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1042
+msgid "Enable support of ATI ADL"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1062
+msgid "Enable support of gtop2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1082
+msgid "Enable support of hddtemp daemon"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1102
+msgid "Enable support of libatasmart"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1122
+msgid "Enable support of udisks2"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1149
+msgid "The changes are applied after the restart of psensor."
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1171
+msgid "Hard disk drive"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1194
+msgid "CPU and memory usage"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1217
+msgid "GPU with proprietary driver"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1240
+msgid "Motherboard, CPU and GPU"
+msgstr ""
+
+#: src/glade/psensor-pref.glade:1263
+msgid "Providers"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:29
 msgid "Edit Sensor Preferences"
 msgstr "编辑传感器首选项"
 
-#: src/glade/sensor-edit.glade:96
+#: src/glade/sensor-edit.glade:107
 msgid "Name"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:140
+#: src/glade/sensor-edit.glade:174
 msgid "Type:"
 msgstr "类型:"
 
-#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202
-#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475
-#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:490 src/ui_notify.c:81
+#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230
+#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507
+#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81
 msgid "N/A"
 msgstr "不可用"
 
-#: src/glade/sensor-edit.glade:170
-msgid "Sensor Information"
-msgstr "传感器信息"
-
-#: src/glade/sensor-edit.glade:188
+#: src/glade/sensor-edit.glade:212
 msgid "Chip:"
 msgstr "芯片:"
 
-#: src/glade/sensor-edit.glade:217
+#: src/glade/sensor-edit.glade:245
 msgid "Name:"
 msgstr "名称:"
 
-#: src/glade/sensor-edit.glade:232
+#: src/glade/sensor-edit.glade:264
 msgid "Id:"
 msgstr "标识:"
 
-#: src/glade/sensor-edit.glade:278
+#: src/glade/sensor-edit.glade:302
+msgid "Details"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:320
 msgid "Draw sensor curve"
 msgstr "绘制监视曲线"
 
-#: src/glade/sensor-edit.glade:300
+#: src/glade/sensor-edit.glade:349
 msgid "Color:"
 msgstr "颜色:"
 
-#: src/glade/sensor-edit.glade:331
-msgid "Alarm"
-msgstr "警告"
+#: src/glade/sensor-edit.glade:380
+#, fuzzy
+msgid "Display sensor in the list of sensors"
+msgstr "在应用指示器菜单中显示监视器"
 
-#: src/glade/sensor-edit.glade:345
+#: src/glade/sensor-edit.glade:431
 msgid "Activate desktop notifications"
 msgstr "激活桌面气泡提示"
 
-#: src/glade/sensor-edit.glade:367
+#: src/glade/sensor-edit.glade:460
 msgid "High threshold:"
 msgstr "高阈值:"
 
-#: src/glade/sensor-edit.glade:382
+#: src/glade/sensor-edit.glade:482
+msgid "0"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:536
+msgid "-1"
+msgstr ""
+
+#: src/glade/sensor-edit.glade:588
 msgid "Low threshold:"
 msgstr "低阈值:"
 
-#: src/glade/sensor-edit.glade:397
-msgid "Application Indicator"
-msgstr ""
+#: src/glade/sensor-edit.glade:610
+msgid "Alarm"
+msgstr "警告"
 
-#: src/glade/sensor-edit.glade:411
+#: src/glade/sensor-edit.glade:629
 msgid "Display sensor in the menu"
 msgstr "在应用指示器菜单中显示监视器"
 
-#: src/glade/sensor-edit.glade:429
+#: src/glade/sensor-edit.glade:650
 msgid "Display sensor in the label (experimental)"
 msgstr ""
 
-#: src/glade/sensor-edit.glade:500
-msgid "-1"
+#: src/glade/sensor-edit.glade:682
+msgid "Application Indicator"
 msgstr ""
 
-#: src/lib/amd.c:168
+#: src/lib/amd.c:171
 msgid "AMD: cannot found ADL library."
 msgstr "AMD:未找到 ADL 库。"
 
-#: src/lib/amd.c:195
+#: src/lib/amd.c:198
 msgid "AMD: missing ADL's API."
 msgstr "AMD:ADL 的 API 丢失。"
 
-#: src/lib/amd.c:205
+#: src/lib/amd.c:208
 msgid "AMD: failed to initialize ADL."
 msgstr "AMD:ADL 初始化出错。"
 
-#: src/lib/amd.c:211
+#: src/lib/amd.c:214
 msgid "AMD: cannot get the number of adapters."
 msgstr "AMD:无法获取适配器数目。"
 
-#: src/lib/amd.c:250
+#: src/lib/amd.c:253
 #, c-format
 msgid "Number of AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/amd.c:251
+#: src/lib/amd.c:254
 #, c-format
 msgid "Number of active AMD/ATI adapters: %d"
 msgstr ""
 
-#: src/lib/cpu.c:46
-msgid "CPU"
-msgstr ""
-
-#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122
+#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125
 msgid "Disk"
 msgstr ""
 
-#: src/lib/hdd_atasmart.c:152
+#: src/lib/hdd_atasmart.c:141
 #, c-format
-msgid "atasmart: sk_disk_open() failure: %s."
-msgstr "atasmart:sk_disk_open() 失败:%s。"
+msgid "%s: sk_disk_open() failure: %s."
+msgstr "%s:sk_disk_open() 失败:%s。"
 
-#: src/lib/hdd_hddtemp.c:59
-msgid "hddtemp: failed to open socket."
+#: src/lib/hdd_hddtemp.c:62
+#, fuzzy, c-format
+msgid "%s: failed to open socket."
 msgstr "硬盘温度:无法打开套接字。"
 
-#: src/lib/hdd_hddtemp.c:72
-msgid "hddtemp: failed to open connection."
+#: src/lib/hdd_hddtemp.c:75
+#, fuzzy, c-format
+msgid "%s: failed to open connection."
 msgstr "硬盘温度:无法打开连接。"
 
-#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256
-#, c-format
-msgid "hddtemp: wrong string: %s."
+#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270
+#, fuzzy, c-format
+msgid "%s: wrong string: %s."
 msgstr "硬盘温度:错误字符:%s。"
 
-#: src/lib/lmsensor.c:42
+#: src/lib/lmsensor.c:44
 #, c-format
-msgid "lmsensor: cannot get value of subfeature %s: %s."
-msgstr "lmsensor:无法获取子功能%s的值:%s。"
+msgid "%s: Cannot get value of subfeature %s: %s."
+msgstr "%s:无法获取子功能%s的值:%s。"
 
-#: src/lib/lmsensor.c:123
-msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
-msgstr "lmsensor:lmsensor_psensor_create 失败:错误的功能类型。"
+#: src/lib/lmsensor.c:137
+#, c-format
+msgid "%s: Wrong feature type."
+msgstr ""
 
-#: src/lib/lmsensor.c:148
+#: src/lib/lmsensor.c:166
 msgid "Intel CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:152
+#: src/lib/lmsensor.c:170
 msgid "AMD CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73
+#: src/lib/lmsensor.c:172
 msgid "NVIDIA GPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:156
+#: src/lib/lmsensor.c:174
 msgid "VIA CPU"
 msgstr ""
 
-#: src/lib/lmsensor.c:218
+#: src/lib/lmsensor.c:176
+msgid "ACPI"
+msgstr ""
+
+#: src/lib/lmsensor.c:201
 #, c-format
-msgid "lmsensor: initialization failure: %s."
-msgstr "lmsensor:初始化失败:%s。"
+msgid "%s: initialization failure: %s."
+msgstr "%s:初始化失败:%s。"
+
+#: src/lib/pgtop2.c:42
+msgid "CPU usage"
+msgstr ""
+
+#: src/lib/pgtop2.c:47
+msgid "CPU"
+msgstr ""
+
+#: src/lib/pgtop2.c:63
+msgid "free memory"
+msgstr ""
+
+#: src/lib/pgtop2.c:64
+msgid "memory"
+msgstr ""
 
 #: src/lib/plog.c:43
 #, c-format
 msgid "Cannot open log file: %s"
 msgstr "无法打开日志文件:%s"
 
-#: src/lib/nvidia.c:52
-msgid ""
-"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature."
-msgstr ""
+#: src/lib/nvidia.c:58
+#, fuzzy, c-format
+msgid "%s: Unknown NVIDIA product name for GPU %d"
+msgstr "无法获取 NVIDIA 信息。"
+
+#: src/lib/nvidia.c:63
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve NVIDIA product name for GPU %d"
+msgstr "无法获取 NVIDIA 信息。"
+
+#: src/lib/nvidia.c:226
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d"
+msgstr "无法获取 NVIDIA 信息。"
+
+#: src/lib/nvidia.c:293
+#, c-format
+msgid "%s: Cannot open connection to X11 server."
+msgstr "%s: 无法打开到 X11 服务器的连接。"
 
-#: src/lib/nvidia.c:95
-msgid "Cannot open connection to X11 server."
-msgstr "无法打开到 X11 服务器的连接。"
+#: src/lib/nvidia.c:301
+#, c-format
+msgid "%s: Failed to retrieve NVIDIA information."
+msgstr "%s: 无法获取 NVIDIA 信息。"
 
-#: src/lib/nvidia.c:103
-msgid "Failed to retrieve NVIDIA information."
+#: src/lib/nvidia.c:370
+#, fuzzy, c-format
+msgid "%s: Failed to retrieve number of fans."
 msgstr "无法获取 NVIDIA 信息。"
 
-#: src/lib/psensor.c:486 tests/test_psensor_type_to_unit_str.c:62
+#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62
 msgid "RPM"
 msgstr "转速"
 
-#: src/lib/psensor.c:488
+#: src/lib/psensor.c:455
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:86
+#: src/lib/slog.c:87
 msgid "HOME variable not set."
 msgstr "未设置 HOME 变量。"
 
@@ -401,7 +541,7 @@ msgstr "监测器日志文件未打开。"
 msgid "Sensor log not open, cannot close."
 msgstr "监测器日志未打开,故无法关闭。"
 
-#: src/main.c:77 src/server/server.c:84
+#: src/main.c:80 src/server/server.c:87
 #, c-format
 msgid ""
 "Copyright (C) %s jeanfi@gmail.com\n"
@@ -416,22 +556,22 @@ msgstr ""
 "本软件为自由软件:您可以自由修改并分发。\n"
 "There is NO WARRANTY, to the extent permitted by law。\n"
 
-#: src/main.c:88 src/server/server.c:94
+#: src/main.c:91 src/server/server.c:97
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "用法:%s [选项]...\n"
 
-#: src/main.c:90
+#: src/main.c:93
 msgid ""
 "Psensor is a GTK+ application for monitoring hardware sensors, including "
 "temperatures and fan speeds."
 msgstr "Psensor 是一款 GTK+ 应用程序,可监测硬件传感器,包括温度与风扇转速。"
 
-#: src/main.c:94
+#: src/main.c:97
 msgid "Options:"
 msgstr "选项:"
 
-#: src/main.c:95
+#: src/main.c:98
 msgid ""
 "  -h, --help          display this help and exit\n"
 "  -v, --version       display version information and exit"
@@ -439,7 +579,7 @@ msgstr ""
 "  -h, --help 显示这个帮助并退出\n"
 "  -v, --version 显示版本信息并退出"
 
-#: src/main.c:101
+#: src/main.c:104
 msgid ""
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"
@@ -447,14 +587,6 @@ msgstr ""
 "  -u, --url=URL       psensor 服务器 URL\n"
 "                      例如:http://hostname:3131"
 
-#: src/main.c:104
-msgid ""
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"
-msgstr ""
-"  --use-libatasmart   使用 atasmart 库来监测硬盘,而不是\n"
-"                      hddtemp 进程"
-
 #: src/main.c:107
 msgid "  -n, --new-instance  force the creation of a new Psensor application"
 msgstr "  -n, --new-instance  强制创建一个新的 Psensor 例程"
@@ -463,33 +595,47 @@ msgstr "  -n, --new-instance  强制创建一个新的 Psensor 例程"
 msgid "  -d, --debug=LEVEL   set the debug level, integer between 0 and 3"
 msgstr "  -d,--debug=LEVEL 设置调试等级,等级为 0 到 3 之间的整数"
 
-#: src/main.c:115 src/server/server.c:117
+#: src/main.c:115 src/server/server.c:120
 #, c-format
 msgid "Report bugs to: %s\n"
 msgstr "报告问题至:%s\n"
 
-#: src/main.c:117 src/server/server.c:119
+#: src/main.c:117 src/server/server.c:122
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s 主页:<%s>\n"
 
-#: src/main.c:454
+#: src/main.c:473
 msgid "Psensor has not been compiled with remote sensor support."
 msgstr "Psensor 不支持远程传感器。"
 
-#: src/main.c:517
+#: src/main.c:551
 msgid "Enables debug mode."
 msgstr "启用调试模式。"
 
-#: src/main.c:529 src/server/server.c:380
+#: src/main.c:563 src/server/server.c:384
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "试用‘%s --help’来获得更多信息。\n"
 
-#: src/main.c:542
+#: src/main.c:576
 msgid "A Psensor instance already exists."
 msgstr "已存在一个 Psensor 例程。"
 
+#: src/main.c:631
+#, fuzzy
+msgid "Failed to create thread for monitoring sensors"
+msgstr "无法创建网络服务器。"
+
+#: src/main.c:654 src/ui.c:97
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jean-Philippe Orsini https://launchpad.net/~jfi\n"
+"  Wang Dianjin https://launchpad.net/~tuhaihe\n"
+"  tmpplus https://launchpad.net/~tmpplus.7328-deactivatedaccount\n"
+"  大宝 https://launchpad.net/~linux-dabao"
+
 #: src/rsensor.c:107
 #, c-format
 msgid "Fail to connect to: %s"
@@ -505,21 +651,21 @@ msgstr "无效内容:%s"
 msgid "Invalid JSON: %s"
 msgstr "无效 JSON:%s"
 
-#: src/server/server.c:54
+#: src/server/server.c:57
 msgid "<html><body><p>Server stop requested</p></body></html>"
 msgstr "<html><body><p>服务器停止请求</p></body></html>"
 
-#: src/server/server.c:60
+#: src/server/server.c:63
 msgid ""
 "<html><body><p>Page not found - Go to <a href='/'>Main page</a></p></body>"
 msgstr "<html><body><p>未找到页面 - 请访问<a href='/'>主页</a></p></body>"
 
-#: src/server/server.c:96
+#: src/server/server.c:99
 msgid ""
 "psensor-server is an HTTP server for monitoring hardware sensors remotely."
 msgstr "psensor 服务器是用来远程监视硬件的 HTTP 服务器。"
 
-#: src/server/server.c:101
+#: src/server/server.c:104
 msgid ""
 "  -h, --help\t\tdisplay this help and exit\n"
 "  -v, --version\t\tdisplay version information and exit"
@@ -527,7 +673,7 @@ msgstr ""
 "  -h, --help\t\t 显示本帮助并退出\n"
 "  -v, --version\t\t 显示版本信息并退出"
 
-#: src/server/server.c:105
+#: src/server/server.c:108
 msgid ""
 "  -p,--port=PORT\twebserver port\n"
 "  -w,--wdir=DIR\t\tdirectory containing webserver pages"
@@ -535,106 +681,90 @@ msgstr ""
 "  -p,--port=PORT\t 网络服务器端口\n"
 "  -w,--wdir=DIR\t\t 包括网络服务器页面的目录"
 
-#: src/server/server.c:109
+#: src/server/server.c:112
 msgid "  -d, --debug=LEVEL     set the debug level, integer between 0 and 3"
 msgstr "  -d, --debug=LEVEL     设置调试级别,0~3 之间的整数"
 
-#: src/server/server.c:111
+#: src/server/server.c:114
 msgid "  -l, --log-file=PATH   set the log file to PATH"
 msgstr "  -l, --log-file=PATH   将日志文件设为 PATH"
 
-#: src/server/server.c:112
+#: src/server/server.c:115
 msgid "  --sensor-log-file=PATH set the sensor log file to PATH"
 msgstr "  --sensor-log-file=路径 设置监测器日志文件的路径"
 
-#: src/server/server.c:113
+#: src/server/server.c:116
 msgid "  --sensor-log-interval=S set the sensor log interval to S (seconds)"
 msgstr ""
 
-#: src/server/server.c:297
+#: src/server/server.c:301
 #, c-format
 msgid "HTTP Request: %s"
 msgstr "HTTP 请求:%s"
 
-#: src/server/server.c:360
+#: src/server/server.c:364
 #, c-format
 msgid "Enables debug mode: %d"
 msgstr "启用调试模式:%d"
 
-#: src/server/server.c:402
+#: src/server/server.c:408
 msgid "No sensors detected."
 msgstr "未检测到传感器。"
 
-#: src/server/server.c:409
+#: src/server/server.c:415
 msgid "Failed to create Web server."
 msgstr "无法创建网络服务器。"
 
-#: src/server/server.c:413
+#: src/server/server.c:419
 #, c-format
 msgid "Web server started on port: %d"
 msgstr "网络服务器启动端口:%d"
 
-#: src/server/server.c:414
+#: src/server/server.c:420
 #, c-format
 msgid "WWW directory: %s"
 msgstr "WWW 目录:%s"
 
-#: src/server/server.c:415
+#: src/server/server.c:421
 #, c-format
 msgid "URL: http://localhost:%d"
 msgstr "URL: http://localhost:%d"
 
-#: src/server/server.c:425
+#: src/server/server.c:431
 msgid "Failed to activate logging of sensors."
 msgstr "无法激活监测器日志。"
 
-#: src/ui.c:84
+#: src/ui.c:87
 msgid "Psensor is a GTK+ application for monitoring hardware sensors"
 msgstr "Psensor 是一款 GTK+ 硬件监测传感应用程序"
 
-#: src/ui.c:87
-msgid ""
-"Copyright(c) 2010-2014\n"
-"jeanfi@gmail.com"
+#: src/ui.c:90
+#, fuzzy
+msgid "Copyright(c) 2010-2014 jeanfi@gmail.com"
 msgstr ""
 "版权所有(c) 2010-2014\n"
 "jeanfi@gmail.com"
 
-#: src/ui.c:90
+#: src/ui.c:96
 msgid "About Psensor"
 msgstr "关于 Psensor"
 
-#: src/ui.c:93
+#: src/ui.c:100
 msgid "Psensor Homepage"
 msgstr "Psensor 主页"
 
-#: src/ui.c:217
+#: src/ui.c:223
 msgid "Failed to load Psensor icon."
 msgstr "无法加载 Psensor 图标。"
 
-#: src/ui_sensorlist.c:245
-msgid "Select foreground color"
-msgstr "选择前景色"
-
-#: src/ui_sensorlist.c:297
-msgid "Sensor"
-msgstr "监视设备"
-
-#: src/ui_sensorlist.c:303
-msgid "Value"
-msgstr "值"
-
-#: src/ui_sensorlist.c:309
-msgid "Min"
-msgstr "最小值"
-
-#: src/ui_sensorlist.c:315
-msgid "Max"
-msgstr "最大值"
+#: src/ui_sensorlist.c:254
+msgid "Hide"
+msgstr ""
 
-#: src/ui_sensorlist.c:322
-msgid "Color"
-msgstr "颜色"
+#: src/ui_sensorlist.c:296
+#, fuzzy
+msgid "Select sensor color"
+msgstr "选择前景色"
 
 #: src/ui_notify.c:48
 msgid "gettimeofday failed."
@@ -645,9 +775,16 @@ msgid "Temperature alert"
 msgstr "温度报警"
 
 #: src/ui_notify.c:79
-msgid "Fan alert"
+#, fuzzy
+msgid "Fan speed alert"
 msgstr "风扇警报"
 
-#: src/ui_sensorpref.c:234
+#: src/ui_sensorpref.c:248
 msgid "Unknown"
 msgstr "未知"
+
+#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type."
+#~ msgstr "lmsensor:lmsensor_psensor_create 失败:错误的功能类型。"
+
+#~ msgid "Sensor Information"
+#~ msgstr "传感器信息"
index 0f64275..3ddb1e7 100644 (file)
@@ -9,14 +9,13 @@ SUBDIRS += server
 endif
 endif
 
-# -no-deprecated-declarations to avoid some glib deprecation warnings
-AM_CPPFLAGS = -Wno-deprecated-declarations -Wall -Werror \
+AM_CPPFLAGS =-Wall -Werror \
        -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\"\
        -DDATADIR=\""$(datadir)"\"\
+       -DPSENSOR_DESKTOP_FILE=\""psensor.desktop"\"\
        -I$(top_srcdir)/src/lib \
        -I$(top_srcdir)/src/unity \
        $(GTK_CFLAGS)\
-       $(GCONF_CFLAGS)\
        $(SENSORS_CFLAGS)
 
 DEFS = -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@
@@ -24,20 +23,17 @@ DEFS = -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@
 LIBS = \
        lib/libpsensor.a \
        $(GTK_LIBS)\
-       $(GCONF_LIBS)\
        $(PTHREAD_LIBS)\
-       $(SENSORS_LIBS)
+       $(SENSORS_LIBS) -lm
 
 if GTK
 if X11
 if XEXT
-if GCONF
 bin_PROGRAMS = psensor
 dist_man_MANS = psensor.1
 endif
 endif
 endif
-endif
 
 psensor_SOURCES = \
        cfg.h cfg.c \
@@ -88,6 +84,10 @@ AM_CPPFLAGS += $(ATASMART_CFLAGS)
 LIBS += $(ATASMART_LIBS)
 endif
 
+if LIBUDISKS2
+LIBS += $(LIBUDISKS2_LIBS)
+endif
+
 if UNITY
 psensor_SOURCES += ui_unity.h ui_unity.c
 AM_CPPFLAGS += $(UNITY_CFLAGS)
@@ -102,17 +102,11 @@ AM_CPPFLAGS += $(CURL_CFLAGS) $(JSON_CFLAGS)
 endif
 endif
 
-EXTRA_DIST = description.txt psensor.schemas
-
-if GCONF
-schemadir = $(GCONF_SCHEMA_FILE_DIR)
-schema_DATA = psensor.schemas
-
-install-data-local:
-       GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_srcdir)/src/$(schema_DATA)
-endif
-
 psensor.1: main.c $(top_srcdir)/configure.ac
        $(MAKE) $(AM_MAKEFLAGS) psensor$(EXEEXT)
        help2man --include=description.txt -N --name="Temperature monitoring application" --output=psensor.1 ./psensor$(EXEEXT)
 
+gsettings_SCHEMAS=psensor.gschema.xml
+EXTRA_DIST = description.txt $(gsettings_SCHEMAS)
+
+@GSETTINGS_RULES@
index 9d13b6d..40b3dcd 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 
-
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -53,8 +79,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 @JSON_TRUE@@LIBMICROHTTPD_TRUE@am__append_1 = server
-@GCONF_TRUE@@GTK_TRUE@@X11_TRUE@@XEXT_TRUE@bin_PROGRAMS =  \
-@GCONF_TRUE@@GTK_TRUE@@X11_TRUE@@XEXT_TRUE@    psensor$(EXEEXT)
+@GTK_TRUE@@X11_TRUE@@XEXT_TRUE@bin_PROGRAMS = psensor$(EXEEXT)
 @GTOP_TRUE@am__append_2 = $(GTOP_CFLAGS)
 @GTOP_TRUE@am__append_3 = $(GTOP_LIBS)
 @LIBNOTIFY_TRUE@am__append_4 = ui_notify.h ui_notify.c
@@ -69,25 +94,29 @@ host_triplet = @host@
 @LIBATIADL_TRUE@am__append_13 = $(LIBATIADL_LIBS)
 @ATASMART_TRUE@am__append_14 = $(ATASMART_CFLAGS)
 @ATASMART_TRUE@am__append_15 = $(ATASMART_LIBS)
-@UNITY_TRUE@am__append_16 = ui_unity.h ui_unity.c
-@UNITY_TRUE@am__append_17 = $(UNITY_CFLAGS)
-@UNITY_TRUE@am__append_18 = $(UNITY_LIBS) 
-@CURL_TRUE@@JSON_TRUE@am__append_19 = rsensor.h rsensor.c
-@CURL_TRUE@@JSON_TRUE@am__append_20 = $(CURL_LIBS) $(JSON_LIBS)
-@CURL_TRUE@@JSON_TRUE@am__append_21 = $(CURL_CFLAGS) $(JSON_CFLAGS)
+@LIBUDISKS2_TRUE@am__append_16 = $(LIBUDISKS2_LIBS)
+@UNITY_TRUE@am__append_17 = ui_unity.h ui_unity.c
+@UNITY_TRUE@am__append_18 = $(UNITY_CFLAGS)
+@UNITY_TRUE@am__append_19 = $(UNITY_LIBS) 
+@CURL_TRUE@@JSON_TRUE@am__append_20 = rsensor.h rsensor.c
+@CURL_TRUE@@JSON_TRUE@am__append_21 = $(CURL_LIBS) $(JSON_LIBS)
+@CURL_TRUE@@JSON_TRUE@am__append_22 = $(CURL_CFLAGS) $(JSON_CFLAGS)
 subdir = src
-DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/depcomp $(dist_man_MANS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
-       "$(DESTDIR)$(schemadir)"
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
 PROGRAMS = $(bin_PROGRAMS)
 am__psensor_SOURCES_DIST = cfg.h cfg.c notify_cmd.c notify_cmd.h \
        graph.h graph.c main.c ui.h ui.c ui_appindicator.h ui_color.h \
@@ -108,23 +137,44 @@ am_psensor_OBJECTS = cfg.$(OBJEXT) notify_cmd.$(OBJEXT) \
        $(am__objects_4)
 psensor_OBJECTS = $(am_psensor_OBJECTS)
 psensor_LDADD = $(LDADD)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(psensor_SOURCES)
 DIST_SOURCES = $(am__psensor_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -160,12 +210,31 @@ am__uninstall_files_from_dir = { \
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(dist_man_MANS)
-DATA = $(schema_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
        distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = lib glade server
@@ -197,9 +266,11 @@ am__relativize = \
   reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -221,15 +292,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -255,10 +322,12 @@ LIBMICROHTTPD_LIBS = @LIBMICROHTTPD_LIBS@
 LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
-LIBS = lib/libpsensor.a $(GTK_LIBS) $(GCONF_LIBS) $(PTHREAD_LIBS) \
-       $(SENSORS_LIBS) $(am__append_3) $(am__append_5) \
-       $(am__append_8) $(am__append_11) $(am__append_13) \
-       $(am__append_15) $(am__append_18) $(am__append_20)
+LIBS = lib/libpsensor.a $(GTK_LIBS) $(PTHREAD_LIBS) $(SENSORS_LIBS) \
+       -lm $(am__append_3) $(am__append_5) $(am__append_8) \
+       $(am__append_11) $(am__append_13) $(am__append_15) \
+       $(am__append_16) $(am__append_19) $(am__append_21)
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -284,7 +353,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -299,7 +367,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -324,6 +391,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -356,26 +424,24 @@ SUBDIRS = lib glade $(am__append_1)
 
 # -export-dynamic is need for defining handlers in the glade file.
 AM_LDFLAGS = -Wl,--as-needed -export-dynamic
-
-# -no-deprecated-declarations to avoid some glib deprecation warnings
-AM_CPPFLAGS = -Wno-deprecated-declarations -Wall -Werror \
-       -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\" \
-       -DDATADIR=\""$(datadir)"\" -I$(top_srcdir)/src/lib \
-       -I$(top_srcdir)/src/unity $(GTK_CFLAGS) $(GCONF_CFLAGS) \
-       $(SENSORS_CFLAGS) $(am__append_2) $(am__append_6) \
-       $(am__append_9) $(am__append_10) $(am__append_12) \
-       $(am__append_14) $(am__append_17) $(am__append_21)
-@GCONF_TRUE@@GTK_TRUE@@X11_TRUE@@XEXT_TRUE@dist_man_MANS = psensor.1
+AM_CPPFLAGS = -Wall -Werror -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\" \
+       -DDATADIR=\""$(datadir)"\" \
+       -DPSENSOR_DESKTOP_FILE=\""psensor.desktop"\" \
+       -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/unity \
+       $(GTK_CFLAGS) $(SENSORS_CFLAGS) $(am__append_2) \
+       $(am__append_6) $(am__append_9) $(am__append_10) \
+       $(am__append_12) $(am__append_14) $(am__append_18) \
+       $(am__append_22)
+@GTK_TRUE@@X11_TRUE@@XEXT_TRUE@dist_man_MANS = psensor.1
 psensor_SOURCES = cfg.h cfg.c notify_cmd.c notify_cmd.h graph.h \
        graph.c main.c ui.h ui.c ui_appindicator.h ui_color.h \
        ui_color.c ui_graph.h ui_graph.c ui_pref.h ui_pref.c \
        ui_sensorlist.h ui_sensorlist.c ui_sensorpref.h \
        ui_sensorpref.c ui_status.h ui_status.c pxdg.h pxdg.c \
-       $(am__append_4) $(am__append_7) $(am__append_16) \
-       $(am__append_19)
-EXTRA_DIST = description.txt psensor.schemas
-@GCONF_TRUE@schemadir = $(GCONF_SCHEMA_FILE_DIR)
-@GCONF_TRUE@schema_DATA = psensor.schemas
+       $(am__append_4) $(am__append_7) $(am__append_17) \
+       $(am__append_20)
+gsettings_SCHEMAS = psensor.gschema.xml
+EXTRA_DIST = description.txt $(gsettings_SCHEMAS)
 all: all-recursive
 
 .SUFFIXES:
@@ -419,10 +485,11 @@ install-binPROGRAMS: $(bin_PROGRAMS)
        fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
+       while read p p1; do if test -f $$p \
+         then echo "$$p"; echo "$$p"; else :; fi; \
        done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+       sed -e 'p;s,.*/,,;n;h' \
+           -e 's|.*|.|' \
            -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
        sed 'N;N;N;s,\n, ,g' | \
        $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -443,16 +510,18 @@ uninstall-binPROGRAMS:
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
        files=`for p in $$list; do echo "$$p"; done | \
          sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
+             -e 's/$$/$(EXEEXT)/' \
+       `; \
        test -n "$$list" || exit 0; \
        echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
        -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
 psensor$(EXEEXT): $(psensor_OBJECTS) $(psensor_DEPENDENCIES) $(EXTRA_psensor_DEPENDENCIES) 
        @rm -f psensor$(EXEEXT)
-       $(LINK) $(psensor_OBJECTS) $(psensor_LDADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK) $(psensor_OBJECTS) $(psensor_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -478,18 +547,18 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui_unity.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 install-man1: $(dist_man_MANS)
        @$(NORMAL_INSTALL)
        @list1=''; \
@@ -533,45 +602,27 @@ uninstall-man1:
        } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
              -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
        dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
-install-schemaDATA: $(schema_DATA)
-       @$(NORMAL_INSTALL)
-       @list='$(schema_DATA)'; test -n "$(schemadir)" || list=; \
-       if test -n "$$list"; then \
-         echo " $(MKDIR_P) '$(DESTDIR)$(schemadir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(schemadir)" || exit 1; \
-       fi; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(schemadir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(schemadir)" || exit $$?; \
-       done
-
-uninstall-schemaDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(schema_DATA)'; test -n "$(schemadir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(schemadir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -586,57 +637,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -652,12 +658,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -669,15 +670,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -686,24 +683,26 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -760,10 +759,10 @@ distdir: $(DISTFILES)
        done
 check-am: all-am
 check: check-recursive
-all-am: Makefile $(PROGRAMS) $(MANS) $(DATA)
+all-am: Makefile $(PROGRAMS) $(MANS)
 installdirs: installdirs-recursive
 installdirs-am:
-       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(schemadir)"; do \
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: install-recursive
@@ -796,7 +795,6 @@ distclean-generic:
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
-@GCONF_FALSE@install-data-local:
 clean: clean-recursive
 
 clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
@@ -819,7 +817,7 @@ info: info-recursive
 
 info-am:
 
-install-data-am: install-data-local install-man install-schemaDATA
+install-data-am: install-man
 
 install-dvi: install-dvi-recursive
 
@@ -864,38 +862,34 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-man uninstall-schemaDATA
+uninstall-am: uninstall-binPROGRAMS uninstall-man
 
 uninstall-man: uninstall-man1
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
+.MAKE: $(am__recursive_targets) install-am install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-binPROGRAMS install-data install-data-am \
-       install-data-local install-dvi install-dvi-am install-exec \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-binPROGRAMS clean-generic cscopelist-am \
+       ctags ctags-am distclean distclean-compile distclean-generic \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-binPROGRAMS install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
        install-exec-am install-html install-html-am install-info \
        install-info-am install-man install-man1 install-pdf \
-       install-pdf-am install-ps install-ps-am install-schemaDATA \
-       install-strip installcheck installcheck-am installdirs \
-       installdirs-am maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
-       ps ps-am tags tags-recursive uninstall uninstall-am \
-       uninstall-binPROGRAMS uninstall-man uninstall-man1 \
-       uninstall-schemaDATA
-
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+       tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
+       uninstall-man uninstall-man1
 
-@GCONF_TRUE@install-data-local:
-@GCONF_TRUE@   GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_srcdir)/src/$(schema_DATA)
 
 psensor.1: main.c $(top_srcdir)/configure.ac
        $(MAKE) $(AM_MAKEFLAGS) psensor$(EXEEXT)
        help2man --include=description.txt -N --name="Temperature monitoring application" --output=psensor.1 ./psensor$(EXEEXT)
 
+@GSETTINGS_RULES@
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index a5014ff..0f22ccb 100644 (file)
--- a/src/cfg.c
+++ b/src/cfg.c
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  * 02110-1301 USA
  */
+
+#include <errno.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
+#include <sys/stat.h>
+#include <sys/types.h>
 
-#include "cfg.h"
-#include <plog.h>
+#include <locale.h>
+#include <libintl.h>
+#define _(str) gettext(str)
 
-static const char *KEY_SENSORS = "/apps/psensor/sensors";
+#include <cfg.h>
+#include <graph.h>
+#include <pio.h>
+#include <plog.h>
 
-static const char *ATT_SENSOR_ALARM_ENABLED = "alarm/enabled";
-static const char *ATT_SENSOR_ALARM_HIGH_THRESHOLD = "alarm/high_threshold";
-static const char *ATT_SENSOR_ALARM_LOW_THRESHOLD = "alarm/low_threshold";
+/* Properties of each sensor */
+static const char *ATT_SENSOR_ALARM_ENABLED = "alarm_enabled";
+static const char *ATT_SENSOR_ALARM_HIGH_THRESHOLD = "alarm_high_threshold";
+static const char *ATT_SENSOR_ALARM_LOW_THRESHOLD = "alarm_low_threshold";
 static const char *ATT_SENSOR_COLOR = "color";
-static const char *ATT_SENSOR_ENABLED = "enabled";
+static const char *ATT_SENSOR_GRAPH_ENABLED = "graph_enabled";
 static const char *ATT_SENSOR_NAME = "name";
-static const char *ATT_SENSOR_APPINDICATOR_DISABLED = "appindicator/disabled";
+static const char *ATT_SENSOR_APPINDICATOR_MENU_DISABLED
+= "appindicator_menu_disabled";
 static const char *ATT_SENSOR_APPINDICATOR_LABEL_ENABLED
-= "appindicator/menu/enabled";
-
+= "appindicator_label_enabled";
 static const char *ATT_SENSOR_POSITION = "position";
+static const char *ATT_SENSOR_HIDE = "hide";
 
+/* Update interval of the measures of the sensors */
 static const char *KEY_SENSOR_UPDATE_INTERVAL
-= "/apps/psensor/sensor/update_interval";
-
-static const char *KEY_GRAPH_UPDATE_INTERVAL
-= "/apps/psensor/graph/update_interval";
-
-static const char *KEY_GRAPH_MONITORING_DURATION
-= "/apps/psensor/graph/monitoring_duration";
-
-static const char *KEY_GRAPH_BACKGROUND_COLOR
-= "/apps/psensor/graph/background_color";
+= "sensor-update-interval";
 
+/* Graph settings */
+static const char *KEY_GRAPH_UPDATE_INTERVAL = "graph-update-interval";
+static const char *KEY_GRAPH_MONITORING_DURATION = "graph-monitoring-duration";
+static const char *KEY_GRAPH_BACKGROUND_COLOR = "graph-background-color";
 static const char *DEFAULT_GRAPH_BACKGROUND_COLOR = "#e8f4e8f4a8f5";
-
-static const char *KEY_GRAPH_BACKGROUND_ALPHA
-= "/apps/psensor/graph/background_alpha";
-
+static const char *KEY_GRAPH_BACKGROUND_ALPHA = "graph-background-alpha";
 static const char *KEY_GRAPH_FOREGROUND_COLOR
-= "/apps/psensor/graph/foreground_color";
+= "graph-foreground-color";
+static const char *KEY_GRAPH_SMOOTH_CURVES_ENABLED
+= "graph-smooth-curves-enabled";
+
 static const char *DEFAULT_GRAPH_FOREGROUND_COLOR = "#000000000000";
 
-static const char *KEY_ALPHA_CHANNEL_ENABLED
-= "/apps/psensor/graph/alpha_channel_enabled";
+static const char *KEY_ALPHA_CHANNEL_ENABLED = "graph-alpha-channel-enabled";
 
+/* Inteface settings */
 static const char *KEY_INTERFACE_SENSORLIST_POSITION
-= "/apps/psensor/interface/sensorlist_position";
+= "interface-sensorlist-position";
 
 static const char *KEY_INTERFACE_WINDOW_DECORATION_DISABLED
-= "/apps/psensor/interface/window_decoration_disabled";
+= "interface-window-decoration-disabled";
 
 static const char *KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED
-= "/apps/psensor/interface/window_keep_below_enabled";
+= "interface-window-keep-below-enabled";
 
 static const char *KEY_INTERFACE_MENU_BAR_DISABLED
-= "/apps/psensor/interface/menu_bar_disabled";
+= "interface-menu-bar-disabled";
 
 static const char *KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED
-= "/apps/psensor/interface/unity_launcher_count_disabled";
+= "interface-unity-launcher-count-disabled";
 
 static const char *KEY_INTERFACE_HIDE_ON_STARTUP
-= "/apps/psensor/interface/hide_on_startup";
+= "interface-hide-on-startup";
 
 static const char *KEY_INTERFACE_WINDOW_RESTORE_ENABLED
-= "/apps/psensor/interface/window_restore_enabled";
+= "interface-window-restore-enabled";
 
-static const char *KEY_INTERFACE_WINDOW_X = "/apps/psensor/interface/window_x";
-static const char *KEY_INTERFACE_WINDOW_Y = "/apps/psensor/interface/window_y";
-static const char *KEY_INTERFACE_WINDOW_W = "/apps/psensor/interface/window_w";
-static const char *KEY_INTERFACE_WINDOW_H = "/apps/psensor/interface/window_h";
+static const char *KEY_INTERFACE_WINDOW_X = "interface-window-x";
+static const char *KEY_INTERFACE_WINDOW_Y = "interface-window-y";
+static const char *KEY_INTERFACE_WINDOW_W = "interface-window-w";
+static const char *KEY_INTERFACE_WINDOW_H = "interface-window-h";
 
 static const char *KEY_INTERFACE_WINDOW_DIVIDER_POS
-= "/apps/psensor/interface/window_divider_pos";
+= "interface-window-divider-pos";
 
 static const char *KEY_INTERFACE_TEMPERATURE_UNIT
-= "/apps/psensor/interface/temperature_unit";
+= "interface-temperature-unit";
 
-static const char *KEY_SLOG_ENABLED = "/apps/psensor/slog/enabled";
-static const char *KEY_SLOG_INTERVAL = "/apps/psensor/slog/interval";
+/* Sensor logging settings */
+static const char *KEY_SLOG_ENABLED = "slog-enabled";
+static const char *KEY_SLOG_INTERVAL = "slog-interval";
 
-static const char *KEY_NOTIFICATION_SCRIPT = "/apps/psensor/notif_script";
+/* Path to the script called when a notification is raised */
+static const char *KEY_NOTIFICATION_SCRIPT = "notif-script";
 
-static GConfClient *client;
+/* Provider settings */
+static const char *KEY_PROVIDER_LMSENSORS_ENABLED
+= "provider-lmsensors-enabled";
+static const char *KEY_PROVIDER_ATIADLSDK_ENABLED
+= "provider-atiadlsdk-enabled";
+static const char *KEY_PROVIDER_GTOP2_ENABLED = "provider-gtop2-enabled";
+static const char *KEY_PROVIDER_HDDTEMP_ENABLED = "provider-hddtemp-enabled";
+static const char *KEY_PROVIDER_LIBATASMART_ENABLED
+= "provider-libatasmart-enabled";
+static const char *KEY_PROVIDER_NVCTRL_ENABLED = "provider-nvctrl-enabled";
+static const char *KEY_PROVIDER_UDISKS2_ENABLED = "provider-udisks2-enabled";
 
-static char *get_string(const char *key, const char *default_value)
+
+static GSettings *settings;
+
+static char *user_dir;
+
+static GKeyFile *key_file;
+
+static char *sensor_config_path;
+
+static void (*slog_enabled_cbk)(void *);
+
+static char *get_string(const char *key)
 {
-       char *value;
+       return g_settings_get_string(settings, key);
+}
 
-       value = gconf_client_get_string(client, key, NULL);
+static void set_string(const char *key, const char *str)
+{
+       g_settings_set_string(settings, key, str);
+}
 
-       if (!value) {
-               value = strdup(default_value);
-               gconf_client_set_string(client, key, default_value, NULL);
-       }
+static void set_bool(const char *k, bool b)
+{
+       g_settings_set_boolean(settings, k, b);
+}
+
+static bool get_bool(const char *k)
+{
+       return g_settings_get_boolean(settings, k);
+}
+
+static void set_int(const char *k, int i)
+{
+       g_settings_set_int(settings, k, i);
+}
+
+static double get_double(const char *k)
+{
+       return g_settings_get_double(settings, k);
+}
 
-       return value;
+static void set_double(const char *k, double d)
+{
+       g_settings_set_double(settings, k, d);
+}
+
+static int get_int(const char *k)
+{
+       return g_settings_get_int(settings, k);
 }
 
 char *config_get_notif_script()
 {
        char *str;
 
-       str =  gconf_client_get_string(client, KEY_NOTIFICATION_SCRIPT, NULL);
+       str =  get_string(KEY_NOTIFICATION_SCRIPT);
        if (str && !strlen(str)) {
                free(str);
                str = NULL;
@@ -131,11 +186,9 @@ char *config_get_notif_script()
 void config_set_notif_script(const char *str)
 {
        if (str && strlen(str) > 0)
-               gconf_client_set_string(client,
-                                       KEY_NOTIFICATION_SCRIPT, str, NULL);
+               set_string(KEY_NOTIFICATION_SCRIPT, str);
        else
-               gconf_client_set_string(client,
-                                       KEY_NOTIFICATION_SCRIPT, "", NULL);
+               set_string(KEY_NOTIFICATION_SCRIPT, "");
 }
 
 static struct color *get_background_color()
@@ -143,14 +196,13 @@ static struct color *get_background_color()
        char *scolor;
        struct color *c;
 
-       scolor = get_string(KEY_GRAPH_BACKGROUND_COLOR,
-                           DEFAULT_GRAPH_BACKGROUND_COLOR);
+       scolor = get_string(KEY_GRAPH_BACKGROUND_COLOR);
 
        c = str_to_color(scolor);
        free(scolor);
 
        if (!c)
-               return color_new(0xffff, 0xffff, 0xffff);
+               return color_new(1, 1, 1);
 
        return c;
 }
@@ -160,49 +212,45 @@ static struct color *get_foreground_color()
        char *scolor;
        struct color *c;
 
-       scolor = get_string(KEY_GRAPH_FOREGROUND_COLOR,
-                           DEFAULT_GRAPH_FOREGROUND_COLOR);
+       scolor = get_string(KEY_GRAPH_FOREGROUND_COLOR);
 
        c = str_to_color(scolor);
        free(scolor);
 
        if (!c)
-               return color_new(0x0000, 0x0000, 0x0000);
+               return color_new(0, 0, 0);
 
        return c;
 }
 
 static bool is_alpha_channel_enabled()
 {
-       return gconf_client_get_bool(client, KEY_ALPHA_CHANNEL_ENABLED, NULL);
+       return get_bool(KEY_ALPHA_CHANNEL_ENABLED);
+}
+
+static void set_alpha_channeld_enabled(bool b)
+{
+       set_bool(KEY_ALPHA_CHANNEL_ENABLED, b);
 }
 
 static enum sensorlist_position get_sensorlist_position()
 {
-       return gconf_client_get_int(client,
-                                   KEY_INTERFACE_SENSORLIST_POSITION, NULL);
+       return get_int(KEY_INTERFACE_SENSORLIST_POSITION);
 }
 
 static void set_sensorlist_position(enum sensorlist_position pos)
 {
-       gconf_client_set_int(client,
-                            KEY_INTERFACE_SENSORLIST_POSITION, pos, NULL);
+       set_int(KEY_INTERFACE_SENSORLIST_POSITION, pos);
 }
 
 static double get_graph_background_alpha()
 {
-       double a;
-
-       a = gconf_client_get_float(client, KEY_GRAPH_BACKGROUND_ALPHA, NULL);
-       if (a == 0)
-               gconf_client_set_float(client,
-                                      KEY_GRAPH_BACKGROUND_ALPHA, 1.0, NULL);
-       return a;
+       return get_double(KEY_GRAPH_BACKGROUND_ALPHA);
 }
 
 static void set_graph_background_alpha(double alpha)
 {
-       gconf_client_set_float(client, KEY_GRAPH_BACKGROUND_ALPHA, alpha, NULL);
+       set_double(KEY_GRAPH_BACKGROUND_ALPHA, alpha);
 }
 
 static void set_background_color(const struct color *color)
@@ -213,8 +261,7 @@ static void set_background_color(const struct color *color)
        if (!scolor)
                scolor = strdup(DEFAULT_GRAPH_BACKGROUND_COLOR);
 
-       gconf_client_set_string(client,
-                               KEY_GRAPH_BACKGROUND_COLOR, scolor, NULL);
+       set_string(KEY_GRAPH_BACKGROUND_COLOR, scolor);
 
        free(scolor);
 }
@@ -227,468 +274,572 @@ static void set_foreground_color(const struct color *color)
        if (!str)
                str = strdup(DEFAULT_GRAPH_FOREGROUND_COLOR);
 
-       gconf_client_set_string(client, KEY_GRAPH_FOREGROUND_COLOR, str, NULL);
+       set_string(KEY_GRAPH_FOREGROUND_COLOR, str);
 
        free(str);
 }
 
-static char *get_sensor_att_key(const char *sid, const char *att)
+bool is_slog_enabled()
 {
-       char *esc_sid, *key;
+       return get_bool(KEY_SLOG_ENABLED);
+}
+
+static void set_slog_enabled(bool enabled)
+{
+       set_bool(KEY_SLOG_ENABLED, enabled);
+}
 
-       esc_sid = gconf_escape_key(sid, -1);
-       /* [KEY_SENSORS]/[esc_sid]/[att] */
-       key = malloc(strlen(KEY_SENSORS)
-                    + 1 + 2 * strlen(esc_sid)
-                    + 1 + strlen(att) + 1);
+static void slog_enabled_changed_cbk(GSettings *settings,
+                                    gchar *key,
+                                    gpointer data)
+{
+       if (slog_enabled_cbk)
+               slog_enabled_cbk(data);
+}
 
-       sprintf(key, "%s/%s/%s", KEY_SENSORS, esc_sid, att);
+void config_set_slog_enabled_changed_cbk(void (*cbk)(void *), void *data)
+{
+       log_fct_enter();
 
-       free(esc_sid);
+       slog_enabled_cbk = cbk;
 
-       return key;
+       g_signal_connect_after(settings,
+                              "changed::slog-enabled",
+                              G_CALLBACK(slog_enabled_changed_cbk),
+                              data);
+
+       log_fct_exit();
 }
 
-struct color *
-config_get_sensor_color(const char *sid, const struct color *dft)
+int config_get_slog_interval()
 {
-       char *key, *scolor;
-       struct color *color;
+       return get_int(KEY_SLOG_INTERVAL);
+}
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_COLOR);
+static void set_slog_interval(int interval)
+{
+       if (interval <= 0)
+               interval = 300;
 
-       scolor = gconf_client_get_string(client, key, NULL);
+       set_int(KEY_SLOG_INTERVAL, interval);
+}
 
-       color = NULL;
+static bool is_window_decoration_enabled()
+{
+       return !get_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED);
+}
 
-       if (scolor)
-               color = str_to_color(scolor);
+static bool is_window_keep_below_enabled()
+{
+       return get_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED);
+}
 
-       if (!scolor || !color) {
-               color = color_new(dft->red, dft->green, dft->blue);
-               scolor = color_to_str(color);
-               gconf_client_set_string(client, key, scolor, NULL);
-       }
+static void set_window_decoration_enabled(bool enabled)
+{
+       set_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED, !enabled);
+}
 
-       free(scolor);
-       free(key);
+static void set_window_keep_below_enabled(bool enabled)
+{
+       set_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED, enabled);
+}
 
-       return color;
+bool config_is_smooth_curves_enabled()
+{
+       return get_bool(KEY_GRAPH_SMOOTH_CURVES_ENABLED);
 }
 
-void config_set_sensor_color(const char *sid, const struct color *color)
+void config_set_smooth_curves_enabled(bool b)
 {
-       char *key, *scolor;
+       set_bool(KEY_GRAPH_SMOOTH_CURVES_ENABLED, b);
+}
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_COLOR);
-       scolor = color_to_str(color);
 
-       gconf_client_set_string(client, key, scolor, NULL);
+static void init()
+{
+       log_fct_enter();
 
-       free(scolor);
-       free(key);
+       if (!settings)
+               settings = g_settings_new("psensor");
+
+       log_fct_exit();
 }
 
-int config_get_sensor_alarm_high_threshold(const char *sid)
+void config_cleanup()
 {
-       int res;
-       char *key;
+       config_sync();
+
+       if (settings) {
+               g_settings_sync();
+               g_object_unref(settings);
+               settings = NULL;
+       }
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD);
-       res = gconf_client_get_int(client, key, NULL);
-       free(key);
+       if (user_dir) {
+               free(user_dir);
+               user_dir = NULL;
+       }
+
+       if (key_file) {
+               g_key_file_free(key_file);
+               key_file = NULL;
+       }
+
+       if (sensor_config_path) {
+               free(sensor_config_path);
+               sensor_config_path = NULL;
+       }
 
-       return res;
+       slog_enabled_cbk = NULL;
 }
 
-void
-config_set_sensor_alarm_high_threshold(const char *sid, int threshold)
+struct config *config_load()
 {
-       char *key;
+       struct config *c;
+
+       init();
+
+       c = malloc(sizeof(struct config));
+
+       c->graph_bgcolor = get_background_color();
+       c->graph_fgcolor = get_foreground_color();
+       c->graph_bg_alpha = get_graph_background_alpha();
+       c->alpha_channel_enabled = is_alpha_channel_enabled();
+       c->sensorlist_position = get_sensorlist_position();
+       c->window_decoration_enabled = is_window_decoration_enabled();
+       c->window_keep_below_enabled = is_window_keep_below_enabled();
+       c->slog_enabled = is_slog_enabled();
+       c->slog_interval = config_get_slog_interval();
+
+       c->sensor_update_interval
+           = get_int(KEY_SENSOR_UPDATE_INTERVAL);
+       if (c->sensor_update_interval < 1)
+               c->sensor_update_interval = 1;
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD);
-       gconf_client_set_int(client, key, threshold, NULL);
-       free(key);
+       c->graph_update_interval = get_int(KEY_GRAPH_UPDATE_INTERVAL);
+       if (c->graph_update_interval < 1)
+               c->graph_update_interval = 1;
+
+       c->graph_monitoring_duration = get_int(KEY_GRAPH_MONITORING_DURATION);
+
+       if (c->graph_monitoring_duration < 1)
+               c->graph_monitoring_duration = 10;
+
+       c->menu_bar_disabled = get_bool(KEY_INTERFACE_MENU_BAR_DISABLED);
+
+       c->unity_launcher_count_disabled
+               = get_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED);
+
+       c->hide_on_startup = get_bool(KEY_INTERFACE_HIDE_ON_STARTUP);
+
+       c->window_restore_enabled
+               = get_bool(KEY_INTERFACE_WINDOW_RESTORE_ENABLED);
+
+       c->window_x = get_int(KEY_INTERFACE_WINDOW_X);
+       c->window_y = get_int(KEY_INTERFACE_WINDOW_Y);
+       c->window_w = get_int(KEY_INTERFACE_WINDOW_W);
+       c->window_h = get_int(KEY_INTERFACE_WINDOW_H);
+
+       c->window_divider_pos = get_int(KEY_INTERFACE_WINDOW_DIVIDER_POS);
+
+       if (!c->window_restore_enabled || !c->window_w || !c->window_h) {
+               c->window_w = 800;
+               c->window_h = 200;
+       }
+
+       c->temperature_unit = get_int(KEY_INTERFACE_TEMPERATURE_UNIT);
+
+       c->sensor_values_max_length = compute_values_max_length(c);
+
+       return c;
 }
 
-int config_get_sensor_alarm_low_threshold(const char *sid)
+void config_save(const struct config *c)
 {
-       int res;
-       char *key;
+       set_alpha_channeld_enabled(c->alpha_channel_enabled);
+       set_background_color(c->graph_bgcolor);
+       set_foreground_color(c->graph_fgcolor);
+       set_graph_background_alpha(c->graph_bg_alpha);
+       set_sensorlist_position(c->sensorlist_position);
+       set_window_decoration_enabled(c->window_decoration_enabled);
+       set_window_keep_below_enabled(c->window_keep_below_enabled);
+       set_slog_enabled(c->slog_enabled);
+       set_slog_interval(c->slog_interval);
+
+       set_int(KEY_GRAPH_UPDATE_INTERVAL, c->graph_update_interval);
+
+       set_int(KEY_GRAPH_MONITORING_DURATION, c->graph_monitoring_duration);
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD);
-       res = gconf_client_get_int(client, key, NULL);
-       free(key);
+       set_int(KEY_SENSOR_UPDATE_INTERVAL, c->sensor_update_interval);
 
-       return res;
+       set_bool(KEY_INTERFACE_MENU_BAR_DISABLED, c->menu_bar_disabled);
+
+       set_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED,
+                c->unity_launcher_count_disabled);
+
+       set_bool(KEY_INTERFACE_HIDE_ON_STARTUP, c->hide_on_startup);
+
+       set_bool(KEY_INTERFACE_WINDOW_RESTORE_ENABLED,
+                c->window_restore_enabled);
+
+       set_int(KEY_INTERFACE_WINDOW_X, c->window_x);
+       set_int(KEY_INTERFACE_WINDOW_Y, c->window_y);
+       set_int(KEY_INTERFACE_WINDOW_W, c->window_w);
+       set_int(KEY_INTERFACE_WINDOW_H, c->window_h);
+
+       set_int(KEY_INTERFACE_WINDOW_DIVIDER_POS, c->window_divider_pos);
+
+       set_int(KEY_INTERFACE_TEMPERATURE_UNIT, c->temperature_unit);
 }
 
-void
-config_set_sensor_alarm_low_threshold(const char *sid, int threshold)
+const char *get_psensor_user_dir()
 {
-       char *key;
+       const char *home;
+
+       log_fct_enter();
+
+       if (!user_dir) {
+               home = getenv("HOME");
+
+               if (!home)
+                       return NULL;
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD);
-       gconf_client_set_int(client, key, threshold, NULL);
-       free(key);
+               user_dir = path_append(home, ".psensor");
+
+               if (mkdir(user_dir, 0700) == -1 && errno != EEXIST) {
+                       log_err(_("Failed to create the directory %s: %s"),
+                               user_dir,
+                               strerror(errno));
+
+                       free(user_dir);
+                       user_dir = NULL;
+               }
+       }
+
+       log_fct_exit();
+
+       return user_dir;
 }
 
-bool config_get_sensor_alarm_enabled(const char *sid)
+static const char *get_sensor_config_path()
 {
-       gboolean b;
-       char *key;
+       const char *dir;
+
+       if (!sensor_config_path) {
+               dir = get_psensor_user_dir();
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_ALARM_ENABLED);
-       b = gconf_client_get_bool(client, key, NULL);
-       free(key);
+               if (dir)
+                       sensor_config_path = path_append(dir, "psensor.cfg");
+       }
 
-       return b;
+       return sensor_config_path;
 }
 
-void config_set_sensor_alarm_enabled(const char *sid, bool enabled)
+static GKeyFile *get_sensor_key_file()
 {
-       char *key;
+       int ret;
+       GError *err;
+       const char *path;
+
+       if (!key_file) {
+               path = get_sensor_config_path();
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_ALARM_ENABLED);
-       gconf_client_set_bool(client, key, enabled, NULL);
-       free(key);
+               key_file = g_key_file_new();
+
+               err = NULL;
+               ret = g_key_file_load_from_file(key_file,
+                                               path,
+                                               G_KEY_FILE_KEEP_COMMENTS
+                                               | G_KEY_FILE_KEEP_TRANSLATIONS,
+                                               &err);
+
+               if (!ret)
+                       log_warn(_("Failed to load configuration file %s: %s"),
+                                path,
+                                err->message);
+       }
+
+       return key_file;
 }
 
-bool config_is_sensor_enabled(const char *sid)
+static void save_sensor_key_file()
 {
-       gboolean b;
-       char *key;
+       GKeyFile *kfile;
+       const char *path;
+       char *data;
+
+       log_fct_enter();
+
+       kfile = get_sensor_key_file();
+
+       data = g_key_file_to_data(kfile, NULL, NULL);
+
+       path = get_sensor_config_path();
+
+       if (!g_file_set_contents(path, data, -1, NULL))
+               log_err(_("Failed to save configuration file %s."), path);
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_ENABLED);
-       b = gconf_client_get_bool(client, key, NULL);
-       free(key);
+       free(data);
 
-       return b;
+       log_fct_exit();
 }
 
-void config_set_sensor_enabled(const char *sid, bool enabled)
+void config_sync()
 {
-       char *key;
-
-       key = get_sensor_att_key(sid, ATT_SENSOR_ENABLED);
-       gconf_client_set_bool(client, key, enabled, NULL);
-       free(key);
+       log_fct_enter();
+       if (settings)
+               g_settings_sync();
+       save_sensor_key_file();
+       log_fct_exit();
 }
 
-char *config_get_sensor_name(const char *sid)
+static void sensor_set_str(const char *sid, const char *att, const char *str)
 {
-       char *name, *key;
+       GKeyFile *kfile;
+
+       kfile = get_sensor_key_file();
+       g_key_file_set_string(kfile, sid, att, str);
+}
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_NAME);
-       name = gconf_client_get_string(client, key, NULL);
-       free(key);
+static char *sensor_get_str(const char *sid, const char *att)
+{
+       GKeyFile *kfile;
 
-       return name;
+       kfile = get_sensor_key_file();
+       return g_key_file_get_string(kfile, sid, att, NULL);
 }
 
-void config_set_sensor_name(const char *sid, const char *name)
+static bool sensor_get_bool(const char *sid, const char *att)
 {
-       char *key;
+       GKeyFile *kfile;
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_NAME);
-       gconf_client_set_string(client, key, name, NULL);
-       free(key);
+       kfile = get_sensor_key_file();
+       return g_key_file_get_boolean(kfile, sid, att, NULL);
 }
 
-int config_get_sensor_position(const char *sid)
+static void sensor_set_bool(const char *sid, const char *att, bool enabled)
 {
-       char *key;
-       int pos;
+       GKeyFile *kfile;
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_POSITION);
-       pos = gconf_client_get_int(client, key, NULL);
-       free(key);
+       kfile = get_sensor_key_file();
 
-       return pos;
+       g_key_file_set_boolean(kfile, sid, att, enabled);
 }
 
-void config_set_sensor_position(const char *sid, int pos)
+static int sensor_get_int(const char *sid, const char *att)
 {
-       char *key;
+       GKeyFile *kfile;
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_POSITION);
-       gconf_client_set_int(client, key, pos, NULL);
-       free(key);
+       kfile = get_sensor_key_file();
+       return g_key_file_get_integer(kfile, sid, att, NULL);
 }
 
-bool config_is_appindicator_enabled(const char *sid)
+static void sensor_set_int(const char *sid, const char *att, int i)
 {
-       char *key;
-       gboolean b;
+       GKeyFile *kfile;
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_APPINDICATOR_DISABLED);
-       b = gconf_client_get_bool(client, key, NULL);
-       free(key);
+       kfile = get_sensor_key_file();
 
-       return !b;
+       g_key_file_set_integer(kfile, sid, att, i);
 }
 
-void config_set_appindicator_enabled(const char *sid, bool enabled)
+char *config_get_sensor_name(const char *sid)
 {
-       char *key;
+       return sensor_get_str(sid, ATT_SENSOR_NAME);
+}
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_APPINDICATOR_DISABLED);
-       gconf_client_set_bool(client, key, !enabled, NULL);
-       free(key);
+void config_set_sensor_name(const char *sid, const char *name)
+{
+       sensor_set_str(sid, ATT_SENSOR_NAME, name);
 }
 
-bool config_is_appindicator_label_enabled(const char *sid)
+void config_set_sensor_color(const char *sid, const struct color *color)
 {
-       char *key;
-       gboolean b;
+       char *scolor;
+
+       scolor = color_to_str(color);
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_APPINDICATOR_LABEL_ENABLED);
-       b = gconf_client_get_bool(client, key, NULL);
-       free(key);
+       sensor_set_str(sid, ATT_SENSOR_COLOR, scolor);
 
-       return b;
+       free(scolor);
 }
 
-void config_set_appindicator_label_enabled(const char *sid, bool enabled)
+struct color *
+config_get_sensor_color(const char *sid, const struct color *dft)
 {
-       char *key;
+       char *scolor;
+       struct color *color;
+
+       scolor = sensor_get_str(sid, ATT_SENSOR_COLOR);
+
+       if (scolor)
+               color = str_to_color(scolor);
+       else
+               color = NULL;
+
+       if (!color) {
+               color = color_new(dft->red, dft->green, dft->blue);
+               config_set_sensor_color(sid, color);
+       }
+
+       free(scolor);
 
-       key = get_sensor_att_key(sid, ATT_SENSOR_APPINDICATOR_LABEL_ENABLED);
-       gconf_client_set_bool(client, key, enabled, NULL);
-       free(key);
+       return color;
 }
 
-bool is_slog_enabled()
+bool config_is_sensor_graph_enabled(const char *sid)
 {
-       return gconf_client_get_bool(client, KEY_SLOG_ENABLED, NULL);
+       return sensor_get_bool(sid, ATT_SENSOR_GRAPH_ENABLED);
 }
 
-static void set_slog_enabled(bool enabled)
+void config_set_sensor_graph_enabled(const char *sid, bool enabled)
 {
-       gconf_client_set_bool(client, KEY_SLOG_ENABLED, enabled, NULL);
+       sensor_set_bool(sid, ATT_SENSOR_GRAPH_ENABLED, enabled);
 }
 
-void config_slog_enabled_notify_add(GConfClientNotifyFunc cbk, void *data)
+int config_get_sensor_alarm_high_threshold(const char *sid)
 {
-       log_debug("config_slog_enabled_notify_add");
-       gconf_client_add_dir(client,
-                            KEY_SLOG_ENABLED,
-                            GCONF_CLIENT_PRELOAD_NONE,
-                            NULL);
-       gconf_client_notify_add(client,
-                               KEY_SLOG_ENABLED,
-                               cbk,
-                               data,
-                               NULL,
-                               NULL);
+       return sensor_get_int(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD);
 }
 
-int config_get_slog_interval()
+void config_set_sensor_alarm_high_threshold(const char *sid, int threshold)
 {
-       int res;
-
-       res = gconf_client_get_int(client, KEY_SLOG_INTERVAL, NULL);
+       sensor_set_int(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD, threshold);
+}
 
-       if (res <= 0)
-               return 300;
-       else
-               return res;
+int config_get_sensor_alarm_low_threshold(const char *sid)
+{
+       return sensor_get_int(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD);
 }
 
-static void set_slog_interval(int interval)
+void config_set_sensor_alarm_low_threshold(const char *sid, int threshold)
 {
-       if (interval <= 0)
-               interval = 300;
+       sensor_set_int(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD, threshold);
+}
 
-       gconf_client_set_int(client, KEY_SLOG_INTERVAL, interval, NULL);
+bool config_is_appindicator_enabled(const char *sid)
+{
+       return !sensor_get_bool(sid, ATT_SENSOR_APPINDICATOR_MENU_DISABLED);
 }
 
-static bool is_window_decoration_enabled()
+void config_set_appindicator_enabled(const char *sid, bool enabled)
 {
-       return !gconf_client_get_bool(client,
-                                     KEY_INTERFACE_WINDOW_DECORATION_DISABLED,
-                                     NULL);
+       return sensor_set_bool(sid,
+                              ATT_SENSOR_APPINDICATOR_MENU_DISABLED,
+                              !enabled);
 }
 
-static bool is_window_keep_below_enabled()
+int config_get_sensor_position(const char *sid)
 {
-       return gconf_client_get_bool(client,
-                                    KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED,
-                                    NULL);
+       return sensor_get_int(sid, ATT_SENSOR_POSITION);
 }
 
-static void set_window_decoration_enabled(bool enabled)
+void config_set_sensor_position(const char *sid, int pos)
 {
-       gconf_client_set_bool
-               (client,
-                KEY_INTERFACE_WINDOW_DECORATION_DISABLED, !enabled, NULL);
+       return sensor_set_int(sid, ATT_SENSOR_POSITION, pos);
 }
 
-static void set_window_keep_below_enabled(bool enabled)
+bool config_get_sensor_alarm_enabled(const char *sid)
 {
-       gconf_client_set_bool(client,
-                             KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED,
-                             enabled, NULL);
+       return sensor_get_bool(sid, ATT_SENSOR_ALARM_ENABLED);
 }
 
-/*
- * Initializes the GConf client.
- */
-static void init()
+void config_set_sensor_alarm_enabled(const char *sid, bool enabled)
 {
-       if (!client)
-               client = gconf_client_get_default();
+       sensor_set_bool(sid, ATT_SENSOR_ALARM_ENABLED, enabled);
 }
 
-void config_cleanup()
+bool config_is_sensor_enabled(const char *sid)
 {
-       if (client) {
-               g_object_unref(client);
-               client = NULL;
-       }
+       return !sensor_get_bool(sid, ATT_SENSOR_HIDE);
 }
 
-struct config *config_load()
+void config_set_sensor_enabled(const char *sid, bool enabled)
 {
-       struct config *c;
+       sensor_set_bool(sid, ATT_SENSOR_HIDE, !enabled);
+}
 
-       init();
+bool config_is_appindicator_label_enabled(const char *sid)
+{
+       return sensor_get_bool(sid, ATT_SENSOR_APPINDICATOR_LABEL_ENABLED);
+}
 
-       c = malloc(sizeof(struct config));
+void config_set_appindicator_label_enabled(const char *sid, bool enabled)
+{
+       sensor_set_bool(sid, ATT_SENSOR_APPINDICATOR_LABEL_ENABLED, enabled);
+}
 
-       c->graph_bgcolor = get_background_color();
-       c->graph_fgcolor = get_foreground_color();
-       c->graph_bg_alpha = get_graph_background_alpha();
-       c->alpha_channel_enabled = is_alpha_channel_enabled();
-       c->sensorlist_position = get_sensorlist_position();
-       c->window_decoration_enabled = is_window_decoration_enabled();
-       c->window_keep_below_enabled = is_window_keep_below_enabled();
-       c->slog_enabled = is_slog_enabled();
-       c->slog_interval = config_get_slog_interval();
+GSettings *config_get_GSettings()
+{
+       return settings;
+}
 
-       c->sensor_update_interval
-           = gconf_client_get_int(client, KEY_SENSOR_UPDATE_INTERVAL, NULL);
-       if (c->sensor_update_interval < 1)
-               c->sensor_update_interval = 1;
+bool config_is_lmsensor_enabled()
+{
+       return get_bool(KEY_PROVIDER_LMSENSORS_ENABLED);
+}
 
-       c->graph_update_interval
-           = gconf_client_get_int(client, KEY_GRAPH_UPDATE_INTERVAL, NULL);
-       if (c->graph_update_interval < 1)
-               c->graph_update_interval = 1;
+bool config_is_gtop2_enabled()
+{
+       return get_bool(KEY_PROVIDER_GTOP2_ENABLED);
+}
 
-       c->graph_monitoring_duration
-           = gconf_client_get_int(client, KEY_GRAPH_MONITORING_DURATION, NULL);
+bool config_is_udisks2_enabled()
+{
+       return get_bool(KEY_PROVIDER_UDISKS2_ENABLED);
+}
 
-       if (c->graph_monitoring_duration < 1)
-               c->graph_monitoring_duration = 10;
+bool config_is_hddtemp_enabled()
+{
+       return get_bool(KEY_PROVIDER_HDDTEMP_ENABLED);
+}
 
-       c->sensor_values_max_length
-           =
-           (c->graph_monitoring_duration * 60) / c->sensor_update_interval;
-       if (c->sensor_values_max_length < 3)
-               c->sensor_values_max_length = 3;
+bool config_is_libatasmart_enabled()
+{
+       return get_bool(KEY_PROVIDER_LIBATASMART_ENABLED);
+}
 
-       c->menu_bar_disabled
-               = gconf_client_get_bool(client,
-                                       KEY_INTERFACE_MENU_BAR_DISABLED,
-                                       NULL);
+bool config_is_nvctrl_enabled()
+{
+       return get_bool(KEY_PROVIDER_NVCTRL_ENABLED);
+}
 
-       c->unity_launcher_count_disabled
-               = gconf_client_get_bool
-               (client,
-                KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED,
-                NULL);
+bool config_is_atiadlsdk_enabled()
+{
+       return get_bool(KEY_PROVIDER_ATIADLSDK_ENABLED);
+}
 
-       c->hide_on_startup
-               = gconf_client_get_bool(client,
-                                       KEY_INTERFACE_HIDE_ON_STARTUP,
-                                       NULL);
+void config_set_lmsensor_enable(bool b)
+{
+       set_bool(KEY_PROVIDER_LMSENSORS_ENABLED, b);
+}
 
-       c->window_restore_enabled
-               = gconf_client_get_bool(client,
-                                       KEY_INTERFACE_WINDOW_RESTORE_ENABLED,
-                                       NULL);
-
-       c->window_x = gconf_client_get_int(client,
-                                          KEY_INTERFACE_WINDOW_X,
-                                          NULL);
-       c->window_y = gconf_client_get_int(client,
-                                          KEY_INTERFACE_WINDOW_Y,
-                                          NULL);
-       c->window_w = gconf_client_get_int(client,
-                                          KEY_INTERFACE_WINDOW_W,
-                                          NULL);
-       c->window_h = gconf_client_get_int(client,
-                                          KEY_INTERFACE_WINDOW_H,
-                                          NULL);
-       c->window_divider_pos
-               = gconf_client_get_int(client,
-                                      KEY_INTERFACE_WINDOW_DIVIDER_POS,
-                                      NULL);
+void config_set_nvctrl_enable(bool b)
+{
+       set_bool(KEY_PROVIDER_NVCTRL_ENABLED, b);
+}
 
-       if (!c->window_restore_enabled || !c->window_w || !c->window_h) {
-               c->window_w = 800;
-               c->window_h = 200;
-       }
+void config_set_atiadlsdk_enable(bool b)
+{
+       set_bool(KEY_PROVIDER_ATIADLSDK_ENABLED, b);
+}
 
-       c->temperature_unit = gconf_client_get_int
-               (client, KEY_INTERFACE_TEMPERATURE_UNIT, NULL);
+void config_set_gtop2_enable(bool b)
+{
+       set_bool(KEY_PROVIDER_GTOP2_ENABLED, b);
+}
 
-       return c;
+void config_set_hddtemp_enable(bool b)
+{
+       set_bool(KEY_PROVIDER_HDDTEMP_ENABLED, b);
 }
 
-void config_save(const struct config *c)
+void config_set_libatasmart_enable(bool b)
 {
-       set_background_color(c->graph_bgcolor);
-       set_foreground_color(c->graph_fgcolor);
-       set_graph_background_alpha(c->graph_bg_alpha);
-       set_sensorlist_position(c->sensorlist_position);
-       set_window_decoration_enabled(c->window_decoration_enabled);
-       set_window_keep_below_enabled(c->window_keep_below_enabled);
-       set_slog_enabled(c->slog_enabled);
-       set_slog_interval(c->slog_interval);
+       set_bool(KEY_PROVIDER_LIBATASMART_ENABLED, b);
+}
 
-       gconf_client_set_int(client,
-                            KEY_GRAPH_UPDATE_INTERVAL,
-                            c->graph_update_interval, NULL);
-
-       gconf_client_set_int(client,
-                            KEY_GRAPH_MONITORING_DURATION,
-                            c->graph_monitoring_duration, NULL);
-
-       gconf_client_set_int(client,
-                            KEY_SENSOR_UPDATE_INTERVAL,
-                            c->sensor_update_interval, NULL);
-
-       gconf_client_set_bool(client,
-                             KEY_INTERFACE_MENU_BAR_DISABLED,
-                             c->menu_bar_disabled, NULL);
-
-       gconf_client_set_bool(client,
-                             KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED,
-                             c->unity_launcher_count_disabled, NULL);
-
-       gconf_client_set_bool(client,
-                             KEY_INTERFACE_HIDE_ON_STARTUP,
-                             c->hide_on_startup, NULL);
-
-       gconf_client_set_bool(client,
-                             KEY_INTERFACE_WINDOW_RESTORE_ENABLED,
-                             c->window_restore_enabled,
-                             NULL);
-
-       gconf_client_set_int(client, KEY_INTERFACE_WINDOW_X, c->window_x, NULL);
-       gconf_client_set_int(client, KEY_INTERFACE_WINDOW_Y, c->window_y, NULL);
-       gconf_client_set_int(client, KEY_INTERFACE_WINDOW_W, c->window_w, NULL);
-       gconf_client_set_int(client, KEY_INTERFACE_WINDOW_H, c->window_h, NULL);
-
-       gconf_client_set_int(client,
-                            KEY_INTERFACE_WINDOW_DIVIDER_POS,
-                            c->window_divider_pos,
-                            NULL);
-
-       gconf_client_set_int(client,
-                            KEY_INTERFACE_TEMPERATURE_UNIT,
-                            c->temperature_unit,
-                            NULL);
+void config_set_udisks2_enable(bool b)
+{
+       set_bool(KEY_PROVIDER_UDISKS2_ENABLED, b);
 }
index a63bcb0..ed2e20e 100644 (file)
--- a/src/cfg.h
+++ b/src/cfg.h
 #ifndef _PSENSOR_CONFIG_H_
 #define _PSENSOR_CONFIG_H_
 
-#include <gconf/gconf-client.h>
+#include <gio/gio.h>
 
-#include "bool.h"
-#include "color.h"
+#include <bool.h>
+#include <color.h>
 
 enum temperature_unit {
        CELSIUS,
@@ -44,9 +44,7 @@ struct config {
 
        bool alpha_channel_enabled;
 
-       /*
-        * Position of the sensors list table
-        */
+       /* Position of the sensors list table */
        enum sensorlist_position sensorlist_position;
 
        bool window_decoration_enabled;
@@ -79,9 +77,7 @@ struct config {
        int slog_interval;
 };
 
-/*
-  Loads config from GConf
-*/
+/* Loads psensor configuration */
 struct config *config_load();
 
 void config_save(const struct config *);
@@ -100,8 +96,8 @@ void config_set_sensor_alarm_low_threshold(const char *, int);
 bool config_get_sensor_alarm_enabled(const char *);
 void config_set_sensor_alarm_enabled(const char *, bool);
 
-bool config_is_sensor_enabled(const char *);
-void config_set_sensor_enabled(const char *, bool);
+bool config_is_sensor_graph_enabled(const char *);
+void config_set_sensor_graph_enabled(const char *, bool);
 
 char *config_get_sensor_name(const char *);
 void config_set_sensor_name(const char *, const char *);
@@ -112,14 +108,55 @@ void config_set_appindicator_enabled(const char *, bool);
 bool config_is_appindicator_label_enabled(const char *);
 void config_set_appindicator_label_enabled(const char *, bool);
 
-void config_slog_enabled_notify_add(GConfClientNotifyFunc cbk, void *data);
 bool is_slog_enabled();
+void config_set_slog_enabled_changed_cbk(void (*)(void *), void *);
 
 int config_get_slog_interval();
 
+bool config_is_smooth_curves_enabled();
+void config_set_smooth_curves_enabled(bool);
+
 int config_get_sensor_position(const char *);
 void config_set_sensor_position(const char *, int);
 
 char *config_get_notif_script();
 void config_set_notif_script(const char *);
+
+bool config_is_sensor_enabled(const char *sid);
+void config_set_sensor_enabled(const char *sid, bool enabled);
+
+bool config_is_lmsensor_enabled();
+void config_set_lmsensor_enable(bool);
+
+bool config_is_gtop2_enabled();
+void config_set_gtop2_enable(bool);
+
+bool config_is_udisks2_enabled();
+void config_set_udisks2_enable(bool);
+
+bool config_is_hddtemp_enabled();
+void config_set_hddtemp_enable(bool);
+
+bool config_is_libatasmart_enabled();
+void config_set_libatasmart_enable(bool);
+
+bool config_is_nvctrl_enabled();
+void config_set_nvctrl_enable(bool);
+
+bool config_is_atiadlsdk_enabled();
+void config_set_atiadlsdk_enable(bool);
+
+/*
+ * Returns the user directory containing psensor data (configuration
+ * and log).
+ * Corresponds to $HOME/.psensor/
+ * Creates the directory if it does not exist;
+ * Returns NULL if it cannot be determined.
+ */
+const char *get_psensor_user_dir();
+
+void config_sync();
+
+GSettings *config_get_GSettings();
+
 #endif
index f77b250..a6076fd 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/glade
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(gladedir)"
 DATA = $(glade_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -313,11 +356,11 @@ uninstall-gladeDATA:
        @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(gladedir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -455,16 +498,17 @@ uninstall-am: uninstall-gladeDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-gladeDATA \
-       install-html install-html-am install-info install-info-am \
-       install-man install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
-       uninstall-am uninstall-gladeDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-gladeDATA install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+       pdf-am ps ps-am tags-am uninstall uninstall-am \
+       uninstall-gladeDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index d6da46b..54b1ee1 100644 (file)
@@ -65,6 +65,7 @@
       <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
               <object class="GtkGrid" id="table1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <property name="column_homogeneous">True</property>
                 <child>
                   <object class="GtkCheckButton" id="hide_window_decoration">
               <object class="GtkLabel" id="Interface">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <property name="label" translatable="yes">Interface</property>
               </object>
               <packing>
               <object class="GtkGrid" id="grid4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <child>
                   <object class="GtkCheckButton" id="autostart">
                     <property name="label" translatable="yes">Launch on session startup</property>
               <object class="GtkLabel" id="label5">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <property name="label" translatable="yes">Startup</property>
               </object>
               <packing>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="valign">start</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <property name="row_homogeneous">True</property>
                 <child>
                   <object class="GtkColorButton" id="color_fg">
                     <property name="margin_right">4</property>
                     <property name="margin_top">4</property>
                     <property name="margin_bottom">4</property>
-                    <property name="color">#000000000000</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">1</property>
+                    <property name="top_attach">3</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Foreground:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">1</property>
+                    <property name="top_attach">3</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Background:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">2</property>
+                    <property name="top_attach">4</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                     <property name="margin_right">4</property>
                     <property name="margin_top">4</property>
                     <property name="margin_bottom">4</property>
-                    <property name="color">#000000000000</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">2</property>
+                    <property name="top_attach">4</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Background opacity:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">3</property>
+                    <property name="top_attach">5</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox1">
+                  <object class="GtkLabel" id="label1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_left">4</property>
                     <property name="margin_right">4</property>
-                    <property name="margin_top">4</property>
+                    <property name="margin_top">8</property>
                     <property name="margin_bottom">4</property>
-                    <property name="spacing">8</property>
-                    <child>
-                      <object class="GtkLabel" id="label15">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">&lt;i&gt;Min&lt;/i&gt;</property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkHScale" id="bg_opacity">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="adjustment">opacity</property>
-                        <property name="draw_value">False</property>
-                      </object>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label16">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">&lt;i&gt;Max&lt;/i&gt;</property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Colors</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">3</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
                     <property name="width">2</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label1">
+                  <object class="GtkLabel" id="label7">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="margin_left">4</property>
+                    <property name="margin_left">14</property>
                     <property name="margin_right">4</property>
                     <property name="margin_top">4</property>
                     <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Colors</property>
-                    <attributes>
-                      <attribute name="weight" value="bold"/>
-                    </attributes>
+                    <property name="label" translatable="yes">Monitoring duration:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">2</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label7">
+                  <object class="GtkLabel" id="label6">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Monitoring duration:</property>
+                    <property name="label" translatable="yes">Update interval:</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">5</property>
+                    <property name="top_attach">8</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkSpinButton" id="monitoring_duration">
+                  <object class="GtkLabel" id="Measures">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
+                    <property name="can_focus">False</property>
                     <property name="margin_left">4</property>
                     <property name="margin_right">4</property>
-                    <property name="margin_top">4</property>
+                    <property name="margin_top">8</property>
                     <property name="margin_bottom">4</property>
-                    <property name="invisible_char">•</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <property name="adjustment">mins</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Measures</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">5</property>
-                    <property name="width">1</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">2</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label9">
+                  <object class="GtkBox" id="box1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_left">4</property>
                     <property name="margin_right">4</property>
                     <property name="margin_top">4</property>
                     <property name="margin_bottom">4</property>
-                    <property name="label" translatable="yes">minute(s)</property>
+                    <property name="hexpand">True</property>
+                    <property name="spacing">4</property>
+                    <child>
+                      <object class="GtkLabel" id="label15">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">&lt;i&gt;Min&lt;/i&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScale" id="bg_opacity">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="adjustment">opacity</property>
+                        <property name="draw_value">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label16">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">&lt;i&gt;Max&lt;/i&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
-                    <property name="left_attach">2</property>
+                    <property name="left_attach">1</property>
                     <property name="top_attach">5</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label8">
+                  <object class="GtkBox" id="box2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="margin_left">4</property>
-                    <property name="margin_right">4</property>
-                    <property name="margin_top">4</property>
-                    <property name="margin_bottom">4</property>
-                    <property name="label" translatable="yes">second(s)</property>
+                    <child>
+                      <object class="GtkSpinButton" id="update_interval">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="invisible_char">•</property>
+                        <property name="width_chars">4</property>
+                        <property name="xalign">1</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="input_purpose">alpha</property>
+                        <property name="adjustment">secs</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label8">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="label" translatable="yes">second(s)</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
-                    <property name="left_attach">2</property>
-                    <property name="top_attach">6</property>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">8</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkSpinButton" id="update_interval">
+                  <object class="GtkBox" id="box3">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="margin_left">4</property>
-                    <property name="margin_right">4</property>
-                    <property name="margin_top">4</property>
-                    <property name="margin_bottom">4</property>
-                    <property name="invisible_char">•</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <property name="adjustment">secs</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkSpinButton" id="monitoring_duration">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="invisible_char">•</property>
+                        <property name="width_chars">4</property>
+                        <property name="xalign">1</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="input_purpose">digits</property>
+                        <property name="adjustment">mins</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label9">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="label" translatable="yes">minute(s)</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">6</property>
+                    <property name="top_attach">7</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label6">
+                  <object class="GtkCheckButton" id="graph_smooth_curves">
+                    <property name="label" translatable="yes">Smooth curves</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
                     <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Update interval:</property>
+                    <property name="draw_indicator">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">6</property>
-                    <property name="width">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">2</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="Measures">
+                  <object class="GtkLabel" id="label10">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_left">4</property>
                     <property name="margin_right">4</property>
-                    <property name="margin_top">8</property>
+                    <property name="margin_top">4</property>
                     <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Measures</property>
+                    <property name="label" translatable="yes">Curves</property>
+                    <property name="ellipsize">start</property>
                     <attributes>
                       <attribute name="weight" value="bold"/>
                     </attributes>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">4</property>
-                    <property name="width">1</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
                     <property name="height">1</property>
                   </packing>
                 </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
               </object>
               <packing>
                 <property name="position">2</property>
               <object class="GtkLabel" id="Graph">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <property name="label" translatable="yes">Graph</property>
               </object>
               <packing>
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="valign">start</property>
-                <property name="margin_top">8</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <child>
                   <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
                     <property name="valign">start</property>
                     <property name="margin_left">4</property>
                     <property name="margin_right">4</property>
-                    <property name="margin_top">8</property>
+                    <property name="margin_top">4</property>
                     <property name="margin_bottom">4</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Measure update interval:</property>
                   <object class="GtkEntry" id="notif_script">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
                     <property name="invisible_char">•</property>
                     <property name="activates_default">True</property>
                   </object>
               <object class="GtkLabel" id="Sensors">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <property name="label" translatable="yes">Sensors</property>
               </object>
               <packing>
               </packing>
             </child>
             <child>
+              <object class="GtkGrid" id="grid3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
+                <child>
+                  <object class="GtkCheckButton" id="lmsensors">
+                    <property name="label" translatable="yes">Enable support of lm-sensors</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="nvctrl">
+                    <property name="label" translatable="yes">Enable support of NVCtrl (NVidia)</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="atiadlsdk">
+                    <property name="label" translatable="yes">Enable support of ATI ADL</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="gtop2">
+                    <property name="label" translatable="yes">Enable support of gtop2</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="hddtemp">
+                    <property name="label" translatable="yes">Enable support of hddtemp daemon</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="libatasmart">
+                    <property name="label" translatable="yes">Enable support of libatasmart</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">9</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="udisks2">
+                    <property name="label" translatable="yes">Enable support of udisks2</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="margin_left">14</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">10</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label17">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">center</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="label" translatable="yes">The changes are applied after the restart of psensor.</property>
+                    <attributes>
+                      <attribute name="style" value="italic"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">11</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label22">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">8</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">4</property>
+                    <property name="label" translatable="yes">Hard disk drive</property>
+                    <property name="angle">0.01</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label18">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">8</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">4</property>
+                    <property name="label" translatable="yes">CPU and memory usage</property>
+                    <property name="angle">0.01</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label19">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">8</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">4</property>
+                    <property name="label" translatable="yes">GPU with proprietary driver</property>
+                    <property name="angle">0.01</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label20">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">8</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">4</property>
+                    <property name="label" translatable="yes">Motherboard, CPU and GPU</property>
+                    <property name="angle">0.01</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">4</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label13">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Providers</property>
+              </object>
+              <packing>
+                <property name="position">4</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
               <placeholder/>
             </child>
             <child type="tab">
index cfe2fcd..565d2dd 100644 (file)
       </object>
     </child>
     <child>
-      <object class="GtkSeparatorMenuItem" id="menuitem3">
+      <object class="GtkSeparatorMenuItem" id="menuitem10">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
       </object>
       </object>
     </child>
     <child>
-      <object class="GtkSeparatorMenuItem" id="menuitem4">
+      <object class="GtkSeparatorMenuItem" id="menuitem3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
       </object>
       <column type="gchararray"/>
       <!-- column-name gpointer1 -->
       <column type="gpointer"/>
+      <!-- column-name gboolean2 -->
+      <column type="gboolean"/>
     </columns>
   </object>
   <object class="GtkWindow" id="window">
                   <object class="GtkTreeView" id="sensors_tree">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hexpand">True</property>
+                    <property name="halign">start</property>
                     <property name="vexpand">True</property>
                     <property name="model">sensors_store</property>
                     <property name="search_column">0</property>
                         <property name="mode">none</property>
                       </object>
                     </child>
+                    <child>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn1">
+                        <property name="title" translatable="yes">Sensor</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn2">
+                        <property name="title" translatable="yes">Value</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext2"/>
+                          <attributes>
+                            <attribute name="text">1</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn3">
+                        <property name="title" translatable="yes">Min</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext3"/>
+                          <attributes>
+                            <attribute name="text">2</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn4">
+                        <property name="title" translatable="yes">Max</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext4"/>
+                          <attributes>
+                            <attribute name="text">3</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn5">
+                        <property name="title" translatable="yes">Color</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext5"/>
+                          <attributes>
+                            <attribute name="background">5</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn6">
+                        <property name="title" translatable="yes">Graph</property>
+                        <child>
+                          <object class="GtkCellRendererToggle" id="cellrenderertoggle1">
+                            <signal name="toggled" handler="ui_sensorlist_cb_graph_toggled" swapped="no"/>
+                          </object>
+                          <attributes>
+                            <attribute name="active">6</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                    </child>
                   </object>
                 </child>
               </object>
index f04905b..167c9eb 100644 (file)
@@ -23,6 +23,7 @@
     </columns>
   </object>
   <object class="GtkDialog" id="dialog1">
+    <property name="height_request">300</property>
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Edit Sensor Preferences</property>
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <object class="GtkTreeView" id="sensors_list">
+              <object class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="model">sensors_liststore</property>
-                <property name="headers_clickable">False</property>
-                <property name="reorderable">True</property>
-                <property name="search_column">1</property>
-                <child internal-child="selection">
-                  <object class="GtkTreeSelection" id="treeview-selection1"/>
-                </child>
+                <property name="hscrollbar_policy">never</property>
+                <property name="shadow_type">in</property>
                 <child>
-                  <object class="GtkTreeViewColumn" id="sensor_name_col">
-                    <property name="title" translatable="yes">Name</property>
+                  <object class="GtkTreeView" id="sensors_list">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="model">sensors_liststore</property>
+                    <property name="headers_clickable">False</property>
+                    <property name="reorderable">True</property>
+                    <property name="search_column">1</property>
+                    <child internal-child="selection">
+                      <object class="GtkTreeSelection" id="treeview-selection"/>
+                    </child>
                     <child>
-                      <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
+                      <object class="GtkTreeViewColumn" id="sensor_name_col">
+                        <property name="title" translatable="yes">Name</property>
+                        <property name="expand">True</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                     </child>
                   </object>
                 </child>
               </packing>
             </child>
             <child>
-              <object class="GtkGrid" id="table1">
+              <object class="GtkNotebook" id="notebook2">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="row_spacing">4</property>
-                <property name="column_spacing">4</property>
-                <child>
-                  <object class="GtkEntry" id="sensor_name">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="invisible_char">•</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <signal name="changed" handler="ui_sensorpref_name_changed_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="yalign">0.49000000953674316</property>
-                    <property name="xpad">4</property>
-                    <property name="label" translatable="yes">Type:</property>
-                    <property name="justify">fill</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="sensor_type">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">N/A</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="ypad">4</property>
-                    <property name="label" translatable="yes">Sensor Information</property>
-                    <attributes>
-                      <attribute name="weight" value="bold"/>
-                    </attributes>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="chip_name_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="xpad">4</property>
-                    <property name="label" translatable="yes">Chip:</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">3</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="chip_name">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">N/A</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">3</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label3">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="xpad">4</property>
-                    <property name="label" translatable="yes">Name:</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="xpad">4</property>
-                    <property name="label" translatable="yes">Id:</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">4</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
+                <property name="can_focus">True</property>
+                <property name="margin_left">4</property>
+                <property name="margin_right">4</property>
+                <property name="margin_top">4</property>
+                <property name="margin_bottom">4</property>
                 <child>
-                  <object class="GtkLabel" id="sensor_id">
+                  <object class="GtkGrid" id="table1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
                     <property name="margin_top">4</property>
                     <property name="margin_bottom">4</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">N/A</property>
+                    <property name="row_spacing">4</property>
+                    <property name="column_spacing">4</property>
+                    <child>
+                      <object class="GtkEntry" id="sensor_name">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="invisible_char">•</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <signal name="changed" handler="ui_sensorpref_name_changed_cb" swapped="no"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label4">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0.49000000953674316</property>
+                        <property name="xpad">4</property>
+                        <property name="label" translatable="yes">Type:</property>
+                        <property name="justify">fill</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="sensor_type">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">N/A</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="chip_name_label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">4</property>
+                        <property name="label" translatable="yes">Chip:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="chip_name">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">N/A</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">4</property>
+                        <property name="label" translatable="yes">Name:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">4</property>
+                        <property name="label" translatable="yes">Id:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">3</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="sensor_id">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">N/A</property>
+                        <property name="ellipsize">end</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">3</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
                   </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">4</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
                 </child>
-                <child>
-                  <object class="GtkLabel" id="label5">
+                <child type="tab">
+                  <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="ypad">4</property>
-                    <property name="label" translatable="yes">Graph</property>
-                    <attributes>
-                      <attribute name="weight" value="bold"/>
-                    </attributes>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">5</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkCheckButton" id="sensor_draw">
-                    <property name="label" translatable="yes">Draw sensor curve</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
                     <property name="margin_left">4</property>
-                    <property name="xalign">0</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="ui_sensorpref_draw_toggled_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">6</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label7">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="xpad">4</property>
-                    <property name="label" translatable="yes">Color:</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">7</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkColorButton" id="sensor_color">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="halign">start</property>
-                    <property name="xalign">0</property>
-                    <signal name="color-set" handler="ui_sensorpref_color_set_cb" swapped="no"/>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="label" translatable="yes">Details</property>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">7</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
+                    <property name="tab_fill">False</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label6">
+                  <object class="GtkGrid" id="grid1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="ypad">4</property>
-                    <property name="label" translatable="yes">Alarm</property>
-                    <attributes>
-                      <attribute name="weight" value="bold"/>
-                    </attributes>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">8</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkCheckButton" id="sensor_alarm">
-                    <property name="label" translatable="yes">Activate desktop notifications</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
                     <property name="margin_left">4</property>
-                    <property name="xalign">0</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="ui_sensorpref_alarm_toggled_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">9</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="alarm_high_threshold_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0.0099999997764825821</property>
-                    <property name="xpad">4</property>
-                    <property name="label" translatable="yes">High threshold:</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">10</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="alarm_low_threshold_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0.0099999997764825821</property>
-                    <property name="xpad">4</property>
-                    <property name="label" translatable="yes">Low threshold:</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="row_spacing">4</property>
+                    <property name="column_spacing">4</property>
+                    <child>
+                      <object class="GtkCheckButton" id="sensor_draw">
+                        <property name="label" translatable="yes">Draw sensor curve</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="ui_sensorpref_draw_toggled_cb" swapped="no"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">2</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label7">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">4</property>
+                        <property name="label" translatable="yes">Color:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkColorButton" id="sensor_color">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="halign">start</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <signal name="color-set" handler="ui_sensorpref_color_set_cb" swapped="no"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="sensor_enable_checkbox">
+                        <property name="label" translatable="yes">Display sensor in the list of sensors</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="ui_sensorpref_display_toggled_cb" swapped="no"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">2</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">11</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
-                <child>
-                  <object class="GtkLabel" id="indicator_label">
+                <child type="tab">
+                  <object class="GtkLabel" id="label12">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="ypad">4</property>
-                    <property name="label" translatable="yes">Application Indicator</property>
-                    <attributes>
-                      <attribute name="weight" value="bold"/>
-                    </attributes>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">12</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkCheckButton" id="indicator_checkbox">
-                    <property name="label" translatable="yes">Display sensor in the menu</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
                     <property name="margin_left">4</property>
-                    <property name="xalign">0</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="ui_sensorpref_appindicator_menu_toggled_cb" swapped="no"/>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="label" translatable="yes">Graph</property>
                   </object>
                   <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">13</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
+                    <property name="position">1</property>
+                    <property name="tab_fill">False</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="indicator_label_checkbox">
-                    <property name="label" translatable="yes">Display sensor in the label (experimental)</property>
+                  <object class="GtkGrid" id="grid2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="receives_default">False</property>
                     <property name="margin_left">4</property>
-                    <property name="xalign">0</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="ui_sensorpref_appindicator_label_toggled_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">14</property>
-                    <property name="width">2</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkBox" id="box1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="row_spacing">4</property>
+                    <property name="column_spacing">4</property>
                     <child>
-                      <object class="GtkSpinButton" id="sensor_alarm_high_threshold">
+                      <object class="GtkCheckButton" id="sensor_alarm">
+                        <property name="label" translatable="yes">Activate desktop notifications</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">•</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="adjustment">alarm_high_threshold_value</property>
-                        <property name="climb_rate">1</property>
-                        <property name="snap_to_ticks">True</property>
-                        <property name="numeric">True</property>
-                        <property name="update_policy">if-valid</property>
-                        <signal name="value-changed" handler="ui_sensorpref_alarm_high_threshold_changed_cb" swapped="no"/>
+                        <property name="receives_default">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="ui_sensorpref_alarm_toggled_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">2</property>
+                        <property name="height">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="sensor_alarm_high_threshold_unit">
+                      <object class="GtkLabel" id="alarm_high_threshold_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">center</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">N/A</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0.0099999997764825821</property>
+                        <property name="xpad">4</property>
+                        <property name="label" translatable="yes">High threshold:</property>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkBox" id="box1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <object class="GtkSpinButton" id="sensor_alarm_high_threshold">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="margin_left">4</property>
+                            <property name="margin_right">4</property>
+                            <property name="margin_top">4</property>
+                            <property name="margin_bottom">4</property>
+                            <property name="invisible_char">•</property>
+                            <property name="text" translatable="yes">0</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                            <property name="adjustment">alarm_high_threshold_value</property>
+                            <property name="climb_rate">1</property>
+                            <property name="snap_to_ticks">True</property>
+                            <property name="numeric">True</property>
+                            <property name="update_policy">if-valid</property>
+                            <signal name="value-changed" handler="ui_sensorpref_alarm_high_threshold_changed_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="sensor_alarm_high_threshold_unit">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="valign">center</property>
+                            <property name="margin_right">4</property>
+                            <property name="margin_top">4</property>
+                            <property name="margin_bottom">4</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">N/A</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkBox" id="box20">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <object class="GtkSpinButton" id="sensor_alarm_low_threshold">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="margin_left">4</property>
+                            <property name="margin_right">4</property>
+                            <property name="margin_top">4</property>
+                            <property name="margin_bottom">4</property>
+                            <property name="invisible_char">•</property>
+                            <property name="text" translatable="yes">-1</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                            <property name="adjustment">alarm_low_threshold_value</property>
+                            <property name="climb_rate">1</property>
+                            <property name="snap_to_ticks">True</property>
+                            <property name="numeric">True</property>
+                            <property name="update_policy">if-valid</property>
+                            <property name="value">-1</property>
+                            <signal name="value-changed" handler="ui_sensorpref_alarm_low_threshold_changed_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="sensor_alarm_low_threshold_unit">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="valign">center</property>
+                            <property name="margin_right">4</property>
+                            <property name="margin_top">4</property>
+                            <property name="margin_bottom">4</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">N/A</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="alarm_low_threshold_label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0.0099999997764825821</property>
+                        <property name="xpad">4</property>
+                        <property name="label" translatable="yes">Low threshold:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">10</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label13">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="label" translatable="yes">Alarm</property>
+                  </object>
+                  <packing>
+                    <property name="position">2</property>
+                    <property name="tab_fill">False</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkBox" id="box20">
+                  <object class="GtkGrid" id="grid3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="row_spacing">4</property>
+                    <property name="column_spacing">4</property>
                     <child>
-                      <object class="GtkSpinButton" id="sensor_alarm_low_threshold">
+                      <object class="GtkCheckButton" id="indicator_checkbox">
+                        <property name="label" translatable="yes">Display sensor in the menu</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="invisible_char">•</property>
-                        <property name="text" translatable="yes">-1</property>
-                        <property name="primary_icon_activatable">False</property>
-                        <property name="secondary_icon_activatable">False</property>
-                        <property name="adjustment">alarm_low_threshold_value</property>
-                        <property name="climb_rate">1</property>
-                        <property name="snap_to_ticks">True</property>
-                        <property name="numeric">True</property>
-                        <property name="update_policy">if-valid</property>
-                        <property name="value">-1</property>
-                        <signal name="value-changed" handler="ui_sensorpref_alarm_low_threshold_changed_cb" swapped="no"/>
+                        <property name="receives_default">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="ui_sensorpref_appindicator_menu_toggled_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="sensor_alarm_low_threshold_unit">
+                      <object class="GtkCheckButton" id="indicator_label_checkbox">
+                        <property name="label" translatable="yes">Display sensor in the label (experimental)</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="valign">center</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="margin_left">4</property>
+                        <property name="margin_right">4</property>
+                        <property name="margin_top">4</property>
+                        <property name="margin_bottom">4</property>
                         <property name="xalign">0</property>
-                        <property name="label" translatable="yes">N/A</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="ui_sensorpref_appindicator_label_toggled_cb" swapped="no"/>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">11</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child type="tab">
+                  <object class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">4</property>
+                    <property name="margin_right">4</property>
+                    <property name="margin_top">4</property>
+                    <property name="margin_bottom">4</property>
+                    <property name="label" translatable="yes">Application Indicator</property>
+                  </object>
+                  <packing>
+                    <property name="position">3</property>
+                    <property name="tab_fill">False</property>
                   </packing>
                 </child>
               </object>
               <packing>
                 <property name="resize">True</property>
-                <property name="shrink">False</property>
+                <property name="shrink">True</property>
               </packing>
             </child>
           </object>
index 7205e63..792bb25 100644 (file)
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#include "cfg.h"
+#include <math.h>
+
+#include <cfg.h>
 #include <plog.h>
-#include "psensor.h"
+#include <psensor.h>
 
 /* horizontal padding */
-#define GRAPH_H_PADDING 4
+const int GRAPH_H_PADDING = 4;
 /* vertical padding */
-#define GRAPH_V_PADDING 4
+const int GRAPH_V_PADDING = 4;
+
+bool is_smooth_curves_enabled;
+
+struct graph_info {
+       /* Horizontal position of the central area (curves) */
+       int g_xoff;
+       /* Vertical position of the central area (curves) */
+       int g_yoff;
+
+       /* Width of the central area (curves) */
+       int g_width;
+       /* Height of the central area (curves) */
+       int g_height;
+
+       /* Height of the drawing canvas */
+       int height;
+       /* Width of the drawing canvas */
+       int width;
+
+       /* Background color of the current desktop theme */
+       GdkRGBA theme_bg_color;
+       /* Foreground color of the current desktop theme */
+       GdkRGBA theme_fg_color;
+};
 
-static time_t get_graph_end_time_s()
+/* Return the end time of the graph i.e. the more recent measure.  If
+ * no measure are available, return 0.
+ * If Bezier curves are used return the measure n-3 to avoid to
+ * display a part of the curve outside the graph area.
+ */
+static time_t get_graph_end_time_s(struct psensor **sensors)
 {
-       struct timeval tv;
+       time_t ret, t;
+       struct psensor *s;
+       struct measure *measures;
+       int i, n;
+
+       ret = 0;
+       while (*sensors) {
+               s = *sensors;
+               measures = s->measures;
+
+               if (is_smooth_curves_enabled)
+                       n = 2;
+               else
+                       n = 0;
+
+               for (i = s->values_max_length - 1; i >= 0; i--) {
+                       if (measures[i].value != UNKNOWN_DBL_VALUE) {
+                               if (!n) {
+                                       t = measures[i].time.tv_sec;
+
+                                       if (t > ret) {
+                                               ret = t;
+                                               break;
+                                       }
+                               } else {
+                                       n--;
+                               }
+                       }
+                       i--;
+               }
 
-       if (gettimeofday(&tv, NULL) == 0)
-               return tv.tv_sec;
-       else
-               return 0;
+               sensors++;
+       }
+
+       return ret;
 }
 
-static time_t get_graph_begin_time_s(struct config *cfg)
+static time_t get_graph_begin_time_s(struct config *cfg, time_t etime)
 {
-       int ct;
-
-       ct = get_graph_end_time_s();
-
-       if (!ct)
+       if (!etime)
                return 0;
 
-       return ct - cfg->graph_monitoring_duration * 60;
+       return etime - cfg->graph_monitoring_duration * 60;
 }
 
-static int compute_y(double value, double min, double max, int height, int off)
+static double
+compute_y(double value, double min, double max, int height, int off)
 {
        double t = value - min;
+
        return height - ((double)height * (t / (max - min))) + off;
 }
 
@@ -76,52 +134,74 @@ static char *time_to_str(time_t s)
        return str;
 }
 
+static void draw_left_region(cairo_t *cr, struct graph_info *info)
+{
+       cairo_set_source_rgb(cr,
+                            info->theme_bg_color.red,
+                            info->theme_bg_color.green,
+                            info->theme_bg_color.blue);
+
+       cairo_rectangle(cr, 0, 0, info->g_xoff, info->height);
+       cairo_fill(cr);
+}
+
+static void draw_right_region(cairo_t *cr, struct graph_info *info)
+{
+       cairo_set_source_rgb(cr,
+                            info->theme_bg_color.red,
+                            info->theme_bg_color.green,
+                            info->theme_bg_color.blue);
+
+
+       cairo_rectangle(cr,
+                       info->g_xoff + info->g_width,
+                       0,
+                       info->g_xoff + info->g_width + GRAPH_H_PADDING,
+                       info->height);
+       cairo_fill(cr);
+}
+
 static void
 draw_graph_background(cairo_t *cr,
-                     int g_xoff, int g_yoff,
-                     int g_width, int g_height,
-                     int width, int height, struct config *config,
-                     GtkWidget *widget,
-                     GtkWidget *window)
+                     struct config *config,
+                     struct graph_info *info)
 {
-       GtkStyleContext *style_ctx;
        struct color *bgcolor;
-       GdkRGBA rgba;
 
        bgcolor = config->graph_bgcolor;
 
-       style_ctx = gtk_widget_get_style_context(window);
-       gtk_style_context_get_background_color(style_ctx,
-                                              GTK_STATE_FLAG_NORMAL,
-                                              &rgba);
-
        if (config->alpha_channel_enabled)
                cairo_set_source_rgba(cr,
-                                     rgba.red,
-                                     rgba.green,
-                                     rgba.blue,
+                                     info->theme_bg_color.red,
+                                     info->theme_bg_color.green,
+                                     info->theme_bg_color.blue,
                                      config->graph_bg_alpha);
        else
                cairo_set_source_rgb(cr,
-                                    rgba.red,
-                                    rgba.green,
-                                    rgba.blue);
+                                    info->theme_bg_color.red,
+                                    info->theme_bg_color.green,
+                                    info->theme_bg_color.blue);
 
-       cairo_rectangle(cr, 0, 0, width, height);
+       cairo_rectangle(cr, info->g_xoff, 0, info->g_width, info->height);
        cairo_fill(cr);
+
        if (config->alpha_channel_enabled)
                cairo_set_source_rgba(cr,
-                                     bgcolor->f_red,
-                                     bgcolor->f_green,
-                                     bgcolor->f_blue,
+                                     bgcolor->red,
+                                     bgcolor->green,
+                                     bgcolor->blue,
                                      config->graph_bg_alpha);
        else
                cairo_set_source_rgb(cr,
-                                    bgcolor->f_red,
-                                    bgcolor->f_green,
-                                    bgcolor->f_blue);
-
-       cairo_rectangle(cr, g_xoff, g_yoff, g_width, g_height);
+                                    bgcolor->red,
+                                    bgcolor->green,
+                                    bgcolor->blue);
+
+       cairo_rectangle(cr,
+                       info->g_xoff,
+                       info->g_yoff,
+                       info->g_width,
+                       info->g_height);
        cairo_fill(cr);
 }
 
@@ -133,60 +213,173 @@ static double dashes[] = {
 static int ndash = sizeof(dashes) / sizeof(dashes[0]);
 
 static void draw_background_lines(cairo_t *cr,
-                                 struct color *color,
-                                 int g_width, int g_height,
-                                 int g_xoff, int g_yoff,
-                                 int min, int max)
+                                 int min, int max,
+                                 struct config *config,
+                                 struct graph_info *info)
 {
        int i;
+       double x, y;
+       struct color *color;
+
+       color = config->graph_fgcolor;
 
        /* draw background lines */
        cairo_set_line_width(cr, 1);
        cairo_set_dash(cr, dashes, ndash, 0);
-       cairo_set_source_rgb(cr,
-                            color->f_red, color->f_green, color->f_blue);
+       cairo_set_source_rgb(cr, color->red, color->green, color->blue);
 
        /* vertical lines representing time steps */
        for (i = 0; i <= 5; i++) {
-               int x = i * (g_width / 5) + g_xoff;
-               cairo_move_to(cr, x, g_yoff);
-               cairo_line_to(cr, x, g_yoff + g_height);
-               cairo_stroke(cr);
+               x = i * ((double)info->g_width / 5) + info->g_xoff;
+               cairo_move_to(cr, x, info->g_yoff);
+               cairo_line_to(cr, x, info->g_yoff + info->g_height);
        }
 
        /* horizontal lines draws a line for each 10C step */
        for (i = min; i < max; i++) {
                if (i % 10 == 0) {
-                       int y = compute_y(i, min, max, g_height, g_yoff);
-
-                       cairo_move_to(cr, g_xoff, y);
-                       cairo_line_to(cr, g_xoff + g_width, y);
-                       cairo_stroke(cr);
+                       y = compute_y(i,
+                                     min,
+                                     max,
+                                     info->g_height,
+                                     info->g_yoff);
+
+                       cairo_move_to(cr, info->g_xoff, y);
+                       cairo_line_to(cr, info->g_xoff + info->g_width, y);
                }
        }
 
+       cairo_stroke(cr);
+
        /* back to normal line style */
        cairo_set_dash(cr, 0, 0, 0);
 }
 
+/* Keys: sensor identifier.
+ *
+ * Values: array of time_t. Each time_t is corresponding to a sensor
+ * measure which has been used as the start point of a Bezier curve.
+ */
+static GHashTable *times;
+
+static void draw_sensor_smooth_curve(struct psensor *s,
+                                    cairo_t *cr,
+                                    double min,
+                                    double max,
+                                    int bt,
+                                    int et,
+                                    struct graph_info *info)
+{
+       int i, dt, vdt, j, k, found;
+       double x[4], y[4], v;
+       time_t t, t0, *stimes;
+
+       if (!times)
+               times = g_hash_table_new_full(g_str_hash,
+                                             g_str_equal,
+                                             free,
+                                             free);
+
+       stimes = g_hash_table_lookup(times, s->id);
+
+       cairo_set_source_rgb(cr,
+                            s->color->red,
+                            s->color->green,
+                            s->color->blue);
+
+       /* search the index of the first measure used as a start point
+        * of a Bezier curve. The start and end points of the Bezier
+        * curves must be preserved to ensure the same overall shape
+        * of the graph. */
+       i = 0;
+       if (stimes) {
+               while (i < s->values_max_length) {
+                       t = s->measures[i].time.tv_sec;
+                       v = s->measures[i].value;
+
+                       found = 0;
+                       if (v != UNKNOWN_DBL_VALUE && t) {
+                               k = 0;
+                               while (stimes[k]) {
+                                       if (t == stimes[k]) {
+                                               found = 1;
+                                               break;
+                                       }
+                                       k++;
+                               }
+                       }
+
+                       if (found)
+                               break;
+
+                       i++;
+               }
+       }
+
+       stimes = malloc((s->values_max_length + 1) * sizeof(time_t));
+       memset(stimes, 0, (s->values_max_length + 1) * sizeof(time_t));
+       g_hash_table_insert(times, strdup(s->id), stimes);
+
+       if (i == s->values_max_length)
+               i = 0;
+
+       k = 0;
+       dt = et - bt;
+       while (i < s->values_max_length) {
+               j = 0;
+               t = 0;
+               while (i < s->values_max_length && j < 4) {
+                       t = s->measures[i].time.tv_sec;
+                       v = s->measures[i].value;
+
+                       if (v == UNKNOWN_DBL_VALUE || !t) {
+                               i++;
+                               continue;
+                       }
+
+                       vdt = t - bt;
+
+                       x[0 + j] = ((double)vdt * info->g_width)
+                               / dt + info->g_xoff;
+                       y[0 + j] = compute_y(v,
+                                            min,
+                                            max,
+                                            info->g_height,
+                                            info->g_yoff);
+
+                       if (j == 0)
+                               t0 = t;
+
+                       i++;
+                       j++;
+               }
+
+               if (j == 4) {
+                       cairo_move_to(cr, x[0], y[0]);
+                       cairo_curve_to(cr, x[1], y[1], x[2], y[3], x[3], y[3]);
+                       stimes[k++] = t0;
+                       i--;
+               }
+       }
+
+       cairo_stroke(cr);
+}
+
 static void draw_sensor_curve(struct psensor *s,
                              cairo_t *cr,
                              double min,
                              double max,
                              int bt,
                              int et,
-                             int g_width,
-                             int g_height,
-                             int g_xoff,
-                             int g_yoff)
+                             struct graph_info *info)
 {
-       int first, i, x, y, t, dt, vdt;
-       double v;
+       int first, i, t, dt, vdt;
+       double v, x, y;
 
        cairo_set_source_rgb(cr,
-                            s->color->f_red,
-                            s->color->f_green,
-                            s->color->f_blue);
+                            s->color->red,
+                            s->color->green,
+                            s->color->blue);
 
        dt = et - bt;
        first = 1;
@@ -198,12 +391,10 @@ static void draw_sensor_curve(struct psensor *s,
                        continue;
 
                vdt = t - bt;
-               if (vdt < 0)
-                       continue;
 
-               x = vdt * g_width / dt + g_xoff;
+               x = ((double)vdt * info->g_width) / dt + info->g_xoff;
 
-               y = compute_y(v, min, max, g_height, g_yoff);
+               y = compute_y(v, min, max, info->g_height, info->g_yoff);
 
                if (first) {
                        cairo_move_to(cr, x, y);
@@ -240,12 +431,11 @@ graph_update(struct psensor **sensors,
             struct config *config,
             GtkWidget *window)
 {
-       struct color *fgcolor = config->graph_fgcolor;
        int et, bt, width, height, g_width, g_height;
-       double min_rpm, max_rpm, mint, maxt;
+       double min_rpm, max_rpm, mint, maxt, min, max;
        char *strmin, *strmax;
        /* horizontal and vertical offset of the graph */
-       int g_xoff, g_yoff, no_graphs, min, max;
+       int g_xoff, g_yoff, no_graphs;
        cairo_surface_t *cst;
        cairo_t *cr, *cr_pixmap;
        char *str_btime, *str_etime;
@@ -253,10 +443,10 @@ graph_update(struct psensor **sensors,
        struct psensor **sensor_cur, **enabled_sensors;
        GtkAllocation galloc;
        GtkStyleContext *style_ctx;
-       GdkRGBA rgba;
+       struct graph_info info;
 
        if (!gtk_widget_is_drawable(w_graph))
-               return ;
+               return;
 
        enabled_sensors = psensor_list_filter_graph_enabled(sensors);
 
@@ -273,12 +463,18 @@ graph_update(struct psensor **sensors,
                                      maxt,
                                      config->temperature_unit == CELSIUS);
 
-       str_btime = time_to_str(get_graph_begin_time_s(config));
-       str_etime = time_to_str(get_graph_end_time_s());
+       et = get_graph_end_time_s(enabled_sensors);
+       bt = get_graph_begin_time_s(config, et);
+
+       str_btime = time_to_str(bt);
+       str_etime = time_to_str(et);
 
        gtk_widget_get_allocation(w_graph, &galloc);
        width = galloc.width;
+       info.width = galloc.width;
        height = galloc.height;
+       info.height = height;
+
 
        cst = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height);
        cr = cairo_create(cst);
@@ -295,6 +491,7 @@ graph_update(struct psensor **sensors,
        cairo_text_extents(cr, strmin, &te_min);
 
        g_yoff = GRAPH_V_PADDING;
+       info.g_yoff = g_yoff;
 
        g_height = height - GRAPH_V_PADDING;
        if (te_etime.height > te_btime.height)
@@ -302,23 +499,33 @@ graph_update(struct psensor **sensors,
        else
                g_height -= GRAPH_V_PADDING + te_btime.height + GRAPH_V_PADDING;
 
+       info.g_height = g_height;
+
        if (te_min.width > te_max.width)
                g_xoff = (2 * GRAPH_H_PADDING) + te_max.width;
        else
                g_xoff = (2 * GRAPH_H_PADDING) + te_min.width;
 
+       info.g_xoff = g_xoff;
+
+       style_ctx = gtk_widget_get_style_context(window);
+       gtk_style_context_get_background_color(style_ctx,
+                                              GTK_STATE_FLAG_NORMAL,
+                                              &info.theme_bg_color);
+       gtk_style_context_get_color(style_ctx,
+                                   GTK_STATE_FLAG_NORMAL,
+                                   &info.theme_fg_color);
+
        g_width = width - g_xoff - GRAPH_H_PADDING;
+       info.g_width = g_width;
 
-       draw_graph_background(cr,
-                             g_xoff, g_yoff, g_width, g_height,
-                             width, height, config,
-                             w_graph,
-                             window);
+       draw_graph_background(cr, config, &info);
 
-       /** Set the color for text drawing */
-       style_ctx = gtk_widget_get_style_context(window);
-       gtk_style_context_get_color(style_ctx, GTK_STATE_FLAG_NORMAL, &rgba);
-       cairo_set_source_rgb(cr, rgba.red, rgba.green, rgba.blue);
+       /* Set the color for text drawing */
+       cairo_set_source_rgb(cr,
+                            info.theme_fg_color.red,
+                            info.theme_fg_color.green,
+                            info.theme_fg_color.blue);
 
        /* draw graph begin time */
        cairo_move_to(cr, g_xoff, height - GRAPH_V_PADDING);
@@ -332,25 +539,9 @@ graph_update(struct psensor **sensors,
        cairo_show_text(cr, str_etime);
        free(str_etime);
 
-       /* draw min and max temp */
-       cairo_move_to(cr, GRAPH_H_PADDING, te_max.height + GRAPH_V_PADDING);
-       cairo_show_text(cr, strmax);
-       free(strmax);
-
-       cairo_move_to(cr,
-                     GRAPH_H_PADDING, height - (te_min.height / 2) - g_yoff);
-       cairo_show_text(cr, strmin);
-       free(strmin);
-
-       draw_background_lines(cr, fgcolor,
-                             g_width, g_height,
-                             g_xoff, g_yoff,
-                             mint, maxt);
+       draw_background_lines(cr, mint, maxt, config, &info);
 
        /* .. and finaly draws the temperature graphs */
-       bt = get_graph_begin_time_s(config);
-       et = get_graph_end_time_s();
-
        if (bt && et) {
                sensor_cur = enabled_sensors;
 
@@ -361,23 +552,28 @@ graph_update(struct psensor **sensors,
                        struct psensor *s = *sensor_cur;
 
                        no_graphs = 0;
-                       if (is_fan_type(s->type)) {
+                       if (s->type & SENSOR_TYPE_RPM) {
                                min = min_rpm;
                                max = max_rpm;
-                       } else if (s->type & SENSOR_TYPE_CPU_USAGE) {
+                       } else if (s->type & SENSOR_TYPE_PERCENT) {
                                min = 0;
                                max = get_max_value(enabled_sensors,
-                                                   SENSOR_TYPE_CPU_USAGE);
+                                                   SENSOR_TYPE_PERCENT);
                        } else {
                                min = mint;
                                max = maxt;
                        }
 
-                       draw_sensor_curve(s, cr,
-                                         min, max,
-                                         bt, et,
-                                         g_width, g_height,
-                                         g_xoff, g_yoff);
+                       if (is_smooth_curves_enabled)
+                               draw_sensor_smooth_curve(s, cr,
+                                                        min, max,
+                                                        bt, et,
+                                                        &info);
+                       else
+                               draw_sensor_curve(s, cr,
+                                                 min, max,
+                                                 bt, et,
+                                                 &info);
 
                        sensor_cur++;
                }
@@ -388,10 +584,27 @@ graph_update(struct psensor **sensors,
                                                  g_height / 2);
        }
 
+       draw_left_region(cr, &info);
+       draw_right_region(cr, &info);
+
+       /* draw min and max temp */
+       cairo_set_source_rgb(cr,
+                            info.theme_fg_color.red,
+                            info.theme_fg_color.green,
+                            info.theme_fg_color.blue);
+
+       cairo_move_to(cr, GRAPH_H_PADDING, te_max.height + GRAPH_V_PADDING);
+       cairo_show_text(cr, strmax);
+       free(strmax);
+
+       cairo_move_to(cr,
+                     GRAPH_H_PADDING, height - (te_min.height / 2) - g_yoff);
+       cairo_show_text(cr, strmin);
+       free(strmin);
+
        cr_pixmap = gdk_cairo_create(gtk_widget_get_window(w_graph));
 
        if (cr_pixmap) {
-
                if (config->alpha_channel_enabled)
                        cairo_set_operator(cr_pixmap, CAIRO_OPERATOR_SOURCE);
 
@@ -405,3 +618,15 @@ graph_update(struct psensor **sensors,
        cairo_surface_destroy(cst);
        cairo_destroy(cr);
 }
+
+int compute_values_max_length(struct config *c)
+{
+       int n, duration, interval;
+
+       duration = c->graph_monitoring_duration * 60;
+       interval = c->sensor_update_interval;
+
+       n = 3 + ceil((((double)duration) / interval) + 0.5) + 3;
+
+       return n;
+}
index 88d4e0e..7dae2c1 100644 (file)
 
 #include <gtk/gtk.h>
 
-#include "psensor.h"
-#include "cfg.h"
+#include <cfg.h>
+#include <psensor.h>
+
+extern bool is_smooth_curves_enabled;
 
 void graph_update(struct psensor **sensors,
-                 GtkWidget * w_graph,
+                 GtkWidget *w_graph,
                  struct config *config,
-                 GtkWidget * window);
+                 GtkWidget *window);
+
+/* Compute the number of measures which must be kept. */
+int compute_values_max_length(struct config *);
 
 #endif
index df0c5eb..6bf03c3 100644 (file)
@@ -1,19 +1,20 @@
 noinst_LIBRARIES = libpsensor.a
 
 libpsensor_a_SOURCES = \
-       amd.h \
-       bool.h \
-       color.h color.c \
-       cpu.h \
+       amd.h\
+       bool.h\
+       color.h color.c\
        hdd.h hdd_hddtemp.c\
-       lmsensor.h lmsensor.c \
-       plog.h plog.c \
+       lmsensor.h lmsensor.c\
        measure.h measure.c \
-       ptime.h ptime.c \
-       nvidia.h \
+       nvidia.h\
+       plog.h plog.c\
+       pmutex.h pmutex.c\
        psensor.h psensor.c\
-       pio.h pio.c \
-       slog.c slog.h \
+       ptime.h ptime.c\
+       pio.h pio.c\
+       slog.c slog.h\
+       temperature.c temperature.h\
        url.c url.h
 
 AM_CPPFLAGS = -Wall -Werror
@@ -35,7 +36,7 @@ libpsensor_a_SOURCES += amd.c
 endif
 
 if GTOP
-libpsensor_a_SOURCES += cpu.c
+libpsensor_a_SOURCES += pgtop2.c pgtop2.h
 LIBS += $(GTOP_LIBS)
 AM_CPPFLAGS += $(GTOP_CFLAGS)
 endif
@@ -46,7 +47,14 @@ LIBS += $(JSON_LIBS)
 AM_CPPFLAGS += $(JSON_CFLAGS)
 endif
 
+if LIBUDISKS2
+libpsensor_a_SOURCES += pudisks2.c pudisks2.h
+LIBS += $(LIBUDISKS2_LIBS)
+AM_CPPFLAGS += $(LIBUDISKS2_CFLAGS)
+endif
+
 EXTRA_DIST=$(libpsensor_a_SOURCES) \
        amd.c \
-       cpu.c \
-       nvidia.c
+       pgtop2.c pgtop2.h \
+       nvidia.c \
+       pudisks2.c pudisks2.h
index d9cd76d..3c9431c 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -58,16 +85,24 @@ host_triplet = @host@
 @LIBATIADL_TRUE@am__append_5 = $(LIBATIADL_LIBS)
 @LIBATIADL_TRUE@am__append_6 = $(LIBATIADL_CFLAGS)
 @LIBATIADL_TRUE@am__append_7 = amd.c
-@GTOP_TRUE@am__append_8 = cpu.c
+@GTOP_TRUE@am__append_8 = pgtop2.c pgtop2.h
 @GTOP_TRUE@am__append_9 = $(GTOP_LIBS)
 @GTOP_TRUE@am__append_10 = $(GTOP_CFLAGS)
 @JSON_TRUE@am__append_11 = psensor_json.h psensor_json.c
 @JSON_TRUE@am__append_12 = $(JSON_LIBS)
 @JSON_TRUE@am__append_13 = $(JSON_CFLAGS)
+@LIBUDISKS2_TRUE@am__append_14 = pudisks2.c pudisks2.h
+@LIBUDISKS2_TRUE@am__append_15 = $(LIBUDISKS2_LIBS)
+@LIBUDISKS2_TRUE@am__append_16 = $(LIBUDISKS2_CFLAGS)
 subdir = src/lib
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -76,32 +111,61 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
 libpsensor_a_AR = $(AR) $(ARFLAGS)
 libpsensor_a_LIBADD =
-am__libpsensor_a_SOURCES_DIST = amd.h bool.h color.h color.c cpu.h \
-       hdd.h hdd_hddtemp.c lmsensor.h lmsensor.c plog.h plog.c \
-       measure.h measure.c ptime.h ptime.c nvidia.h psensor.h \
-       psensor.c pio.h pio.c slog.c slog.h url.c url.h hdd_atasmart.c \
-       nvidia.c amd.c cpu.c psensor_json.h psensor_json.c
+am__libpsensor_a_SOURCES_DIST = amd.h bool.h color.h color.c hdd.h \
+       hdd_hddtemp.c lmsensor.h lmsensor.c measure.h measure.c \
+       nvidia.h plog.h plog.c pmutex.h pmutex.c psensor.h psensor.c \
+       ptime.h ptime.c pio.h pio.c slog.c slog.h temperature.c \
+       temperature.h url.c url.h hdd_atasmart.c nvidia.c amd.c \
+       pgtop2.c pgtop2.h psensor_json.h psensor_json.c pudisks2.c \
+       pudisks2.h
 @ATASMART_TRUE@am__objects_1 = hdd_atasmart.$(OBJEXT)
 @NVIDIA_TRUE@am__objects_2 = nvidia.$(OBJEXT)
 @LIBATIADL_TRUE@am__objects_3 = amd.$(OBJEXT)
-@GTOP_TRUE@am__objects_4 = cpu.$(OBJEXT)
+@GTOP_TRUE@am__objects_4 = pgtop2.$(OBJEXT)
 @JSON_TRUE@am__objects_5 = psensor_json.$(OBJEXT)
+@LIBUDISKS2_TRUE@am__objects_6 = pudisks2.$(OBJEXT)
 am_libpsensor_a_OBJECTS = color.$(OBJEXT) hdd_hddtemp.$(OBJEXT) \
-       lmsensor.$(OBJEXT) plog.$(OBJEXT) measure.$(OBJEXT) \
-       ptime.$(OBJEXT) psensor.$(OBJEXT) pio.$(OBJEXT) slog.$(OBJEXT) \
+       lmsensor.$(OBJEXT) measure.$(OBJEXT) plog.$(OBJEXT) \
+       pmutex.$(OBJEXT) psensor.$(OBJEXT) ptime.$(OBJEXT) \
+       pio.$(OBJEXT) slog.$(OBJEXT) temperature.$(OBJEXT) \
        url.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3) $(am__objects_4) $(am__objects_5)
+       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+       $(am__objects_6)
 libpsensor_a_OBJECTS = $(am_libpsensor_a_OBJECTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libpsensor_a_SOURCES)
 DIST_SOURCES = $(am__libpsensor_a_SOURCES_DIST)
 am__can_run_installinfo = \
@@ -109,14 +173,33 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -138,15 +221,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -173,7 +252,9 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@ $(am__append_2) $(am__append_5) $(am__append_9) \
-       $(am__append_12)
+       $(am__append_12) $(am__append_15)
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -199,7 +280,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -214,7 +294,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -239,6 +318,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -268,18 +348,20 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 noinst_LIBRARIES = libpsensor.a
-libpsensor_a_SOURCES = amd.h bool.h color.h color.c cpu.h hdd.h \
-       hdd_hddtemp.c lmsensor.h lmsensor.c plog.h plog.c measure.h \
-       measure.c ptime.h ptime.c nvidia.h psensor.h psensor.c pio.h \
-       pio.c slog.c slog.h url.c url.h $(am__append_1) \
-       $(am__append_4) $(am__append_7) $(am__append_8) \
-       $(am__append_11)
+libpsensor_a_SOURCES = amd.h bool.h color.h color.c hdd.h \
+       hdd_hddtemp.c lmsensor.h lmsensor.c measure.h measure.c \
+       nvidia.h plog.h plog.c pmutex.h pmutex.c psensor.h psensor.c \
+       ptime.h ptime.c pio.h pio.c slog.c slog.h temperature.c \
+       temperature.h url.c url.h $(am__append_1) $(am__append_4) \
+       $(am__append_7) $(am__append_8) $(am__append_11) \
+       $(am__append_14)
 AM_CPPFLAGS = -Wall -Werror $(am__append_3) $(am__append_6) \
-       $(am__append_10) $(am__append_13)
+       $(am__append_10) $(am__append_13) $(am__append_16)
 EXTRA_DIST = $(libpsensor_a_SOURCES) \
        amd.c \
-       cpu.c \
-       nvidia.c
+       pgtop2.c pgtop2.h \
+       nvidia.c \
+       pudisks2.c pudisks2.h
 
 all: all-am
 
@@ -318,10 +400,11 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
 libpsensor.a: $(libpsensor_a_OBJECTS) $(libpsensor_a_DEPENDENCIES) $(EXTRA_libpsensor_a_DEPENDENCIES) 
-       -rm -f libpsensor.a
-       $(libpsensor_a_AR) libpsensor.a $(libpsensor_a_OBJECTS) $(libpsensor_a_LIBADD)
-       $(RANLIB) libpsensor.a
+       $(AM_V_at)-rm -f libpsensor.a
+       $(AM_V_AR)$(libpsensor_a_AR) libpsensor.a $(libpsensor_a_OBJECTS) $(libpsensor_a_LIBADD)
+       $(AM_V_at)$(RANLIB) libpsensor.a
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -331,54 +414,46 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdd_atasmart.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdd_hddtemp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lmsensor.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/measure.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nvidia.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgtop2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pmutex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psensor.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psensor_json.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pudisks2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/temperature.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -390,15 +465,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -407,6 +478,21 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -546,17 +632,17 @@ uninstall-am:
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-noinstLIBRARIES ctags distclean distclean-compile \
-       distclean-generic distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+       clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
+       distclean-compile distclean-generic distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+       mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
        uninstall-am
 
 
index e83f5f1..c2ec5eb 100644 (file)
@@ -34,7 +34,7 @@
 
 #include <adl_sdk.h>
 
-#include "psensor.h"
+#include <psensor.h>
 
 typedef int (*ADL_MAIN_CONTROL_CREATE)(ADL_MAIN_MALLOC_CALLBACK, int);
 typedef int (*ADL_MAIN_CONTROL_DESTROY)();
@@ -76,10 +76,11 @@ static double get_temp(struct psensor *sensor)
 
        v.iSize = sizeof(ADLTemperature);
        v.iTemperature = -273;
+
        if (ADL_OK == adl_od5_temperature_get(sensor->amd_id, 0, &v))
                return v.iTemperature/1000;
-       else
-               return UNKNOWN_DBL_VALUE;
+
+       return UNKNOWN_DBL_VALUE;
 }
 
 static double get_fanspeed(struct psensor *sensor)
@@ -89,10 +90,11 @@ static double get_fanspeed(struct psensor *sensor)
        v.iSize = sizeof(ADLFanSpeedValue);
        v.iSpeedType = ADL_DL_FANCTRL_SPEED_TYPE_RPM;
        v.iFanSpeed = -1;
+
        if (ADL_OK == adl_od5_fanspeed_get(sensor->amd_id, 0, &v))
                return v.iFanSpeed;
-       else
-               return UNKNOWN_DBL_VALUE;
+
+       return UNKNOWN_DBL_VALUE;
 }
 
 static double get_usage(struct psensor *sensor)
@@ -100,10 +102,11 @@ static double get_usage(struct psensor *sensor)
        ADLPMActivity v;
 
        v.iSize = sizeof(ADLPMActivity);
+
        if (ADL_OK == adl_od5_currentactivity_get(sensor->amd_id, &v))
                return v.iActivityPercent;
-       else
-               return UNKNOWN_DBL_VALUE;
+
+       return UNKNOWN_DBL_VALUE;
 }
 
 static struct psensor *create_sensor(int id, int type, int values_len)
@@ -130,7 +133,7 @@ static struct psensor *create_sensor(int id, int type, int values_len)
        /* GPU Usage (Activity/Load %) */
        case 2:
                sprintf(name, "AMD GPU%d Usage", id);
-               sensor_type |= SENSOR_TYPE_GPU | SENSOR_TYPE_USAGE;
+               sensor_type |= SENSOR_TYPE_GPU | SENSOR_TYPE_PERCENT;
                break;
        }
 
@@ -268,7 +271,7 @@ void amd_psensor_list_update(struct psensor **sensors)
                                psensor_set_current_value(s, get_temp(s));
                        else if (s->type & SENSOR_TYPE_RPM)
                                psensor_set_current_value(s, get_fanspeed(s));
-                       else if (s->type & SENSOR_TYPE_USAGE)
+                       else if (s->type & SENSOR_TYPE_PERCENT)
                                psensor_set_current_value(s, get_usage(s));
                }
 
@@ -277,28 +280,19 @@ void amd_psensor_list_update(struct psensor **sensors)
 }
 
 /* Entry point for AMD sensors */
-struct psensor * *
-amd_psensor_list_add(struct psensor **sensors, int values_len)
+void amd_psensor_list_append(struct psensor ***sensors, int values_len)
 {
        int i, j, n;
-       struct psensor **tmp, **ss, *s;
+       struct psensor *s;
 
        n = init();
 
-       ss = sensors;
        for (i = 0; i < n; i++)
                /* Each GPU Adapter has 3 sensors: temp, fan speed and usage */
                for (j = 0; j < 3; j++) {
                        s = create_sensor(i, j, values_len);
-                       tmp = psensor_list_add(ss, s);
-
-                       if (ss != tmp)
-                               free(ss);
-
-                       ss = tmp;
+                       psensor_list_append(sensors, s);
                }
-
-       return ss;
 }
 
 void amd_cleanup()
index acb234d..d7dde40 100644 (file)
 
 #include "psensor.h"
 
-/*
-  Updates temperatures of AMD sensors.
-*/
 void amd_psensor_list_update(struct psensor **sensors);
 
-/*
-  Adds AMD sensors to a given list of sensors.
-
-  Returns the new allocated list of sensors if sensors have been added
-  otherwise returns 'sensors'. The list is 'NULL' terminated.
- */
-struct psensor **amd_psensor_list_add(struct psensor **sensors,
-                                        int values_max_length);
+void amd_psensor_list_append(struct psensor ***sensors, int values_max_length);
 
 void amd_cleanup();
 
index 3aba0b6..c31360d 100644 (file)
@@ -25,6 +25,8 @@
 #include <stdbool.h>
 #else
 #define bool char
+#define true 1
+#define false 0
 #endif
 
 #endif
index 89a01a9..8474c72 100644 (file)
 
 #include "color.h"
 
-void color_set(struct color *color,
-              unsigned int red,
-              unsigned int green,
-              unsigned int blue)
+void color_set(struct color *c, double r, double g, double b)
 {
-       color->red = red;
-       color->green = green;
-       color->blue = blue;
-
-       color->f_red = ((double)color->red) / 65535;
-       color->f_green = ((double)color->green) / 65535;
-       color->f_blue = ((double)color->blue) / 65535;
+       c->red = r;
+       c->green = g;
+       c->blue = b;
 }
 
-struct color *color_new(unsigned int red, unsigned int green, unsigned int blue)
+struct color *color_new(double r, double g, double b)
 {
-       struct color *color = malloc(sizeof(struct color));
+       struct color *color;
+
+       color = malloc(sizeof(struct color));
 
-       color_set(color, red, green, blue);
+       color_set(color, r, g, b);
 
        return color;
 }
@@ -86,14 +81,19 @@ struct color *str_to_color(const char *str)
        tmp[4] = '\0';
        blue = strtol(tmp, NULL, 16);
 
-       return color_new(red, green, blue);
+       return color_new(((double)red)/65535,
+                        ((double)green)/65535,
+                        ((double)blue)/65535);
 }
 
 char *color_to_str(const struct color *color)
 {
        char *str = malloc(1 + 12 + 1);
 
-       sprintf(str, "#%.4x%.4x%.4x", color->red, color->green, color->blue);
+       sprintf(str, "#%.4x%.4x%.4x",
+               (int)(65535 * color->red),
+               (int)(65535 * color->green),
+               (int)(65535 * color->blue));
 
        return str;
 }
index cefb94b..2956654 100644 (file)
 #ifndef _PSENSOR_COLOR_H_
 #define _PSENSOR_COLOR_H_
 
-/*
- * Represents a RGB color.
- *
- * Contains integer and floating RGB representation to avoid useless
- * conversion.
- *
- * Uses color_set to maintain the coherence of the both
- * representation.
- */
+/* Represents a RGB color. */
 struct color {
-       /* rgb 0..65535 */
-       unsigned int red;
-       unsigned int green;
-       unsigned int blue;
-
        /* rgb floating 0..1 */
-       double f_red;
-       double f_green;
-       double f_blue;
+       double red;
+       double green;
+       double blue;
 };
 
-struct color *
-color_new(unsigned int red, unsigned int green, unsigned int blue);
+/** rgb 0..1 */
+struct color *color_new(double r, double g, double b);
 
 struct color *color_dup(struct color *);
 
-void color_set(struct color *,
-              unsigned int red,
-              unsigned int green,
-              unsigned int blue);
+/** rgb 0..1 */
+void color_set(struct color *, double r, double g, double b);
 
 int is_color(const char *str);
 
diff --git a/src/lib/cpu.c b/src/lib/cpu.c
deleted file mode 100644 (file)
index 9f26db9..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * 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
- * 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 <locale.h>
-#include <libintl.h>
-#define _(str) gettext(str)
-
-#include <string.h>
-
-#include <glibtop/cpu.h>
-
-#include "cpu.h"
-
-static glibtop_cpu *cpu;
-static float last_used;
-static float last_total;
-
-struct psensor *create_cpu_usage_sensor(int measures_len)
-{
-       char *label;
-       int type;
-       char *id;
-       struct psensor *psensor;
-
-       id = strdup("cpu usage");
-       label = strdup("cpu usage");
-       type = SENSOR_TYPE_CPU_USAGE;
-
-       psensor = psensor_create(id,
-                                label,
-                                strdup(_("CPU")),
-                                type,
-                                measures_len);
-
-       return psensor;
-}
-
-struct psensor * *
-cpu_psensor_list_add(struct psensor **sensors, int measures_len)
-{
-       struct psensor *s;
-
-       s = create_cpu_usage_sensor(measures_len);
-
-       return psensor_list_add(sensors, s);
-}
-
-static double get_usage()
-{
-       unsigned long int used = 0;
-       unsigned long int dt;
-       double cpu_rate = UNKNOWN_DBL_VALUE;
-
-       if (!cpu)
-               cpu = malloc(sizeof(glibtop_cpu));
-
-       glibtop_get_cpu(cpu);
-
-       used = cpu->user + cpu->nice + cpu->sys;
-
-       dt = cpu->total - last_total;
-
-       if (dt)
-               cpu_rate = 100 * (used - last_used) / dt;
-
-       last_used = used;
-       last_total = cpu->total;
-
-       return cpu_rate;
-}
-
-void cpu_usage_sensor_update(struct psensor *s)
-{
-       psensor_set_current_value(s, get_usage());
-}
-
-void cpu_psensor_list_update(struct psensor **sensors)
-{
-       struct psensor **ss, *s;
-
-       ss = sensors;
-       while (*ss) {
-               s = *ss;
-
-               if (!(s->type & SENSOR_TYPE_REMOTE)
-                   && s->type == SENSOR_TYPE_CPU_USAGE)
-                       cpu_usage_sensor_update(s);
-
-               ss++;
-       }
-}
-
-void cpu_cleanup()
-{
-       if (cpu)
-               free(cpu);
-}
diff --git a/src/lib/cpu.h b/src/lib/cpu.h
deleted file mode 100644 (file)
index a1d7125..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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
- * 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
- */
-#ifndef _PSENSOR_CPU_H_
-#define _PSENSOR_CPU_H_
-
-#include "psensor.h"
-
-struct psensor *create_cpu_usage_sensor(int measures_len);
-
-void cpu_usage_sensor_update(struct psensor *);
-void cpu_psensor_list_update(struct psensor **);
-
-struct psensor **cpu_psensor_list_add(struct psensor **,
-                                     int values_max_len);
-
-void cpu_cleanup();
-
-#endif
index 6c79dbc..8d4c316 100644 (file)
 #include "psensor.h"
 
 #ifdef HAVE_ATASMART
-struct psensor **hdd_psensor_list_add(struct psensor **sensors,
-                                     int values_max_length);
-
-void hdd_psensor_list_update(struct psensor **sensors);
+void atasmart_psensor_list_append(struct psensor ***sensors, int values_length);
+void atasmart_psensor_list_update(struct psensor **sensors);
 #endif
 
-struct psensor **hddtemp_psensor_list_add(struct psensor **sensors,
-                                     int values_max_length);
-
+void hddtemp_psensor_list_append(struct psensor ***sensors, int values_length);
 void hddtemp_psensor_list_update(struct psensor **sensors);
 
 #endif
index f3e6619..0fd7d5d 100644 (file)
 #include <atasmart.h>
 #include <linux/fs.h>
 
-#include "pio.h"
-#include "hdd.h"
+#include <pio.h>
+#include <hdd.h>
 #include <plog.h>
 
+static const char *PROVIDER_NAME = "atasmart";
+
 static int filter_sd(const char *p)
 {
        return strlen(p) == 8 && !strncmp(p, "/dev/sd", 7);
@@ -72,43 +74,34 @@ static void analyze_disk(const char *dname)
        struct stat st;
        uint64_t size;
 
-       log_debug("analyze_disk(hdd_atasmart): %s", dname);
+       log_fct("Analyze %s", dname);
 
        f = open(dname, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_CLOEXEC);
 
        if (f < 0) {
-               log_debug("analyze_disk(hdd_atasmart): Could not open file %s: %s",
-                         dname,
-                         strerror(errno));
+               log_fct("Could not open file %s: %s", dname, strerror(errno));
                goto fail;
        }
 
        if (fstat(f, &st) < 0) {
-               log_debug("analyze_disk(hdd_atasmart): fstat fails %s: %s",
-                         dname,
-                         strerror(errno));
+               log_fct("fstat fails %s: %s", dname, strerror(errno));
                goto fail;
        }
 
        if (!S_ISBLK(st.st_mode)) {
-               log_debug("analyze_disk(hdd_atasmart): !S_ISBLK fails %s",
-                         dname);
+               log_fct("!S_ISBLK fails %s", dname);
                goto fail;
        }
 
        size = (uint64_t)-1;
        /* So, it's a block device. Let's make sure the ioctls work */
        if (ioctl(f, BLKGETSIZE64, &size) < 0) {
-               log_debug("analyze_disk(hdd_atasmart): ioctl fails %s: %s",
-                         dname,
-                         strerror(errno));
+               log_fct("ioctl fails %s: %s", dname, strerror(errno));
                goto fail;
        }
 
        if (size <= 0 || size == (uint64_t) -1) {
-               log_debug("analyze_disk(hdd_atasmart): ioctl wrong size %s: %ld",
-                         dname,
-                         size);
+               log_fct("ioctl wrong size %s: %ld", dname, size);
                goto fail;
        }
 
@@ -116,40 +109,37 @@ static void analyze_disk(const char *dname)
        close(f);
 }
 
-struct psensor **hdd_psensor_list_add(struct psensor **sensors,
-                                     int values_max_length)
+void
+atasmart_psensor_list_append(struct psensor ***sensors, int values_max_length)
 {
        char **paths, **tmp, *id;
        SkDisk *disk;
-       struct psensor *sensor, **tmp_sensors, **result;
+       struct psensor *sensor;
 
-       log_debug("hdd_psensor_list_add(hdd_atasmart)");
+       log_fct_enter();
 
        paths = dir_list("/dev", filter_sd);
 
-       result = sensors;
        tmp = paths;
        while (*tmp) {
-               log_debug("hdd_psensor_list_add(hdd_atasmart) open %s", *tmp);
+               log_fct("Open %s", *tmp);
 
                if (!sk_disk_open(*tmp, &disk)) {
-                       id = malloc(strlen("hdd at") + strlen(*tmp) + 1);
-                       strcpy(id, "hdd at");
-                       strcat(id, *tmp);
+                       id = malloc(strlen(PROVIDER_NAME)
+                                   + 1
+                                   + strlen(*tmp)
+                                   + 1);
+                       sprintf(id, "%s %s", PROVIDER_NAME, *tmp);
 
                        sensor = create_sensor(id,
                                               *tmp,
                                               disk,
                                               values_max_length);
 
-                       tmp_sensors = psensor_list_add(result, sensor);
-
-                       if (result != sensors)
-                               free(result);
-
-                       result = tmp_sensors;
+                       psensor_list_append(sensors, sensor);
                } else {
-                       log_err(_("atasmart: sk_disk_open() failure: %s."),
+                       log_err(_("%s: sk_disk_open() failure: %s."),
+                               PROVIDER_NAME,
                                *tmp);
                        analyze_disk(*tmp);
                }
@@ -159,10 +149,10 @@ struct psensor **hdd_psensor_list_add(struct psensor **sensors,
 
        paths_free(paths);
 
-       return result;
+       log_fct_exit();
 }
 
-void hdd_psensor_list_update(struct psensor **sensors)
+void atasmart_psensor_list_update(struct psensor **sensors)
 {
        struct psensor **cur, *s;
        uint64_t kelvin;
@@ -183,9 +173,7 @@ void hdd_psensor_list_update(struct psensor **sensors)
                                if (!ret) {
                                        c = (kelvin - 273150) / 1000;
                                        psensor_set_current_value(s, c);
-                                       log_debug("hdd_psensor_list_update(hdd_atasmart): %s %.2f",
-                                                 s->id,
-                                                 c);
+                                       log_fct("%s %.2f", s->id, c);
                                }
                        }
                }
index 3e692f0..39c00c6 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  * 02110-1301 USA
  */
+
+/* Part of the code in this file is based on GNOME sensors applet code
+ * hddtemp-plugin.c see http://sensors-applet.sourceforge.net/
+ */
+
 #include <locale.h>
 #include <libintl.h>
 #define _(str) gettext(str)
 
-/*
- * Following code is based on GNOME sensors applet code
- * hddtemp-plugin.c see http://sensors-applet.sourceforge.net/
- */
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
 #include <arpa/inet.h>
 #include <unistd.h>
 
-#include "hdd.h"
-#include "psensor.h"
+#include <hdd.h>
+#include <psensor.h>
 
-#define HDDTEMP_SERVER_IP_ADDRESS "127.0.0.1"
-#define HDDTEMP_PORT_NUMBER 7634
-#define HDDTEMP_OUTPUT_BUFFER_LENGTH 4048
+static const char *PROVIDER_NAME = "hddtemp";
+
+static const char *HDDTEMP_SERVER_IP_ADDRESS = "127.0.0.1";
+static const int HDDTEMP_PORT_NUMBER = 7634;
+static const int HDDTEMP_OUTPUT_BUFFER_LENGTH = 4048;
 
 struct hdd_info {
        char *name;
@@ -47,16 +50,16 @@ struct hdd_info {
 
 static char *fetch()
 {
-       int sockfd;
+       int sockfd, output_length;
        ssize_t n = 1;
-       int output_length = 0;
-       char *pc;
-       char *buffer;
+       char *pc, *buffer;
        struct sockaddr_in address;
 
+       output_length = 0;
+
        sockfd = socket(AF_INET, SOCK_STREAM, 0);
        if (sockfd == -1) {
-               log_err(_("hddtemp: failed to open socket."));
+               log_err(_("%s: failed to open socket."), PROVIDER_NAME);
                return NULL;
        }
 
@@ -69,7 +72,7 @@ static char *fetch()
        if (connect(sockfd,
                    (struct sockaddr *)&address,
                    (socklen_t) sizeof(address)) == -1) {
-               log_err(_("hddtemp: failed to open connection."));
+               log_err(_("%s: failed to open connection."), PROVIDER_NAME);
        } else {
                buffer = malloc(HDDTEMP_OUTPUT_BUFFER_LENGTH);
 
@@ -171,78 +174,89 @@ static char *next_hdd_info(char *string, struct hdd_info *info)
        return c;
 }
 
-struct psensor **hddtemp_psensor_list_add(struct psensor **sensors,
-                                         int values_max_length)
+void
+hddtemp_psensor_list_append(struct psensor ***sensors, int values_max_length)
 {
-       char *hddtemp_output = fetch();
-       char *c;
+       char *hddtemp_output, *c, *id;
        struct hdd_info info;
-       struct psensor **result;
+       struct psensor *sensor;
+
+       hddtemp_output = fetch();
 
        if (!hddtemp_output)
-               return sensors;
+               return;
 
        if (hddtemp_output[0] != '|') {
-               log_err(_("hddtemp: wrong string: %s."), hddtemp_output);
+               log_err(_("%s: wrong string: %s."),
+                       PROVIDER_NAME,
+                       hddtemp_output);
 
                free(hddtemp_output);
 
-               return sensors;
+               return;
        }
 
        c = hddtemp_output;
 
-       result = sensors;
-
        while (c && (c = next_hdd_info(c, &info))) {
-               struct psensor *sensor;
-               struct psensor **tmp_sensors;
-
-               char *id = malloc(strlen("hdd ") + strlen(info.name) + 1);
-               strcpy(id, "hdd ");
-               strcat(id, info.name);
+               id = malloc(strlen(PROVIDER_NAME) + 1 + strlen(info.name) + 1);
+               sprintf(id, "%s %s", PROVIDER_NAME, info.name);
 
                sensor = create_sensor(id, info.name, values_max_length);
 
-               tmp_sensors = psensor_list_add(result, sensor);
-
-               if (result != sensors)
-                       free(result);
-
-               result = tmp_sensors;
+               psensor_list_append(sensors, sensor);
        }
 
        free(hddtemp_output);
-
-       return result;
 }
 
 static void update(struct psensor **sensors, struct hdd_info *info)
 {
-       struct psensor **sensor_cur = sensors;
+       while (*sensors) {
+               if (!((*sensors)->type & SENSOR_TYPE_REMOTE)
+                   && (*sensors)->type & SENSOR_TYPE_HDDTEMP
+                   && !strcmp((*sensors)->id + 8, info->name))
+                       psensor_set_current_value(*sensors,
+                                                 (double)info->temp);
+
+               sensors++;
+       }
+}
+
+static bool contains_hddtemp_sensor(struct psensor **sensors)
+{
+       struct psensor *s;
 
-       while (*sensor_cur) {
-               if (!((*sensor_cur)->type & SENSOR_TYPE_REMOTE)
-                   && (*sensor_cur)->type & SENSOR_TYPE_HDDTEMP
-                   && !strcmp((*sensor_cur)->id + 4, info->name))
-                       psensor_set_current_value(*sensor_cur,
-                                                 (float)info->temp);
+       if (!sensors)
+               return false;
 
-               sensor_cur++;
+       while (*sensors) {
+               s = *sensors;
+               if (!(s->type & SENSOR_TYPE_REMOTE)
+                    && (s->type & SENSOR_TYPE_HDDTEMP))
+                       return true;
+               sensors++;
        }
+
+       return false;
 }
 
 void hddtemp_psensor_list_update(struct psensor **sensors)
 {
-       char *hddtemp_output = fetch();
+       char *hddtemp_output;
+
+       if (!contains_hddtemp_sensor(sensors))
+               return;
+
+       hddtemp_output = fetch();
 
        if (!hddtemp_output)
                return;
 
        if (hddtemp_output[0] == '|') {
-
                char *c = hddtemp_output;
                struct hdd_info info;
+
                info.name = NULL;
                info.temp = 0;
 
@@ -253,7 +267,9 @@ void hddtemp_psensor_list_update(struct psensor **sensors)
                        free(info.name);
                }
        } else {
-               log_err(_("hddtemp: wrong string: %s."), hddtemp_output);
+               log_err(_("%s: wrong string: %s."),
+                       PROVIDER_NAME,
+                       hddtemp_output);
        }
 
        free(hddtemp_output);
index 1708f18..baa97ef 100644 (file)
 #include <sensors/sensors.h>
 #include <sensors/error.h>
 
-#include "psensor.h"
+#include <psensor.h>
 
 static int init_done;
 
+static const char *PROVIDER_NAME = "lmsensor";
+
 static double get_value(const sensors_chip_name *name,
                        const sensors_subfeature *sub)
 {
@@ -39,8 +41,10 @@ static double get_value(const sensors_chip_name *name,
 
        err = sensors_get_value(name, sub->number, &val);
        if (err) {
-               log_err(_("lmsensor: cannot get value of subfeature %s: %s."),
-                       sub->name, sensors_strerror(err));
+               log_err(_("%s: Cannot get value of subfeature %s: %s."),
+                       PROVIDER_NAME,
+                       sub->name,
+                       sensors_strerror(err));
                val = UNKNOWN_DBL_VALUE;
        }
        return val;
@@ -48,17 +52,22 @@ static double get_value(const sensors_chip_name *name,
 
 static double get_temp_input(struct psensor *sensor)
 {
-       const sensors_chip_name *chip = sensor->iname;
-       const sensors_feature *feature = sensor->feature;
-
        const sensors_subfeature *sf;
 
-       sf = sensors_get_subfeature(chip,
-                                   feature, SENSORS_SUBFEATURE_TEMP_INPUT);
+       const sensors_chip_name *chip;
+
+       const sensors_feature *feature;
+
+       chip = sensor->iname;
+       feature = sensor->feature;
+
+       sf = sensors_get_subfeature(sensor->iname,
+                                   feature,
+                                   SENSORS_SUBFEATURE_TEMP_INPUT);
        if (sf)
                return get_value(chip, sf);
-       else
-               return UNKNOWN_DBL_VALUE;
+
+       return UNKNOWN_DBL_VALUE;
 }
 
 static double get_fan_input(struct psensor *sensor)
@@ -69,33 +78,39 @@ static double get_fan_input(struct psensor *sensor)
        const sensors_subfeature *sf;
 
        sf = sensors_get_subfeature(chip,
-                                   feature, SENSORS_SUBFEATURE_FAN_INPUT);
+                                   feature,
+                                   SENSORS_SUBFEATURE_FAN_INPUT);
+
        if (sf)
                return get_value(chip, sf);
-       else
-               return UNKNOWN_DBL_VALUE;
+
+       return UNKNOWN_DBL_VALUE;
 }
 
 void lmsensor_psensor_list_update(struct psensor **sensors)
 {
-       struct psensor **s_ptr = sensors;
+       struct psensor *s;
+       double v;
 
        if (!init_done)
-               return ;
+               return;
 
-       while (*s_ptr) {
-               struct psensor *s = *s_ptr;
+       while (*sensors) {
+               s = *sensors;
 
                if (!(s->type & SENSOR_TYPE_REMOTE)
                    && s->type & SENSOR_TYPE_LMSENSOR) {
+
                        if (s->type & SENSOR_TYPE_TEMP)
-                               psensor_set_current_value(s,
-                                                         get_temp_input(s));
-                       else if (s->type & SENSOR_TYPE_RPM)
-                               psensor_set_current_value(s, get_fan_input(s));
+                               v = get_temp_input(s);
+                       else /* s->type & SENSOR_TYPE_RPM */
+                               v = get_fan_input(s);
+
+                       if (v != UNKNOWN_DBL_VALUE)
+                               psensor_set_current_value(s, v);
                }
 
-               s_ptr++;
+               sensors++;
        }
 }
 
@@ -119,8 +134,7 @@ lmsensor_psensor_create(const sensors_chip_name *chip,
        } else if (feature->type == SENSORS_FEATURE_FAN) {
                fault_subfeature = SENSORS_SUBFEATURE_FAN_FAULT;
        } else {
-               log_err(_(
-"lmsensor: lmsensor_psensor_create failure: wrong feature type."));
+               log_err(_("%s: Wrong feature type."), PROVIDER_NAME);
                return NULL;
        }
 
@@ -140,9 +154,13 @@ lmsensor_psensor_create(const sensors_chip_name *chip,
        else
                return NULL;
 
-       id = malloc(strlen("lmsensor ") + 1 + strlen(name) + 1 + strlen(label) +
-                   1);
-       sprintf(id, "lmsensor %s %s", name, label);
+       id = malloc(strlen(PROVIDER_NAME)
+                   + 1
+                   + strlen(name)
+                   + 1
+                   + strlen(label)
+                   + 1);
+       sprintf(id, "%s %s %s", PROVIDER_NAME, name, label);
 
        if (!strcmp(chip->prefix, "coretemp"))
                cname = strdup(_("Intel CPU"));
@@ -154,6 +172,8 @@ lmsensor_psensor_create(const sensors_chip_name *chip,
                cname = strdup(_("NVIDIA GPU"));
        else if (!strcmp(chip->prefix, "via-cputemp"))
                cname = strdup(_("VIA CPU"));
+       else if (!strcmp(chip->prefix, "acpitz"))
+               cname = strdup(_("ACPI"));
        else
                cname = strdup(chip->prefix);
 
@@ -171,56 +191,50 @@ lmsensor_psensor_create(const sensors_chip_name *chip,
        return psensor;
 }
 
-struct psensor **lmsensor_psensor_list_add(struct psensor **sensors,
-                                          int vn)
+void lmsensor_init()
+{
+       int err;
+
+       err = sensors_init(NULL);
+
+       if (err) {
+               log_err(_("%s: initialization failure: %s."),
+                       PROVIDER_NAME,
+                       sensors_strerror(err));
+               init_done = 0;
+       } else {
+               init_done = 1;
+       }
+}
+
+void lmsensor_psensor_list_append(struct psensor ***sensors, int vn)
 {
        const sensors_chip_name *chip;
-       int chip_nr = 0;
-       struct psensor **tmp, **result;
+       int chip_nr, i;
        const sensors_feature *feature;
        struct psensor *s;
-       int i;
 
        if (!init_done)
-               return NULL;
+               lmsensor_init();
+
+       if (!init_done)
+               return;
 
-       result = sensors;
+       chip_nr = 0;
        while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) {
 
                i = 0;
                while ((feature = sensors_get_features(chip, &i))) {
-
                        if (feature->type == SENSORS_FEATURE_TEMP
                            || feature->type == SENSORS_FEATURE_FAN) {
 
                                s = lmsensor_psensor_create(chip, feature, vn);
 
-                               if (s) {
-                                       tmp = psensor_list_add(result, s);
-
-                                       if (tmp != sensors)
-                                               free(result);
-
-                                       result = tmp;
-                               }
+                               if (s)
+                                       psensor_list_append(sensors, s);
                        }
                }
        }
-
-       return result;
-}
-
-void lmsensor_init()
-{
-       int err = sensors_init(NULL);
-
-       if (err) {
-               log_err(_("lmsensor: initialization failure: %s."),
-                       sensors_strerror(err));
-               init_done = 0;
-       } else {
-               init_done = 1;
-       }
 }
 
 void lmsensor_cleanup()
index 10e7398..341863d 100644 (file)
 #ifndef _PSENSOR_LMSENSOR_H_
 #define _PSENSOR_LMSENSOR_H_
 
-#include <sensors/sensors.h>
-
 void lmsensor_psensor_list_update(struct psensor **sensors);
 
-/*
-  Adds sensors to a given list of sensors.
-
-  Returns the new allocated list of sensors if sensors have been added
-  otherwise returns 'sensors'. The list is 'NULL' terminated.
- */
-struct psensor **lmsensor_psensor_list_add(struct psensor **sensors,
-                                          int values_max_length);
+void lmsensor_psensor_list_append(struct psensor ***sensors, int values_length);
 
-void lmsensor_init();
 void lmsensor_cleanup();
 
 #endif
index 4f411e9..b77517b 100644 (file)
@@ -20,6 +20,8 @@
 #include <libintl.h>
 #define _(str) gettext(str)
 
+#include <limits.h>
+#include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <NVCtrl/NVCtrl.h>
 #include <NVCtrl/NVCtrlLib.h>
 
-#include "psensor.h"
+#include <psensor.h>
 
 Display *display;
 
-/* Returns the temperature (Celsius) of a NVIDIA GPU. */
-static int get_temp(struct psensor *sensor)
+static const char *PROVIDER_NAME = "nvctrl";
+
+static char *get_product_name(int id, int type)
 {
-       int temp;
+       char *name;
        Bool res;
 
-       res = XNVCTRLQueryTargetAttribute(display,
-                                         NV_CTRL_TARGET_TYPE_GPU,
-                                         sensor->nvidia_id,
-                                         0,
-                                         NV_CTRL_GPU_CORE_TEMPERATURE,
-                                         &temp);
+       if (type & SENSOR_TYPE_FAN)
+               return strdup("NVIDIA");
+
+       res = XNVCTRLQueryTargetStringAttribute(display,
+                                               NV_CTRL_TARGET_TYPE_GPU,
+                                               id,
+                                               0,
+                                               NV_CTRL_STRING_PRODUCT_NAME,
+                                               &name);
+       if (res == True) {
+               if (strcmp(name, "Unknown"))
+                       return name;
+
+               log_err(_("%s: Unknown NVIDIA product name for GPU %d"),
+                       PROVIDER_NAME,
+                       id);
+               free(name);
+       } else {
+               log_err(_("%s: "
+                         "Failed to retrieve NVIDIA product name for GPU %d"),
+                       PROVIDER_NAME,
+                       id);
+       }
+
+       return strdup("NVIDIA");
+}
+
+static double get_att(int target, int id, int att)
+{
+       Bool res;
+       int temp;
+
+       res = XNVCTRLQueryTargetAttribute(display, target, id, 0, att, &temp);
 
        if (res == True)
                return temp;
 
-       log_debug(_("NVIDIA proprietary driver not used or cannot "
-                   "retrieve NVIDIA GPU temperature."));
-       return 0;
+       return UNKNOWN_DBL_VALUE;
+}
+
+static double get_usage_att(char *atts, const char *att)
+{
+       char *c, *key, *strv, *s;
+       size_t n;
+       double v;
+
+       c = atts;
+
+       v = UNKNOWN_DBL_VALUE;
+       while (*c) {
+               s = c;
+               n = 0;
+               while (*c) {
+                       if (*c == '=')
+                               break;
+                       c++;
+                       n++;
+               }
+
+               key = strndup(s, n);
+
+               if (*c)
+                       c++;
+
+               n = 0;
+               s = c;
+               while (*c) {
+                       if (*c == ',')
+                               break;
+                       c++;
+                       n++;
+               }
+
+               strv = strndup(s, n);
+               if (!strcmp(key, att))
+                       v = atoi(strv);
+
+               free(key);
+               free(strv);
+
+               if (v != UNKNOWN_DBL_VALUE)
+                       break;
+
+               while (*c && (*c == ' ' || *c == ','))
+                       c++;
+       }
+
+       return v;
+}
+
+static const char *get_nvidia_type_str(int type)
+{
+       if (type & SENSOR_TYPE_GRAPHICS)
+               return "graphics";
+
+       if (type & SENSOR_TYPE_VIDEO)
+               return "video";
+
+       if (type & SENSOR_TYPE_MEMORY)
+               return "memory";
+
+       if (type & SENSOR_TYPE_PCIE)
+               return "PCIe";
+
+       if (type & SENSOR_TYPE_AMBIENT)
+               return "ambient";
+
+       if (type & SENSOR_TYPE_TEMP)
+               return "temp";
+
+       if (type & SENSOR_TYPE_FAN) {
+               if (type & SENSOR_TYPE_RPM)
+                       return "fan rpm";
+
+               return "fan level";
+       }
+
+       return "unknown";
+}
+
+static double get_usage(int id, int type)
+{
+       const char *stype;
+       char *atts;
+       double v;
+       Bool res;
+
+       stype = get_nvidia_type_str(type);
+
+       if (!stype)
+               return UNKNOWN_DBL_VALUE;
+
+       res = XNVCTRLQueryTargetStringAttribute(display,
+                                               NV_CTRL_TARGET_TYPE_GPU,
+                                               id,
+                                               0,
+                                               NV_CTRL_STRING_GPU_UTILIZATION,
+                                               &atts);
+
+       if (res != True)
+               return UNKNOWN_DBL_VALUE;
+
+       v = get_usage_att(atts, stype);
+
+       free(atts);
+
+       return v;
+}
+
+static double get_value(int id, int type)
+{
+       int att;
+
+       if (type & SENSOR_TYPE_TEMP) {
+               if (type & SENSOR_TYPE_AMBIENT)
+                       att = NV_CTRL_AMBIENT_TEMPERATURE;
+               else
+                       att = NV_CTRL_GPU_CORE_TEMPERATURE;
+
+               return get_att(NV_CTRL_TARGET_TYPE_GPU, id, att);
+       } else if (type & SENSOR_TYPE_FAN) {
+               if (type & SENSOR_TYPE_RPM)
+                       return get_att(NV_CTRL_TARGET_TYPE_COOLER,
+                                      id,
+                                      NV_CTRL_THERMAL_COOLER_SPEED);
+               else /* SENSOR_TYPE_PERCENT */
+                       return get_att(NV_CTRL_TARGET_TYPE_COOLER,
+                                      id,
+                                      NV_CTRL_THERMAL_COOLER_LEVEL);
+       } else { /* SENSOR_TYPE_PERCENT */
+               return get_usage(id, type);
+       }
+}
+
+static void update(struct psensor *sensor)
+{
+       double v;
+
+       v = get_value(sensor->nvidia_id, sensor->type);
+
+       if (v == UNKNOWN_DBL_VALUE)
+               log_err(_("%s: Failed to retrieve measure of type %x "
+                         "for NVIDIA GPU %d"),
+                       PROVIDER_NAME,
+                       sensor->type,
+                       sensor->nvidia_id);
+       psensor_set_current_value(sensor, v);
+}
+
+static int check_sensor(int id, int type)
+{
+       return get_value(id, type) != UNKNOWN_DBL_VALUE;
 }
 
-static struct psensor *create_sensor(int id, int values_len)
+static char *i2str(int i)
 {
-       char name[200];
-       char *sid;
+       char *str;
+       size_t n;
+
+       /* second +1 to avoid issue about the conversion of a double
+        * to a lower int */
+       n = 1 + (ceil(log10(INT_MAX)) + 1) + 1;
+
+       str = malloc(n);
+       snprintf(str, n, "%d", i);
+
+       return str;
+}
+
+static struct psensor *create_nvidia_sensor(int id, int subtype, int value_len)
+{
+       char *pname, *name, *strnid, *sid;
+       const char *stype;
+       int type;
+       size_t n;
        struct psensor *s;
-       int t;
 
-       sprintf(name, "GPU%d", id);
+       type = SENSOR_TYPE_NVCTRL | subtype;
+
+       if (!check_sensor(id, type))
+               return NULL;
 
-       sid = malloc(strlen("NVIDIA") + 1 + strlen(name) + 1);
-       sprintf(sid, "NVIDIA %s", name);
+       pname = get_product_name(id, type);
+       strnid = i2str(id);
+       stype = get_nvidia_type_str(type);
 
-       t = SENSOR_TYPE_NVCTRL | SENSOR_TYPE_GPU | SENSOR_TYPE_TEMP;
+       n = strlen(pname) + 1 + strlen(strnid) + 1 + strlen(stype) + 1;
+       name = malloc(n);
+       sprintf(name, "%s %s %s", pname, strnid, stype);
 
-       s = psensor_create(sid,
-                          strdup(name),
-                          strdup(_("NVIDIA GPU")),
-                          t,
-                          values_len);
+       sid = malloc(strlen(PROVIDER_NAME) + 1 + strlen(name) + 1);
+       sprintf(sid, "%s %s", PROVIDER_NAME, name);
 
+       s = psensor_create(sid, name, pname, type, value_len);
        s->nvidia_id = id;
 
+       free(strnid);
+
        return s;
 }
 
-/*
-  Opens connection to X server and returns the number
-  of NVIDIA GPUs.
-
-  Return 0 if no NVIDIA gpus or cannot get information.
-*/
 static int init()
 {
-       int evt, err, n;
+       int evt, err;
 
        display = XOpenDisplay(NULL);
 
        if (!display) {
-               log_err(_("Cannot open connection to X11 server."));
+               log_err(_("%s: Cannot open connection to X11 server."),
+                       PROVIDER_NAME);
                return 0;
        }
 
-       if (XNVCTRLQueryExtension(display, &evt, &err) &&
-           XNVCTRLQueryTargetCount(display, NV_CTRL_TARGET_TYPE_GPU, &n))
-               return n;
+       if (XNVCTRLQueryExtension(display, &evt, &err))
+               return 1;
 
-       log_err(_("Failed to retrieve NVIDIA information."));
+       log_err(_("%s: Failed to retrieve NVIDIA information."),
+               PROVIDER_NAME);
 
        return 0;
 }
 
 void nvidia_psensor_list_update(struct psensor **sensors)
 {
-       struct psensor **ss, *s;
+       struct psensor *s;
 
-       ss = sensors;
-       while (*ss) {
-               s = *ss;
+       while (*sensors) {
+               s = *sensors;
 
-               if (s->type & SENSOR_TYPE_NVCTRL)
-                       psensor_set_current_value(s, get_temp(s));
+               if (!(s->type & SENSOR_TYPE_REMOTE)
+                   && s->type & SENSOR_TYPE_NVCTRL)
+                       update(s);
 
-               ss++;
+               sensors++;
        }
 }
 
-struct psensor **nvidia_psensor_list_add(struct psensor **sensors,
-                                        int values_len)
+static void add(struct psensor ***sensors, int id, int type, int values_len)
 {
-       int i, n;
-       struct psensor **tmp, **ss, *s;
-
-       n = init();
-
-       ss = sensors;
-       for (i = 0; i < n; i++) {
-               s = create_sensor(i, values_len);
+       struct psensor *s;
 
-               tmp = psensor_list_add(ss, s);
+       s = create_nvidia_sensor(id, type, values_len);
 
-               if (ss != tmp)
-                       free(ss);
+       if (s)
+               psensor_list_append(sensors, s);
+}
 
-               ss = tmp;
+void nvidia_psensor_list_append(struct psensor ***ss, int values_len)
+{
+       int i, n, utype;
+       Bool ret;
+
+       if (!init())
+               return;
+
+       ret = XNVCTRLQueryTargetCount(display, NV_CTRL_TARGET_TYPE_GPU, &n);
+       if (ret == True) {
+               for (i = 0; i < n; i++) {
+                       add(ss,
+                           i,
+                           SENSOR_TYPE_GPU | SENSOR_TYPE_TEMP,
+                           values_len);
+
+                       utype = SENSOR_TYPE_GPU | SENSOR_TYPE_PERCENT;
+                       add(ss, i, utype | SENSOR_TYPE_AMBIENT, values_len);
+                       add(ss, i, utype | SENSOR_TYPE_GRAPHICS, values_len);
+                       add(ss, i, utype | SENSOR_TYPE_VIDEO, values_len);
+                       add(ss, i, utype | SENSOR_TYPE_MEMORY, values_len);
+                       add(ss, i, utype | SENSOR_TYPE_PCIE, values_len);
+               }
        }
 
-       return ss;
+       ret = XNVCTRLQueryTargetCount(display, NV_CTRL_TARGET_TYPE_COOLER, &n);
+       if (ret == True) {
+               log_fct("%s: Number of fans: %d", PROVIDER_NAME, n);
+               for (i = 0; i < n; i++) {
+                       utype = SENSOR_TYPE_FAN | SENSOR_TYPE_RPM;
+                       if (check_sensor(i, utype))
+                               add(ss, i, utype, values_len);
+
+                       utype = SENSOR_TYPE_FAN | SENSOR_TYPE_PERCENT;
+                       if (check_sensor(i, utype))
+                               add(ss, i, utype, values_len);
+               }
+       } else {
+               log_err(_("%s: Failed to retrieve number of fans."),
+                       PROVIDER_NAME);
+       }
 }
 
 void nvidia_cleanup()
index 9c1089c..a94d72e 100644 (file)
 #ifndef _PSENSOR_NVIDIA_H_
 #define _PSENSOR_NVIDIA_H_
 
-#include "psensor.h"
+#include <psensor.h>
 
-/*
-  Updates temperatures of NVidia sensors.
-*/
 void nvidia_psensor_list_update(struct psensor **sensors);
 
-/*
-  Adds NVIDIA sensors to a given list of sensors.
-
-  Returns the new allocated list of sensors if sensors have been added
-  otherwise returns 'sensors'. The list is 'NULL' terminated.
- */
-struct psensor **nvidia_psensor_list_add(struct psensor **sensors,
-                                        int values_max_length);
+void nvidia_psensor_list_append(struct psensor ***sensors, int values_length);
 
 void nvidia_cleanup();
 
diff --git a/src/lib/pgtop2.c b/src/lib/pgtop2.c
new file mode 100644 (file)
index 0000000..a25c705
--- /dev/null
@@ -0,0 +1,146 @@
+/*
+ * 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
+ * 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 <locale.h>
+#include <libintl.h>
+#define _(str) gettext(str)
+
+#include <string.h>
+
+#include <glibtop/cpu.h>
+#include <glibtop/mem.h>
+
+#include <pgtop2.h>
+
+static float last_used;
+static float last_total;
+
+static const char *PROVIDER_NAME = "gtop2";
+
+struct psensor *create_cpu_usage_sensor(int measures_len)
+{
+       char *label, *id;
+       int type;
+       struct psensor *psensor;
+
+       id = g_strdup_printf("%s cpu usage", PROVIDER_NAME);
+       label = strdup(_("CPU usage"));
+       type = SENSOR_TYPE_GTOP | SENSOR_TYPE_CPU_USAGE;
+
+       psensor = psensor_create(id,
+                                label,
+                                strdup(_("CPU")),
+                                type,
+                                measures_len);
+
+       return psensor;
+}
+
+static struct psensor *create_mem_free_sensor(int measures_len)
+{
+       char *id;
+       int type;
+
+       id = g_strdup_printf("%s mem free", PROVIDER_NAME);
+       type = SENSOR_TYPE_GTOP | SENSOR_TYPE_MEMORY | SENSOR_TYPE_PERCENT;
+
+       return psensor_create(id,
+                             strdup(_("free memory")),
+                             strdup(_("memory")),
+                             type,
+                             measures_len);
+}
+
+static double get_usage()
+{
+       glibtop_cpu cpu;
+       unsigned long int used, dt;
+       double cpu_rate;
+
+       glibtop_get_cpu(&cpu);
+
+       used = cpu.user + cpu.nice + cpu.sys;
+
+       dt = cpu.total - last_total;
+
+       if (dt)
+               cpu_rate = 100.0 * (used - last_used) / dt;
+       else
+               cpu_rate = UNKNOWN_DBL_VALUE;
+
+       last_used = used;
+       last_total = cpu.total;
+
+       return cpu_rate;
+}
+
+static double get_mem_free()
+{
+       glibtop_mem mem;
+       double v;
+
+       glibtop_get_mem(&mem);
+       v = ((double)mem.free) * 100.0 / mem.total;
+
+       return v;
+}
+
+void gtop2_psensor_list_append(struct psensor ***sensors, int measures_len)
+{
+       psensor_list_append(sensors, create_cpu_usage_sensor(measures_len));
+       psensor_list_append(sensors, create_mem_free_sensor(measures_len));
+}
+
+void cpu_usage_sensor_update(struct psensor *s)
+{
+       double v;
+
+       v = get_usage();
+
+       if (v != UNKNOWN_DBL_VALUE)
+               psensor_set_current_value(s, v);
+}
+
+void mem_free_sensor_update(struct psensor *s)
+{
+       double v;
+
+       v = get_mem_free();
+
+       if (v != UNKNOWN_DBL_VALUE)
+               psensor_set_current_value(s, v);
+}
+
+void gtop2_psensor_list_update(struct psensor **sensors)
+{
+       struct psensor *s;
+
+       while (*sensors) {
+               s = *sensors;
+
+               if (!(s->type & SENSOR_TYPE_REMOTE)
+                   && s->type & SENSOR_TYPE_GTOP) {
+                       if (s->type & SENSOR_TYPE_CPU)
+                               cpu_usage_sensor_update(s);
+                       else if (s->type & SENSOR_TYPE_MEMORY)
+                               mem_free_sensor_update(s);
+               }
+
+               sensors++;
+       }
+}
diff --git a/src/lib/pgtop2.h b/src/lib/pgtop2.h
new file mode 100644 (file)
index 0000000..c7c3968
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * 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
+ * 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
+ */
+#ifndef _PSENSOR_PGTOP2_H_
+#define _PSENSOR_PGTOP2_H_
+
+#include <psensor.h>
+
+struct psensor *create_cpu_usage_sensor(int measures_len);
+void cpu_usage_sensor_update(struct psensor *);
+
+void gtop2_psensor_list_update(struct psensor **);
+
+void gtop2_psensor_list_append(struct psensor ***sensors, int values_max_len);
+
+#endif
index f6ebc73..217349b 100644 (file)
@@ -164,6 +164,7 @@ char *file_get_content(const char *fpath)
 
        } else {
                FILE *fp = fopen(fpath, "rb");
+
                if (fp) {
                        page = malloc(size + 1);
                        if (!page || size != fread(page, 1, size, fp)) {
index 21427a9..48c6009 100644 (file)
@@ -46,7 +46,7 @@ void log_open(const char *path)
 void log_close()
 {
        if (!file)
-               return ;
+               return;
 
        fclose(file);
 
@@ -62,7 +62,7 @@ static void vlogf(int lvl, const char *fct, const char *fmt, va_list ap)
        FILE *stdf;
 
        if (lvl > LOG_INFO && (!file || lvl > log_level))
-               return ;
+               return;
 
        vsnprintf(buffer, LOG_BUFFER, fmt, ap);
        buffer[LOG_BUFFER] = '\0';
@@ -86,7 +86,7 @@ static void vlogf(int lvl, const char *fct, const char *fmt, va_list ap)
 
        t = get_current_ISO8601_time();
        if (!t)
-               return ;
+               return;
 
        if (file && lvl <= log_level) {
                if (fct)
@@ -129,7 +129,7 @@ void log_debug(const char *fmt, ...)
        va_list ap;
 
        if (log_level < LOG_DEBUG)
-               return ;
+               return;
 
        va_start(ap, fmt);
        vlogf(LOG_DEBUG, NULL, fmt, ap);
diff --git a/src/lib/pmutex.c b/src/lib/pmutex.c
new file mode 100644 (file)
index 0000000..ec529bd
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * 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
+ * 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 <stdio.h>
+
+#include <plog.h>
+#include <pmutex.h>
+
+int pmutex_lock(pthread_mutex_t *m)
+{
+       int ret;
+
+       ret = pthread_mutex_lock(m);
+
+       if (ret)
+               log_err("pmutex_lock: %p %d", m, ret);
+
+       return ret;
+}
+
+int pmutex_unlock(pthread_mutex_t *m)
+{
+       int ret;
+
+       ret = pthread_mutex_unlock(m);
+
+       if (ret)
+               log_err("pmutex_unlock: %p %d", m, ret);
+
+       return ret;
+}
+
+int pmutex_init(pthread_mutex_t *m)
+{
+       pthread_mutexattr_t attr;
+       int ret;
+
+       pthread_mutexattr_init(&attr);
+       pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
+
+       ret = pthread_mutex_init(m, &attr);
+
+       if (ret)
+               log_err("pmutex_init: %p %d", m, ret);
+
+       return ret;
+}
diff --git a/src/lib/pmutex.h b/src/lib/pmutex.h
new file mode 100644 (file)
index 0000000..f27c6e5
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * 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
+ * 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
+ */
+#ifndef _P_PMUTEX_H_
+#define _P_PMUTEX_H_
+
+#include <pthread.h>
+
+int pmutex_lock(pthread_mutex_t *);
+int pmutex_unlock(pthread_mutex_t *);
+int pmutex_init(pthread_mutex_t *);
+
+#endif
index 348885a..b9da81d 100644 (file)
 #include <libintl.h>
 #define _(str) gettext(str)
 
-#include "hdd.h"
-#include "psensor.h"
-#include "lmsensor.h"
-
-#ifdef HAVE_GTOP
-#include "cpu.h"
-#endif
+#include <hdd.h>
+#include <psensor.h>
+#include <temperature.h>
 
 struct psensor *psensor_create(char *id,
                               char *name,
@@ -67,6 +63,9 @@ struct psensor *psensor_create(char *id,
        psensor->graph_enabled = 1;
        psensor->appindicator_enabled = 0;
 
+       psensor->provider_data = NULL;
+       psensor->provider_data_free_fct = &free;
+
        return psensor;
 }
 
@@ -81,6 +80,7 @@ void psensor_values_resize(struct psensor *s, int new_size)
 
        if (cur_ms) {
                int i;
+
                for (i = 0; i < new_size - 1 && i < cur_size - 1; i++)
                        measure_copy(&cur_ms[cur_size - i - 1],
                                     &new_ms[new_size - i - 1]);
@@ -92,26 +92,30 @@ void psensor_values_resize(struct psensor *s, int new_size)
        s->measures = new_ms;
 }
 
-void psensor_free(struct psensor *sensor)
+void psensor_free(struct psensor *s)
 {
-       if (sensor) {
-               log_debug("Cleanup %s", sensor->id);
+       if (!s)
+               return;
 
-               free(sensor->name);
-               free(sensor->id);
+       log_debug("Cleanup %s", s->id);
 
-               if (sensor->chip)
-                       free(sensor->chip);
+       free(s->name);
+       free(s->id);
 
-               if (sensor->color)
-                       free(sensor->color);
+       if (s->chip)
+               free(s->chip);
 
-               measures_free(sensor->measures);
+       if (s->color)
+               free(s->color);
 
-               free(sensor->url);
+       measures_free(s->measures);
 
-               free(sensor);
-       }
+       free(s->url);
+
+       if (s->provider_data && s->provider_data_free_fct)
+               s->provider_data_free_fct(s->provider_data);
+
+       free(s);
 }
 
 void psensor_list_free(struct psensor **sensors)
@@ -151,27 +155,12 @@ int psensor_list_size(struct psensor **sensors)
        return size;
 }
 
-int psensor_list_contains_type(struct psensor **sensors, unsigned int type)
-{
-       struct psensor **s;
-
-       if (!sensors)
-               return 0;
-
-       s = sensors;
-       while (*s) {
-               if ((*s)->type & type)
-                       return 1;
-               s++;
-       }
-
-       return 0;
-}
-
 struct psensor **psensor_list_add(struct psensor **sensors,
                                  struct psensor *sensor)
 {
-       int size = psensor_list_size(sensors);
+       int size;
+
+       size = psensor_list_size(sensors);
 
        struct psensor **result
            = malloc((size + 1 + 1) * sizeof(struct psensor *));
@@ -185,6 +174,22 @@ struct psensor **psensor_list_add(struct psensor **sensors,
        return result;
 }
 
+void psensor_list_append(struct psensor ***sensors, struct psensor *sensor)
+{
+       struct psensor **tmp;
+
+       if (!sensor)
+               return;
+
+       tmp = psensor_list_add(*sensors, sensor);
+
+       if (tmp != *sensors) {
+               free(*sensors);
+               *sensors = tmp;
+       }
+}
+
+
 struct psensor *psensor_list_get_by_id(struct psensor **sensors, const char *id)
 {
        struct psensor **sensors_cur = sensors;
@@ -204,21 +209,6 @@ int is_temp_type(unsigned int type)
        return type & SENSOR_TYPE_TEMP;
 }
 
-int is_fan_type(unsigned int type)
-{
-       return type & SENSOR_TYPE_FAN;
-}
-
-double celsius_to_fahrenheit(double c)
-{
-       return c * (9.0/5.0) + 32;
-}
-
-double fahrenheit_to_celsius(double f)
-{
-       return (f - 32) * (5.0/9.0);
-}
-
 char *
 psensor_value_to_str(unsigned int type, double value, int use_celsius)
 {
@@ -343,6 +333,7 @@ double get_max_value(struct psensor **sensors, int type)
                if (sensor->type & type) {
                        int i;
                        double t;
+
                        for (i = 0; i < sensor->values_max_length; i++) {
                                t = sensor->measures[i].value;
 
@@ -401,47 +392,21 @@ double get_max_temp(struct psensor **sensors)
        return get_max_value(sensors, SENSOR_TYPE_TEMP);
 }
 
-struct psensor **get_all_sensors(int use_libatasmart, int values_max_length)
-{
-       struct psensor **psensors;
-       struct psensor **tmp_psensors;
-
-       psensors = lmsensor_psensor_list_add(NULL, values_max_length);
-
-       if (!use_libatasmart) {
-               tmp_psensors = hddtemp_psensor_list_add(psensors,
-                                                       values_max_length);
-               if (tmp_psensors != psensors) {
-                       free(psensors);
-                       psensors = tmp_psensors;
-               }
-       }
-#ifdef HAVE_ATASMART
-               else {
-                       tmp_psensors = hdd_psensor_list_add(psensors,
-                                                           values_max_length);
-                       if (tmp_psensors != psensors) {
-                               free(psensors);
-                               psensors = tmp_psensors;
-                       }
-               }
-#endif
-
-       if (!psensors) {        /* there is no detected sensors */
-               psensors = malloc(sizeof(struct psensor *));
-               *psensors = NULL;
-       }
-
-       return psensors;
-}
-
 const char *psensor_type_to_str(unsigned int type)
 {
        if (type & SENSOR_TYPE_NVCTRL) {
                if (type & SENSOR_TYPE_TEMP)
-                       return "NVIDIA GPU Temperature";
-               else
-                       return "NVIDIA GPU";
+                       return "Temperature";
+               else if (type & SENSOR_TYPE_GRAPHICS)
+                       return "Graphics usage";
+               else if (type & SENSOR_TYPE_VIDEO)
+                       return "Video usage";
+               else if (type & SENSOR_TYPE_MEMORY)
+                       return "Memory usage";
+               else if (type & SENSOR_TYPE_PCIE)
+                       return "PCIe usage";
+
+               return "NVIDIA GPU";
        }
 
        if (type & SENSOR_TYPE_ATIADL) {
@@ -449,8 +414,8 @@ const char *psensor_type_to_str(unsigned int type)
                        return "AMD GPU Temperature";
                else if (type & SENSOR_TYPE_RPM)
                        return "AMD GPU Fan Speed";
-               else /* type & SENSOR_TYPE_USAGE */
-                       return "AMD GPU Usage";
+               /*else type & SENSOR_TYPE_USAGE */
+               return "AMD GPU Usage";
        }
 
        if ((type & SENSOR_TYPE_HDD_TEMP) == SENSOR_TYPE_HDD_TEMP)
@@ -462,7 +427,7 @@ const char *psensor_type_to_str(unsigned int type)
        if (type & SENSOR_TYPE_TEMP)
                return "Temperature";
 
-       if (type & SENSOR_TYPE_FAN)
+       if (type & SENSOR_TYPE_RPM)
                return "Fan";
 
        if (type & SENSOR_TYPE_CPU)
@@ -471,6 +436,9 @@ const char *psensor_type_to_str(unsigned int type)
        if (type & SENSOR_TYPE_REMOTE)
                return "Remote";
 
+       if (type & SENSOR_TYPE_MEMORY)
+               return "Memory";
+
        return "N/A";
 }
 
@@ -480,32 +448,13 @@ const char *psensor_type_to_unit_str(unsigned int type, int use_celsius)
        if (is_temp_type(type)) {
                if (use_celsius)
                        return "\302\260C";
-               else
-                       return "\302\260F";
-       } else if (is_fan_type(type)) {
+               return "\302\260F";
+       } else if (type & SENSOR_TYPE_RPM) {
                return _("RPM");
-       } else if (type & SENSOR_TYPE_CPU_USAGE) {
+       } else if (type & SENSOR_TYPE_PERCENT) {
                return _("%");
-       } else {
-               return _("N/A");
        }
-}
-
-void psensor_list_update_measures(struct psensor **sensors)
-{
-       lmsensor_psensor_list_update(sensors);
-
-#ifdef HAVE_GTOP
-       cpu_psensor_list_update(sensors);
-#endif
-
-       if (psensor_list_contains_type(sensors, SENSOR_TYPE_HDDTEMP))
-               hddtemp_psensor_list_update(sensors);
-
-#ifdef HAVE_ATASMART
-       if (psensor_list_contains_type(sensors, SENSOR_TYPE_ATASMART))
-               hdd_psensor_list_update(sensors);
-#endif
+       return _("N/A");
 }
 
 void psensor_log_measures(struct psensor **sensors)
@@ -520,16 +469,6 @@ void psensor_log_measures(struct psensor **sensors)
                }
 }
 
-void psensor_init()
-{
-       lmsensor_init();
-}
-
-void psensor_cleanup()
-{
-       lmsensor_cleanup();
-}
-
 struct psensor **psensor_list_copy(struct psensor **sensors)
 {
        struct psensor **result;
index cb30cb9..cec6d0f 100644 (file)
@@ -35,7 +35,7 @@ enum psensor_type {
        /* type of sensor values */
        SENSOR_TYPE_TEMP = 0x00001,
        SENSOR_TYPE_RPM = 0x00002,
-       SENSOR_TYPE_USAGE = 0x00004,
+       SENSOR_TYPE_PERCENT = 0x00004,
 
        /* Whether the sensor is remote */
        SENSOR_TYPE_REMOTE = 0x00008,
@@ -47,6 +47,7 @@ enum psensor_type {
        SENSOR_TYPE_ATIADL = 0x00800,
        SENSOR_TYPE_ATASMART = 0x01000,
        SENSOR_TYPE_HDDTEMP = 0x02000,
+       SENSOR_TYPE_UDISKS2 = 0x800000,
 
        /* Type of HW component */
        SENSOR_TYPE_HDD = 0x04000,
@@ -54,9 +55,15 @@ enum psensor_type {
        SENSOR_TYPE_GPU = 0x10000,
        SENSOR_TYPE_FAN = 0x20000,
 
+       SENSOR_TYPE_GRAPHICS = 0x40000,
+       SENSOR_TYPE_VIDEO = 0x80000,
+       SENSOR_TYPE_PCIE = 0x100000,
+       SENSOR_TYPE_MEMORY = 0x200000,
+       SENSOR_TYPE_AMBIENT = 0x400000,
+
        /* Combinations */
        SENSOR_TYPE_HDD_TEMP = (SENSOR_TYPE_HDD | SENSOR_TYPE_TEMP),
-       SENSOR_TYPE_CPU_USAGE = (SENSOR_TYPE_CPU | SENSOR_TYPE_USAGE)
+       SENSOR_TYPE_CPU_USAGE = (SENSOR_TYPE_CPU | SENSOR_TYPE_PERCENT)
 };
 
 struct psensor {
@@ -71,13 +78,14 @@ struct psensor {
 
        /* lm-sensor */
        const sensors_chip_name *iname;
+
        const sensors_feature *feature;
 
        /* Maximum length of 'values' */
        int values_max_length;
 
        /* Last registered measures of the sensor.  Index 0 for the
-          oldest measure.  */
+        * oldest measure.  */
        struct measure *measures;
 
        /* Color of the sensor used for the graph */
@@ -104,7 +112,7 @@ struct psensor {
        /* Whether an alarm is raised for this sensor */
        unsigned int alarm_raised;
 
-       void (*cb_alarm_raised) (struct psensor *, void *);
+       void (*cb_alarm_raised)(struct psensor *, void *);
        void *cb_alarm_raised_data;
 
 #ifdef HAVE_NVIDIA
@@ -118,6 +126,10 @@ struct psensor {
 #ifdef HAVE_ATASMART
        SkDisk *disk;
 #endif
+
+       void *provider_data;
+       void (*provider_data_free_fct)(void *);
+
        char *url;
 
        bool appindicator_enabled;
@@ -141,13 +153,7 @@ struct psensor **psensor_list_filter_graph_enabled(struct psensor **);
 struct psensor *psensor_list_get_by_id(struct psensor **sensors,
                                       const char *id);
 
-/*
-  Return 1 if there is at least one sensor of a given type, else
-  returns 0 */
-int psensor_list_contains_type(struct psensor **sensors, unsigned int type);
-
 int is_temp_type(unsigned int type);
-int is_fan_type(unsigned int type);
 
 double get_min_temp(struct psensor **sensors);
 double get_max_temp(struct psensor **sensors);
@@ -155,18 +161,16 @@ double get_max_temp(struct psensor **sensors);
 double get_min_rpm(struct psensor **sensors);
 double get_max_rpm(struct psensor **sensors);
 
-/*
-  Get the maximal current value of all sensors of a given type.
-*/
+/* Get the maximal current value of all sensors of a given type. */
 double
 psensor_get_max_current_value(struct psensor **sensors, unsigned int type);
 
 /*
-  Converts the value of a sensor to a string.
-
-  parameter 'type' is SENSOR_TYPE_LMSENSOR_TEMP, SENSOR_TYPE_NVIDIA,
-  or SENSOR_TYPE_LMSENSOR_FAN
-*/
* Converts the value of a sensor to a string.
+ *
* parameter 'type' is SENSOR_TYPE_LMSENSOR_TEMP, SENSOR_TYPE_NVIDIA,
* or SENSOR_TYPE_LMSENSOR_FAN
+ */
 char *psensor_value_to_str(unsigned int type,
                           double value,
                           int use_celsius);
@@ -180,6 +184,8 @@ struct psensor **get_all_sensors(int use_libatasmart, int values_max_length);
 struct psensor **psensor_list_add(struct psensor **sensors,
                                  struct psensor *sensor);
 
+void psensor_list_append(struct psensor ***sensors, struct psensor *sensor);
+
 struct psensor **psensor_list_copy(struct psensor **);
 
 void psensor_set_current_value(struct psensor *sensor, double value);
@@ -190,24 +196,13 @@ double psensor_get_current_value(const struct psensor *);
 
 struct measure *psensor_get_current_measure(struct psensor *sensor);
 
-/*
-  Returns a string representation of a psensor type.
-*/
+/* Returns a string representation of a psensor type. */
 const char *psensor_type_to_str(unsigned int type);
 
 const char *psensor_type_to_unit_str(unsigned int type, int use_celsius);
 
-void psensor_list_update_measures(struct psensor **sensors);
-
-void psensor_init();
-
-void psensor_cleanup();
-
 double get_max_value(struct psensor **sensors, int type);
 
-double celsius_to_fahrenheit(double c);
-double fahrenheit_to_celsius(double c);
-
 char *psensor_current_value_to_str(const struct psensor *, unsigned int);
 
 void psensor_log_measures(struct psensor **sensors);
index 50634e9..6d109a6 100644 (file)
@@ -36,7 +36,7 @@ char *sensors_to_json_string(struct psensor **sensors);
  * Creates a new allocated psensor corresponding to a given json
  * representation.
  */
-struct psensor *psensor_new_from_json(json_object * o,
+struct psensor *psensor_new_from_json(json_object *o,
                                      const char *sensors_url,
                                      int values_max_length);
 #endif
index 2c06c7c..faa0382 100644 (file)
@@ -54,12 +54,11 @@ char *tm_to_ISO8601_date(struct tm *tm)
 
        str = malloc(ISO8601_DATE_LENGTH + 1);
 
-       if (strftime(str, ISO8601_DATE_LENGTH + 1, "%F", tm)) {
+       if (strftime(str, ISO8601_DATE_LENGTH + 1, "%F", tm))
                return str;
-       } else {
-               free(str);
-               return NULL;
-       }
+
+       free(str);
+       return NULL;
 }
 
 char *tm_to_ISO8601_time(struct tm *tm)
@@ -68,12 +67,11 @@ char *tm_to_ISO8601_time(struct tm *tm)
 
        str = malloc(ISO8601_TIME_LENGTH + 1);
 
-       if (strftime(str, ISO8601_TIME_LENGTH + 1, "%FT%T", tm)) {
+       if (strftime(str, ISO8601_TIME_LENGTH + 1, "%FT%T", tm))
                return str;
-       } else {
-               free(str);
-               return NULL;
-       }
+
+       free(str);
+       return NULL;
 }
 
 char *get_current_ISO8601_time()
diff --git a/src/lib/pudisks2.c b/src/lib/pudisks2.c
new file mode 100644 (file)
index 0000000..5a7503e
--- /dev/null
@@ -0,0 +1,216 @@
+/*
+ * 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
+ * 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 <locale.h>
+#include <libintl.h>
+#define _(str) gettext(str)
+
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+#include <udisks/udisks.h>
+
+#include <pudisks2.h>
+#include <temperature.h>
+
+const char *PROVIDER_NAME = "udisks2";
+
+static GDBusObjectManager *manager;
+
+const time_t SMART_UPDATE_INTERVAL = 30;
+
+struct udisks_data {
+       char *path;
+       struct timeval last_smart_update;
+};
+
+void udisks_data_free(void *data)
+{
+       struct udisks_data *u;
+
+       u = (struct udisks_data *)data;
+       free(u->path);
+       free(u);
+}
+
+static void smart_update(struct psensor *s, UDisksDriveAta *ata)
+{
+       GVariant *variant;
+       gboolean ret;
+       struct timeval t;
+       struct udisks_data *data;
+
+       data = s->provider_data;
+
+       if (gettimeofday(&t, NULL) != 0) {
+               log_err("%s: %s", PROVIDER_NAME, _("gettimeofday failed."));
+               return;
+       }
+
+       if (data->last_smart_update.tv_sec
+           &&
+           (t.tv_sec - data->last_smart_update.tv_sec < SMART_UPDATE_INTERVAL))
+               return;
+
+       log_fct("%s: update SMART data for %s", PROVIDER_NAME, data->path);
+
+       variant = g_variant_new_parsed("{'nowakeup': %v}",
+                                      g_variant_new_boolean(TRUE));
+
+       ret = udisks_drive_ata_call_smart_update_sync(ata,
+                                                     variant,
+                                                     NULL,
+                                                     NULL);
+
+       if (!ret)
+               log_fct("%s: SMART update failed for %s",
+                       PROVIDER_NAME,
+                       data->path);
+
+               data->last_smart_update = t;
+}
+
+void udisks2_psensor_list_update(struct psensor **sensors)
+{
+       struct psensor *s;
+       GDBusObject *o;
+       UDisksDriveAta *drive_ata;
+       double v;
+       struct udisks_data *data;
+
+       for (; *sensors; sensors++) {
+               s = *sensors;
+
+               if (s->type & SENSOR_TYPE_REMOTE)
+                       continue;
+
+               if (s->type & SENSOR_TYPE_UDISKS2) {
+                       data = (struct udisks_data *)s->provider_data;
+
+                       o = g_dbus_object_manager_get_object(manager,
+                                                            data->path);
+
+                       if (!o)
+                               continue;
+
+                       g_object_get(o, "drive-ata", &drive_ata, NULL);
+
+                       smart_update(s, drive_ata);
+
+                       v = udisks_drive_ata_get_smart_temperature(drive_ata);
+
+                       psensor_set_current_value(s, kelvin_to_celsius(v));
+
+                       g_object_unref(G_OBJECT(o));
+               }
+       }
+}
+
+void udisks2_psensor_list_append(struct psensor ***sensors, int values_length)
+{
+       UDisksClient *client;
+       GList *objects, *cur;
+       UDisksDrive *drive;
+       UDisksDriveAta *drive_ata;
+       int i, type;
+       char *id, *name, *chip;
+       const char *path, *drive_id, *drive_model;
+       struct psensor *s;
+       struct udisks_data *data;
+
+       log_fct_enter();
+
+       client = udisks_client_new_sync(NULL, NULL);
+
+       if (!client) {
+               log_err(_("%s: cannot get the udisks2 client"), PROVIDER_NAME);
+               log_fct_exit();
+               return;
+       }
+
+       manager = udisks_client_get_object_manager(client);
+
+       objects = g_dbus_object_manager_get_objects(manager);
+
+       i = 0;
+       for (cur = objects; cur; cur = cur->next) {
+               path = g_dbus_object_get_object_path(cur->data);
+
+               g_object_get(cur->data,
+                            "drive", &drive,
+                            "drive-ata", &drive_ata,
+                            NULL);
+
+               if (!drive) {
+                       log_fct("Not a drive: %s", path);
+                       continue;
+               }
+
+               if (!drive_ata) {
+                       log_fct("Not an ATA drive: %s", path);
+                       continue;
+               }
+
+               if (!udisks_drive_ata_get_smart_enabled(drive_ata)) {
+                       log_fct("SMART not enabled: %s", path);
+                       continue;
+               }
+
+               if (!udisks_drive_ata_get_smart_temperature(drive_ata)) {
+                       log_fct("No temperature available: %s", path);
+                       continue;
+               }
+
+               drive_id = udisks_drive_get_id(drive);
+               if (drive_id) {
+                       id = g_strdup_printf("%s %s", PROVIDER_NAME, drive_id);
+               } else {
+                       id = g_strdup_printf("%s %d", PROVIDER_NAME, i);
+                       i++;
+               }
+
+               drive_model = udisks_drive_get_model(drive);
+               if (drive_model) {
+                       name = strdup(drive_model);
+                       chip = strdup(drive_model);
+               } else {
+                       name = strdup(_("Disk"));
+                       chip = strdup(_("Disk"));
+               }
+
+               type = SENSOR_TYPE_TEMP | SENSOR_TYPE_UDISKS2 | SENSOR_TYPE_HDD;
+
+               s = psensor_create(id, name, chip, type, values_length);
+
+               data = malloc(sizeof(struct udisks_data));
+               data->path = strdup(path);
+               memset(&data->last_smart_update, 0, sizeof(struct timeval));
+
+               s->provider_data = data;
+               s->provider_data_free_fct = &udisks_data_free;
+
+               psensor_list_append(sensors, s);
+
+               g_object_unref(G_OBJECT(cur->data));
+       }
+
+       g_list_free(objects);
+
+       log_fct_exit();
+}
diff --git a/src/lib/pudisks2.h b/src/lib/pudisks2.h
new file mode 100644 (file)
index 0000000..1a844bc
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * 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
+ * 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
+ */
+#ifndef _PSENSOR_UDISKS2_H_
+#define _PSENSOR_UDISKS2_H_
+
+#include <psensor.h>
+
+void udisks2_psensor_list_append(struct psensor ***sensors, int values_length);
+void udisks2_psensor_list_update(struct psensor **sensors);
+
+#endif
index 99eb536..5b16526 100644 (file)
@@ -34,6 +34,7 @@
 #include "bool.h"
 #include "config.h"
 #include <plog.h>
+#include <pmutex.h>
 #include "ptime.h"
 #include "slog.h"
 
@@ -57,12 +58,11 @@ static char *time_to_str(time_t *t)
 
        str = malloc(64);
 
-       if (strftime(str, 64, "%s", &lt)) {
+       if (strftime(str, 64, "%s", &lt))
                return str;
-       } else {
-               free(str);
-               return NULL;
-       }
+
+       free(str);
+       return NULL;
 }
 
 static char *get_default_path()
@@ -82,10 +82,10 @@ static char *get_default_path()
                free(dir);
 
                return path;
-       } else {
-               log_warn(_("HOME variable not set."));
-               return strdup(DEFAULT_FILENAME);
        }
+
+       log_warn(_("HOME variable not set."));
+       return strdup(DEFAULT_FILENAME);
 }
 
 static bool slog_open(const char *path, struct psensor **sensors)
@@ -133,8 +133,8 @@ static void slog_write_sensors(struct psensor **sensors)
        bool first_call;
 
        if (!file) {
-               log_err(_("Sensor log file not open."));
-               return ;
+               log_debug(_("Sensor log file not open."));
+               return;
        }
 
        gettimeofday(&tv, NULL);
@@ -169,9 +169,9 @@ static void *slog_routine(void *data)
 {
        while (1) {
                pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
-               pthread_mutex_lock(sensors_mutex);
+               pmutex_lock(sensors_mutex);
                slog_write_sensors(sensors);
-               pthread_mutex_unlock(sensors_mutex);
+               pmutex_unlock(sensors_mutex);
                pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
                sleep(period);
        }
diff --git a/src/lib/temperature.c b/src/lib/temperature.c
new file mode 100644 (file)
index 0000000..0ad5a43
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * 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
+ * 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 <temperature.h>
+
+double celsius_to_fahrenheit(double c)
+{
+       return c * (9.0/5.0) + 32;
+}
+
+double fahrenheit_to_celsius(double f)
+{
+       return (f - 32) * (5.0/9.0);
+}
+
+double kelvin_to_celsius(double k)
+{
+       return k - 273.5;
+}
diff --git a/src/lib/temperature.h b/src/lib/temperature.h
new file mode 100644 (file)
index 0000000..591b39b
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * 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
+ * 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
+ */
+#ifndef _PSENSOR_TEMPERATURE_H_
+#define _PSENSOR_TEMPERATURE_H_
+
+double celsius_to_fahrenheit(double c);
+double fahrenheit_to_celsius(double c);
+double kelvin_to_celsius(double k);
+
+#endif
index 9106b59..7840485 100644 (file)
@@ -31,6 +31,7 @@
 #include "config.h"
 
 #include "cfg.h"
+#include <hdd.h>
 #include "psensor.h"
 #include "graph.h"
 #include "ui.h"
@@ -38,6 +39,8 @@
 #include "ui_color.h"
 #include "lmsensor.h"
 #include "notify_cmd.h"
+#include <pmutex.h>
+#include <pudisks2.h>
 #include "slog.h"
 #include "ui_pref.h"
 #include "ui_graph.h"
@@ -66,7 +69,7 @@
 #endif
 
 #ifdef HAVE_GTOP
-#include "cpu.h"
+#include <pgtop2.h>
 #endif
 
 static const char *program_name;
@@ -101,9 +104,6 @@ static void print_help()
 "  -u, --url=URL       the URL of the psensor-server,\n"
 "                      example: http://hostname:3131"));
        puts(_(
-"  --use-libatasmart   use atasmart library for disk monitoring instead of\n"
-"                      hddtemp daemon"));
-       puts(_(
 "  -n, --new-instance  force the creation of a new Psensor application"));
        puts("");
 
@@ -135,24 +135,26 @@ update_psensor_values_size(struct psensor **sensors, struct config *cfg)
        }
 }
 
-static void update_measures(struct ui_psensor *ui)
+static void *update_measures(void *data)
 {
        struct psensor **sensors;
        struct config *cfg;
        int period;
+       struct ui_psensor *ui;
 
+       ui = (struct ui_psensor *)data;
        cfg = ui->config;
 
        while (1) {
-               pthread_mutex_lock(&ui->sensors_mutex);
+               pmutex_lock(&ui->sensors_mutex);
 
                sensors = ui->sensors;
                if (!sensors)
-                       return;
+                       pthread_exit(NULL);
 
                update_psensor_values_size(sensors, cfg);
 
-               psensor_list_update_measures(sensors);
+               lmsensor_psensor_list_update(sensors);
 #ifdef HAVE_REMOTE_SUPPORT
                remote_psensor_list_update(sensors);
 #endif
@@ -162,12 +164,23 @@ static void update_measures(struct ui_psensor *ui)
 #ifdef HAVE_LIBATIADL
                amd_psensor_list_update(sensors);
 #endif
+#ifdef HAVE_LIBUDISKS2
+               udisks2_psensor_list_update(sensors);
+#endif
+#ifdef HAVE_GTOP
+               gtop2_psensor_list_update(sensors);
+#endif
+#ifdef HAVE_ATASMART
+               atasmart_psensor_list_update(sensors);
+#endif
+
+               hddtemp_psensor_list_update(sensors);
 
                psensor_log_measures(sensors);
 
                period = cfg->sensor_update_interval;
 
-               pthread_mutex_unlock(&ui->sensors_mutex);
+               pmutex_unlock(&ui->sensors_mutex);
 
                sleep(period);
        }
@@ -207,7 +220,7 @@ gboolean ui_refresh_thread(gpointer data)
        ret = TRUE;
        cfg = ui->config;
 
-       pthread_mutex_lock(&ui->sensors_mutex);
+       pmutex_lock(&ui->sensors_mutex);
 
        graph_update(ui->sensors, ui->w_graph, ui->config, ui->main_window);
 
@@ -227,7 +240,7 @@ gboolean ui_refresh_thread(gpointer data)
                ret = FALSE;
        }
 
-       pthread_mutex_unlock(&ui->sensors_mutex);
+       pmutex_unlock(&ui->sensors_mutex);
 
        if (ret == FALSE)
                g_timeout_add(1000 * ui->graph_update_interval,
@@ -248,29 +261,47 @@ static void cb_alarm_raised(struct psensor *sensor, void *data)
 
 static void associate_colors(struct psensor **sensors)
 {
-       /* number of uniq colors */
-#define COLORS_COUNT 8
-
-       unsigned int colors[COLORS_COUNT][3] = {
-               {0x0000, 0x0000, 0x0000},       /* black */
-               {0xffff, 0x0000, 0x0000},       /* red */
-               {0x0000, 0x0000, 0xffff},       /* blue */
-               {0x0000, 0xffff, 0x0000},       /* green */
-
-               {0x7fff, 0x7fff, 0x7fff},       /* grey */
-               {0x7fff, 0x0000, 0x0000},       /* dark red */
-               {0x0000, 0x0000, 0x7fff},       /* dark blue */
-               {0x0000, 0x7fff, 0x0000}        /* dark green */
+       GdkRGBA rgba;
+       /* copied from the default colors of the gtk color color
+        * chooser. */
+       const char *default_colors[27] = {
+               "#ef2929",  /* Scarlet Red */
+               "#fcaf3e",  /* Orange */
+               "#fce94f",  /* Butter */
+               "#8ae234",  /* Chameleon */
+               "#729fcf",  /* Sky Blue */
+               "#ad7fa8",  /* Plum */
+               "#e9b96e",  /* Chocolate */
+               "#888a85",  /* Aluminum 1 */
+               "#eeeeec",  /* Aluminum 2 */
+               "#cc0000",
+               "#f57900",
+               "#edd400",
+               "#73d216",
+               "#3465a4",
+               "#75507b",
+               "#c17d11",
+               "#555753",
+               "#d3d7cf",
+               "#a40000",
+               "#ce5c00",
+               "#c4a000",
+               "#4e9a06",
+               "#204a87",
+               "#5c3566",
+               "#8f5902",
+               "#2e3436",
+               "#babdb6"
        };
-       struct psensor **cur;
        int i;
+       struct psensor **cur;
        struct color c;
 
        for (cur = sensors, i = 0; *cur; cur++, i++) {
-               color_set(&c,
-                         colors[i % COLORS_COUNT][0],
-                         colors[i % COLORS_COUNT][1],
-                         colors[i % COLORS_COUNT][2]);
+               gdk_rgba_parse(&rgba, default_colors[i % 27]);
+               c.red = rgba.red;
+               c.green = rgba.green;
+               c.blue = rgba.blue;
 
                (*cur)->color = config_get_sensor_color((*cur)->id, &c);
        }
@@ -280,6 +311,7 @@ static void
 associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
 {
        struct psensor **sensor_cur = sensors;
+
        while (*sensor_cur) {
                struct psensor *s = *sensor_cur;
 
@@ -291,13 +323,8 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
                s->alarm_low_threshold
                        = config_get_sensor_alarm_low_threshold(s->id);
 
-               if (is_temp_type(s->type) || is_fan_type(s->type)) {
-                       s->alarm_enabled
+               s->alarm_enabled
                            = config_get_sensor_alarm_enabled(s->id);
-               } else {
-                       s->alarm_high_threshold = 0;
-                       s->alarm_enabled = 0;
-               }
 
                sensor_cur++;
        }
@@ -306,11 +333,12 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
 static void associate_preferences(struct psensor **sensors)
 {
        struct psensor **sensor_cur = sensors;
+
        while (*sensor_cur) {
                char *n;
                struct psensor *s = *sensor_cur;
 
-               s->graph_enabled = config_is_sensor_enabled(s->id);
+               s->graph_enabled = config_is_sensor_graph_enabled(s->id);
 
                n = config_get_sensor_name(s->id);
 
@@ -327,28 +355,23 @@ static void associate_preferences(struct psensor **sensors)
 
 static void log_init()
 {
-       char *home, *path, *dir;
-
-       home = getenv("HOME");
+       const char *dir;
+       char *path;
 
-       if (!home)
-               return ;
+       dir = get_psensor_user_dir();
 
-       dir = malloc(strlen(home)+1+strlen(".psensor")+1);
-       sprintf(dir, "%s/%s", home, ".psensor");
-       mkdir(dir, 0777);
+       if (!dir)
+               return;
 
        path = malloc(strlen(dir)+1+strlen("log")+1);
        sprintf(path, "%s/%s", dir, "log");
 
        log_open(path);
 
-       free(dir);
        free(path);
 }
 
 static struct option long_options[] = {
-       {"use-libatasmart", no_argument, 0, 0},
        {"version", no_argument, 0, 'v'},
        {"help", no_argument, 0, 'h'},
        {"url", required_argument, 0, 'u'},
@@ -403,12 +426,10 @@ static void cb_activate(GApplication *application,
  */
 static void cleanup(struct ui_psensor *ui)
 {
-       pthread_mutex_lock(&ui->sensors_mutex);
+       pmutex_lock(&ui->sensors_mutex);
 
        log_debug("Cleanup...");
 
-       psensor_cleanup();
-
 #ifdef HAVE_NVIDIA
        nvidia_cleanup();
 #endif
@@ -428,7 +449,7 @@ static void cleanup(struct ui_psensor *ui)
 
        ui_status_cleanup();
 
-       pthread_mutex_unlock(&ui->sensors_mutex);
+       pmutex_unlock(&ui->sensors_mutex);
 
        config_cleanup();
 
@@ -439,10 +460,8 @@ static void cleanup(struct ui_psensor *ui)
  * Creates the list of sensors.
  *
  * 'url': remote psensor server url, null for local monitoring.
- * 'use_libatasmart': whether the libatasmart must be used.
  */
-static struct psensor **create_sensors_list(const char *url,
-                                           unsigned int use_libatasmart)
+static struct psensor **create_sensors_list(const char *url)
 {
        struct psensor **sensors;
 
@@ -456,15 +475,35 @@ static struct psensor **create_sensors_list(const char *url,
                exit(EXIT_FAILURE);
 #endif
        } else {
-               sensors = get_all_sensors(use_libatasmart, 600);
+               sensors = malloc(sizeof(struct psensor *));
+               *sensors = NULL;
+
+               if (config_is_lmsensor_enabled())
+                       lmsensor_psensor_list_append(&sensors, 600);
+
+               if (config_is_hddtemp_enabled())
+                       hddtemp_psensor_list_append(&sensors, 600);
+
+#ifdef HAVE_ATASMART
+               if (config_is_libatasmart_enabled())
+                       atasmart_psensor_list_append(&sensors, 600);
+#endif
+
 #ifdef HAVE_NVIDIA
-               sensors = nvidia_psensor_list_add(sensors, 600);
+               if (config_is_nvctrl_enabled())
+                       nvidia_psensor_list_append(&sensors, 600);
 #endif
 #ifdef HAVE_LIBATIADL
-               sensors = amd_psensor_list_add(sensors, 600);
+               if (config_is_atiadlsdk_enabled())
+                       amd_psensor_list_append(&sensors, 600);
 #endif
 #ifdef HAVE_GTOP
-               sensors = cpu_psensor_list_add(sensors, 600);
+               if (config_is_gtop2_enabled())
+                       gtop2_psensor_list_append(&sensors, 600);
+#endif
+#ifdef HAVE_LIBUDISKS2
+               if (config_is_udisks2_enabled())
+                       udisks2_psensor_list_append(&sensors, 600);
 #endif
        }
 
@@ -477,9 +516,8 @@ static struct psensor **create_sensors_list(const char *url,
 int main(int argc, char **argv)
 {
        struct ui_psensor ui;
-       GError *error;
-       GThread *thread;
-       int optc, cmdok, opti, use_libatasmart, new_instance;
+       pthread_t thread;
+       int optc, cmdok, opti, new_instance, ret;
        char *url = NULL;
        GApplication *app;
 
@@ -492,16 +530,12 @@ int main(int argc, char **argv)
        textdomain(PACKAGE);
 #endif
 
-       use_libatasmart = new_instance = 0;
+       new_instance = 0;
 
        cmdok = 1;
        while ((optc = getopt_long(argc, argv, "vhd:u:n", long_options,
                                   &opti)) != -1) {
                switch (optc) {
-               case 0:
-                       if (!strcmp(long_options[opti].name, "use-libatasmart"))
-                               use_libatasmart = 1;
-                       break;
                case 'u':
                        if (optarg)
                                url = strdup(optarg);
@@ -568,13 +602,11 @@ int main(int argc, char **argv)
 
        gtk_init(NULL, NULL);
 
-       pthread_mutex_init(&ui.sensors_mutex, NULL);
+       pmutex_init(&ui.sensors_mutex);
 
        ui.config = config_load();
 
-       psensor_init();
-
-       ui.sensors = create_sensors_list(url, use_libatasmart);
+       ui.sensors = create_sensors_list(url);
        associate_cb_alarm_raised(ui.sensors, &ui);
 
        if (ui.config->slog_enabled)
@@ -593,11 +625,10 @@ int main(int argc, char **argv)
 
        ui_enable_alpha_channel(&ui);
 
-       thread = g_thread_create((GThreadFunc) update_measures,
-                                &ui, TRUE, &error);
+       ret = pthread_create(&thread, NULL, update_measures, &ui);
 
-       if (!thread)
-               g_error_free(error);
+       if (ret)
+               log_err(_("Failed to create thread for monitoring sensors"));
 
        ui.graph_update_interval = ui.config->graph_update_interval;
 
@@ -620,6 +651,8 @@ int main(int argc, char **argv)
        else
                initial_window_show(&ui);
 
+       log_debug("translators: %s\n", _("translator-credits"));
+
        /* main loop */
        gtk_main();
 
index 1d92733..8a7687a 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.44.1.
-.TH PSENSOR "1" "August 2014" "psensor 1.0.4" "User Commands"
+.TH PSENSOR "1" "September 2014" "psensor 1.1.2" "User Commands"
 .SH NAME
 psensor \- Temperature monitoring application
 .SH SYNOPSIS
@@ -21,10 +21,6 @@ display version information and exit
 the URL of the psensor\-server,
 example: http://hostname:3131
 .TP
-\fB\-\-use\-libatasmart\fR
-use atasmart library for disk monitoring instead of
-hddtemp daemon
-.TP
 \fB\-n\fR, \fB\-\-new\-instance\fR
 force the creation of a new Psensor application
 .TP
diff --git a/src/psensor.gschema.xml b/src/psensor.gschema.xml
new file mode 100644 (file)
index 0000000..8439c1b
--- /dev/null
@@ -0,0 +1,211 @@
+<schemalist>
+  <schema id="psensor" path="/apps/psensor/">
+    <key name="graph-alpha-channel-enabled" type="b">
+      <default>false</default>
+      <summary>Whether the alpha channel is enabled</summary>
+      <description>Whether the alpha channel is enabled. Must be
+      enabled for changing the transparency of the background of the
+      graph window.</description>
+    </key>
+    <key name="graph-background-alpha" type="d">
+      <default>1</default>
+      <summary>The alpha value of the background of the graph
+      window</summary>
+      <description>The alpha value of the background of the graph
+      window. It must be a positive float between 0 and 1. '1' is the
+      maximum opacity.</description>
+    </key>
+    <key name="graph-background-color" type="s">
+      <default>'#e8f4e8f4a8f5'</default>
+      <summary>The color of the background of the graph
+      canvas</summary>
+      <description>The color of the background of the graph canvas as
+      a #rgb representation.</description>
+    </key>
+    <key name="graph-foreground-color" type="s">
+      <default>'#000000000000'</default>
+      <summary>The color of the foreground of the graph
+      canvas</summary>
+      <description>The color of the foreground of the graph canvas as
+      a #rgb representation.</description>
+    </key>
+    <key name="graph-monitoring-duration" type="i">
+      <default>20</default>
+      <summary>The monitoring duration of the graph</summary>
+      <description>The monitoring duration of the graph as minutes. It
+      must be greater than 1.</description>
+    </key>
+    <key name="graph-update-interval" type="i">
+      <default>2</default>
+      <summary>The interval between refreshs of the graph</summary>
+      <description>The interval between refreshs of the graph as
+      seconds. It must be greater than 1.</description>
+    </key>
+    <key name="graph-smooth-curves-enabled" type="b">
+      <default>true</default>
+      <summary>Whether smooth curves are enabled</summary>
+      <description>Whether curves are drawn using Bezier algorithm
+      for a smoother visual rendering .</description>
+    </key>
+    <key name="interface-hide-on-startup" type="b">
+      <default>false</default>
+      <summary>Whether the graph window is hidden on startup</summary>
+      <description>Whether the graph window is hidden on startup. The
+      graph will be hidden only if the Ubuntu Application Indicator or
+      status icon support is available.</description>
+    </key>
+    <key name="interface-menu-bar-disabled" type="b">
+      <default>false</default>
+      <summary>Whether the menu of the graph window is
+      disabled</summary>
+      <description>Whether the menu of the graph window is
+      disabled</description>
+    </key>
+    <key name="interface-sensorlist-position" type="i">
+      <default>0</default>
+      <summary>Position of the sensor list in the graph
+      window</summary>
+      <description>Position of the sensor list in the graph
+      window. Possible values are 0 (right), 1 (left), 2 (top), 3
+      (bottom).</description>
+    </key>
+    <key name="interface-unity-launcher-count-disabled" type="b">
+      <default>false</default>
+      <summary>Whether the greatest temperature is displayed in Unity
+      launcher</summary>
+      <description>If set to 'true' the greatest temperature will be
+      displayed in the Unity launcher.</description>
+    </key>
+    <key name="interface-temperature-unit" type="i">
+      <default>0</default>
+      <summary>The displayed temperature unit</summary>
+      <description>The displayed temperature unit, '0' for Celsius,
+      '1' for Fahenrenheit.</description>
+    </key>
+    <key name="interface-window-decoration-disabled" type="b">
+      <default>false</default>
+      <summary>Whether the decoration of the window is
+      disabled</summary>
+      <description>Whether the decoration of the window is
+      disabled.</description>
+    </key>
+    <key name="interface-window-keep-below-enabled" type="b">
+      <default>false</default>
+      <summary>Whether the graph window is kept below all other
+      windows</summary>
+      <description>Whether the graph window is kept below all other
+      windows.</description>
+    </key>
+    <key name="interface-window-restore-enabled" type="b">
+      <default>true</default>
+      <summary>Whether the position and size of the graph window are
+      restored</summary>
+      <description>Whether the position and size of the graph window
+      are restored</description>
+    </key>
+    <key name="interface-window-divider-pos" type="i">
+      <default>0</default>
+      <summary>Position of the divider between the graph window and
+      the list of sensors</summary>
+      <description>Position of the divider between the graph window
+      and the list of sensors</description>
+    </key>
+    <key name="interface-window-w" type="i">
+      <default>800</default>
+      <summary>Width of the graph window</summary>
+      <description>Width of the graph window.</description>
+    </key>
+    <key name="interface-window-h" type="i">
+      <default>200</default>
+      <summary>Height of the graph window</summary>
+      <description>Height of the graph window.</description>
+    </key>
+    <key name="interface-window-x" type="i">
+      <default>100</default>
+      <summary>Horizontal position of the graph window</summary>
+      <description>Horizontal position of the graph
+      window.</description>
+    </key>
+    <key name="interface-window-y" type="i">
+      <default>100</default>
+      <summary>Vertical position of the graph window</summary>
+      <description>Vertical position of the graph
+      window.</description>
+    </key>
+    <key name="notif-script" type="s">
+      <default>''</default>
+      <summary>The script called when a notification is
+      raised.</summary>
+      <description>The script called when a notification is
+      raised.</description>
+    </key>
+    <key name="slog-enabled" type="b">
+      <default>false</default>
+      <summary>Whether the logging sensors is enabled.</summary>
+      <description>Whether the logging sensors is
+      enabled.</description>
+    </key>
+    <key name="slog-interval" type="i">
+      <default>300</default>
+      <summary>Interval of the logging of sensors.</summary>
+      <description>Interval of the logging of sensors in
+      seconds.</description>
+    </key>
+    <key name="sensor-update-interval" type="i">
+      <default>2</default>
+      <summary>Update interface of the sensor values</summary>
+      <description>Update interface of the sensor
+      values.</description>
+    </key>
+    <!-- sensors information providers -->
+    <key name="provider-lmsensors-enabled" type="b">
+      <default>true</default>
+      <summary>Whether the lm-sensors librairy is used to retrieve
+      sensors information.</summary>
+      <description>Whether the lm-sensors librairy is used to
+      retrieved sensors information.</description>
+    </key>
+    <key name="provider-nvctrl-enabled" type="b">
+      <default>true</default>
+      <summary>Whether the NVCtrl library is used to retrieve
+      sensors information.</summary>
+      <description>Whether the NVCtrl library is used to
+      retrieved sensors information.</description>
+    </key>
+    <key name="provider-atiadlsdk-enabled" type="b">
+      <default>true</default>
+      <summary>Whether the ATI ADL SDK library is used to retrieve
+      sensors information.</summary>
+      <description>Whether the ATI ADL SDK library is used to
+      retrieved sensors information.</description>
+    </key>
+    <key name="provider-gtop2-enabled" type="b">
+      <default>true</default>
+      <summary>Whether the gtop2 library is used to retrieve
+      system information.</summary>
+      <description>Whether the gtop2 library is used to
+      system information.</description>
+    </key>
+    <key name="provider-hddtemp-enabled" type="b">
+      <default>false</default>
+      <summary>Whether the hddtemp daemon is used to retrieve
+      hard disks information.</summary>
+      <description>Whether the hddtemp daemon is used to
+      retrieved hard disks information.</description>
+    </key>
+    <key name="provider-libatasmart-enabled" type="b">
+      <default>false</default>
+      <summary>Whether the atasmart library is used to retrieve
+      hard disks information.</summary>
+      <description>Whether the atasmart library is used to
+      retrieved hard disks information.</description>
+    </key>
+    <key name="provider-udisks2-enabled" type="b">
+      <default>true</default>
+      <summary>Whether the udisks2 library is used to retrieve
+      hard disks information.</summary>
+      <description>Whether the lm-sensors library is used to
+      retrieved hard disks information.</description>
+    </key>
+  </schema>
+</schemalist>
diff --git a/src/psensor.schemas b/src/psensor.schemas
deleted file mode 100644 (file)
index 70c81fc..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-<!-- Copyright (C) 2012-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      -->
-<!-- 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                                                     -->
-<gconfschemafile>
-  <schemalist>
-    <!-- Graph settings -->
-    <schema>
-      <key>/schemas/apps/psensor/graph/alpha_channel_enabled</key>
-      <applyto>/apps/psensor/graph/alpha_channel_enabled</applyto>
-      <owner>psensor</owner>
-      <type>bool</type>
-      <default>false</default>
-      <locale name="C">
-         <short>Whether the alpha channel is enabled</short>
-         <long>
-          Whether the alpha channel is enabled. Must be enabled for changing
-          the transparency of the background of the graph window.
-         </long>
-      </locale>
-    </schema>
-
-    <schema>
-      <key>/schemas/apps/psensor/graph/background_alpha</key>
-      <applyto>/apps/psensor/graph/background_alpha</applyto>
-      <owner>psensor</owner>
-      <type>float</type>
-      <default>1</default>
-      <locale name="C">
-         <short>The alpha value of the background of the graph window</short>
-         <long>
-          The alpha value of the background of the graph window. It must
-          be a positive float between 0 and 1. '1' is the maximum opacity.
-         </long>
-      </locale>
-    </schema>
-
-    <schema>
-      <key>/schemas/apps/psensor/graph/background_color</key>
-      <applyto>/apps/psensor/graph/background_color</applyto>
-      <owner>psensor</owner>
-      <type>string</type>
-      <default>#e8f4e8f4a8f5</default>
-      <locale name="C">
-         <short>The color of the background of the graph canvas</short>
-         <long>
-          The color of the background of the graph canvas as a #rgb
-          representation.
-         </long>
-      </locale>
-    </schema>
-
-    <schema>
-      <key>/schemas/apps/psensor/graph/foreground_color</key>
-      <applyto>/apps/psensor/graph/foreground_color</applyto>
-      <owner>psensor</owner>
-      <type>string</type>
-      <default>#000000000000</default>
-      <locale name="C">
-         <short>The color of the foreground of the graph canvas</short>
-         <long>
-          The color of the foreground of the graph canvas as a #rgb
-          representation.
-         </long>
-      </locale>
-    </schema>
-
-    <schema>
-      <key>/schemas/apps/psensor/graph/monitoring_duration</key>
-      <applyto>/apps/psensor/graph/monitoring_duration</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <default>10</default>
-      <locale name="C">
-         <short>The monitoring duration of the graph</short>
-         <long>
-          The monitoring duration of the graph as minutes. It must
-          be greater than 1.
-         </long>
-      </locale>
-    </schema>
-
-    <schema>
-      <key>/schemas/apps/psensor/graph/update_interval</key>
-      <applyto>/apps/psensor/graph/update_interval</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <default>1</default>
-      <locale name="C">
-         <short>The interval between refreshs of the graph</short>
-         <long>
-          The interval between refreshs of the graph as seconds. It
-          must be greater than 1.
-         </long>
-      </locale>
-    </schema>
-
-    <!-- Inteface settings -->
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/hide_on_startup</key>
-      <applyto>/apps/psensor/interface/hide_on_startup</applyto>
-      <owner>psensor</owner>
-      <type>bool</type>
-      <default>false</default>
-      <locale name="C">
-         <short>Whether the graph window is hidden on startup</short>
-         <long>
-          Whether the graph window is hidden on startup. The graph
-          will be hidden only if the Ubuntu Application Indicator or
-          status icon support is available.
-         </long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/menu_bar_disabled</key>
-      <applyto>/apps/psensor/interface/menu_bar_disabled</applyto>
-      <owner>psensor</owner>
-      <type>bool</type>
-      <default>false</default>
-      <locale name="C">
-         <short>Whether the menu of the graph window is disabled</short>
-         <long>
-          Whether the menu of the graph window is disabled
-         </long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/sensorlist_position</key>
-      <applyto>/apps/psensor/interface/sensorlist_position</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <default>0</default>
-      <locale name="C">
-         <short>Position of the sensor list in the graph window</short>
-         <long>Position of the sensor list in the graph
-         window. Possible values are 0 (right), 1 (left), 2 (top), 3
-         (bottom).</long>
-      </locale>
-    </schema>
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/unity_launcher_count_disabled</key>
-      <applyto>/apps/psensor/interface/unity_launcher_count_disabled</applyto>
-      <owner>psensor</owner>
-      <type>bool</type>
-      <default>false</default>
-      <locale name="C">
-       <short>Whether the greatest temperature is displayed in Unity
-       launcher</short>
-       <long>If set to 'true' the greatest temperature will be
-       displayed in the Unity launcher.</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/temperature_unit</key>
-      <applyto>/apps/psensor/interface/temperature_unit</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <default>0</default>
-      <locale name="C">
-       <short>The displayed temperature unit</short>
-        <long>The displayed temperature unit, '0' for Celsius, '1' for Fahenrenheit.</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_decoration_disabled</key>
-      <applyto>/apps/psensor/interface/window_decoration_disabled</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <default>0</default>
-      <locale name="C">
-       <short>Whether the decoration of the window is disabled</short>
-       <long>Whether the decoration of the window is disabled.</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_keep_below_enabled</key>
-      <applyto>/apps/psensor/interface/window_keep_below_enabled</applyto>
-      <owner>psensor</owner>
-      <type>bool</type>
-      <default>false</default>
-      <locale name="C">
-       <short>Whether the graph window is kept below all other windows</short>
-       <long>Whether the graph window is kept below all other windows.</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_restore_enabled</key>
-      <applyto>/apps/psensor/interface/window_restore_enabled</applyto>
-      <owner>psensor</owner>
-      <type>bool</type>
-      <default>false</default>
-      <locale name="C">
-       <short>Whether the position and size of the graph window are restored</short>
-       <long>Whether the position and size of the graph window are restored</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_divider_pos</key>
-      <applyto>/apps/psensor/interface/window_divider_pos</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <locale name="C">
-       <short>Position of the divider between the graph window and the list of sensors</short>
-       <long>Position of the divider between the graph window and the list of sensors</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_w</key>
-      <applyto>/apps/psensor/interface/window_w</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <locale name="C">
-       <short>Width of the graph window</short>
-       <long>Width of the graph window.</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_h</key>
-      <applyto>/apps/psensor/interface/window_h</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <locale name="C">
-       <short>Height of the graph window</short>
-       <long>Height of the graph window.</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_x</key>
-      <applyto>/apps/psensor/interface/window_x</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <locale name="C">
-       <short>Horizontal position of the graph window</short>
-       <long>Horizontal position of the graph window.</long>
-      </locale>
-    </schema>    
-
-    <schema>
-      <key>/schemas/apps/psensor/interface/window_y</key>
-      <applyto>/apps/psensor/interface/window_y</applyto>
-      <owner>psensor</owner>
-      <type>int</type>
-      <locale name="C">
-       <short>Vertical position of the graph window</short>
-       <long>Vertical position of the graph window.</long>
-      </locale>
-    </schema>    
-    
-  </schemalist>
-</gconfschemafile>
index aa61e03..14c3021 100644 (file)
@@ -46,7 +46,7 @@ static char *get_user_desktop_file()
        char *dir, *path;
 
        dir = get_user_autostart_dir();
-       path = path_append(dir, "psensor.desktop");
+       path = path_append(dir, PSENSOR_DESKTOP_FILE);
 
        free(dir);
 
@@ -55,7 +55,7 @@ static char *get_user_desktop_file()
 
 static const char *get_desktop_file()
 {
-       return DATADIR"/applications/psensor.desktop";
+       return DATADIR"/applications/"PSENSOR_DESKTOP_FILE;
 }
 
 static int is_file_exists(const char *path)
@@ -77,14 +77,13 @@ static GKeyFile *get_key_file(const char *path)
                                        | G_KEY_FILE_KEEP_TRANSLATIONS,
                                        NULL);
 
-       if (ret) {
+       if (ret)
                return kfile;
-       } else {
-               log_err("Failed to parse: %s", path);
 
-               g_key_file_free(kfile);
-               return NULL;
-       }
+       log_err("Failed to parse: %s", path);
+
+       g_key_file_free(kfile);
+       return NULL;
 }
 
 static int is_user_desktop_autostarted(GKeyFile *f)
index 32c182c..8a5aa66 100644 (file)
@@ -163,14 +163,14 @@ void remote_psensor_update(struct psensor *s)
        if (obj && !is_error(obj)) {
                json_object *om;
 
-               om = json_object_object_get(obj, "last_measure");
+               json_object_object_get_ex(obj, "last_measure", &om);
 
                if (!is_error(obj)) {
                        json_object *ov, *ot;
                        struct timeval tv;
 
-                       ov = json_object_object_get(om, "value");
-                       ot = json_object_object_get(om, "time");
+                       json_object_object_get_ex(om, "value", &ov);
+                       json_object_object_get_ex(om, "time", &ot);
 
                        tv.tv_sec = json_object_get_int(ot);
                        tv.tv_usec = 0;
index f240f32..fa57f23 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -58,10 +85,14 @@ bin_PROGRAMS = psensor-server$(EXEEXT)
 @ATASMART_TRUE@am__append_4 = $(ATASMART_CFLAGS)
 @ATASMART_TRUE@am__append_5 = $(ATASMART_LIBS)
 subdir = src/server
-DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/depcomp $(dist_man_MANS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -76,14 +107,34 @@ am__psensor_server_SOURCES_DIST = server.c server.h sysinfo.h \
 am_psensor_server_OBJECTS = server.$(OBJEXT) $(am__objects_1)
 psensor_server_OBJECTS = $(am_psensor_server_OBJECTS)
 psensor_server_LDADD = $(LDADD)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(psensor_server_SOURCES)
 DIST_SOURCES = $(am__psensor_server_SOURCES_DIST)
 am__can_run_installinfo = \
@@ -121,14 +172,33 @@ am__uninstall_files_from_dir = { \
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(dist_man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -150,15 +220,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -187,6 +253,8 @@ LIBOBJS = @LIBOBJS@
 LIBS = ../lib/libpsensor.a $(SENSORS_LIBS) $(JSON_LIBS) \
        $(LIBMICROHTTPD_LIBS) $(PTHREAD_LIBS) $(am__append_2) \
        $(am__append_5)
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -212,7 +280,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -227,7 +294,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -252,6 +318,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -331,10 +398,11 @@ install-binPROGRAMS: $(bin_PROGRAMS)
        fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
+       while read p p1; do if test -f $$p \
+         then echo "$$p"; echo "$$p"; else :; fi; \
        done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+       sed -e 'p;s,.*/,,;n;h' \
+           -e 's|.*|.|' \
            -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
        sed 'N;N;N;s,\n, ,g' | \
        $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -355,16 +423,18 @@ uninstall-binPROGRAMS:
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
        files=`for p in $$list; do echo "$$p"; done | \
          sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
+             -e 's/$$/$(EXEEXT)/' \
+       `; \
        test -n "$$list" || exit 0; \
        echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
        -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
 psensor-server$(EXEEXT): $(psensor_server_OBJECTS) $(psensor_server_DEPENDENCIES) $(EXTRA_psensor_server_DEPENDENCIES) 
        @rm -f psensor-server$(EXEEXT)
-       $(LINK) $(psensor_server_OBJECTS) $(psensor_server_LDADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK) $(psensor_server_OBJECTS) $(psensor_server_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -376,18 +446,18 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sysinfo.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 install-man1: $(dist_man_MANS)
        @$(NORMAL_INSTALL)
        @list1=''; \
@@ -432,26 +502,15 @@ uninstall-man1:
              -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
        dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -463,15 +522,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -480,24 +535,26 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -637,19 +694,19 @@ uninstall-man: uninstall-man1
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
-       distclean-generic distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-binPROGRAMS \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-man1 \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-binPROGRAMS \
-       uninstall-man uninstall-man1
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+       clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \
+       distclean distclean-compile distclean-generic distclean-tags \
+       distdir dvi dvi-am html html-am info info-am install \
+       install-am install-binPROGRAMS install-data install-data-am \
+       install-dvi install-dvi-am install-exec install-exec-am \
+       install-html install-html-am install-info install-info-am \
+       install-man install-man1 install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am \
+       uninstall-binPROGRAMS uninstall-man uninstall-man1
 
 psensor-server.1: server.c $(top_srcdir)/configure.ac
        $(MAKE) $(AM_MAKEFLAGS) psensor-server$(EXEEXT)
index 8118cf1..806c4f4 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.44.1.
-.TH PSENSOR-SERVER "1" "August 2014" "psensor-server 1.0.4" "User Commands"
+.TH PSENSOR-SERVER "1" "September 2014" "psensor-server 1.1.2" "User Commands"
 .SH NAME
 psensor-server \- Temperature and system monitoring Web server
 .SH SYNOPSIS
index 55649b8..5862586 100644 (file)
 
 #ifdef HAVE_GTOP
 #include "sysinfo.h"
-#include "cpu.h"
+#include <pgtop2.h>
 #endif
 
+#include <hdd.h>
+#include <lmsensor.h>
 #include <plog.h>
 #include "psensor_json.h"
+#include <pmutex.h>
 #include "url.h"
 #include "server.h"
 #include "slog.h"
@@ -74,7 +77,7 @@ static struct option long_options[] = {
 
 static struct server_data server_data;
 
-static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t mutex;
 
 static int server_stop_requested;
 
@@ -254,15 +257,16 @@ create_response(const char *nurl, const char *method, unsigned int *rp_code)
                free(fpath);
        }
 
-       if (resp) {
+       if (resp)
                return resp;
-       } else {
-               char *page = strdup(PAGE_NOT_FOUND);
-               *rp_code = MHD_HTTP_NOT_FOUND;
 
-               return MHD_create_response_from_data
-                       (strlen(page), page, MHD_YES, MHD_NO);
-       }
+       char *page = strdup(PAGE_NOT_FOUND);
+       *rp_code = MHD_HTTP_NOT_FOUND;
+
+       return MHD_create_response_from_data(strlen(page),
+                                            page,
+                                            MHD_YES,
+                                            MHD_NO);
 }
 
 static int cbk_http_request(void *cls,
@@ -298,9 +302,9 @@ static int cbk_http_request(void *cls,
 
        nurl = url_normalize(url);
 
-       pthread_mutex_lock(&mutex);
+       pmutex_lock(&mutex);
        response = create_response(nurl, method, &resp_code);
-       pthread_mutex_unlock(&mutex);
+       pmutex_unlock(&mutex);
 
        ret = MHD_queue_response(connection, resp_code, response);
        MHD_destroy_response(response);
@@ -388,11 +392,13 @@ int main(int argc, char *argv[])
        if (!log_file)
                log_file = strdup(DEFAULT_LOG_FILE);
 
+       pmutex_init(&mutex);
+
        log_open(log_file);
 
-       psensor_init();
+       hddtemp_psensor_list_append(&server_data.sensors, 600);
 
-       server_data.sensors = get_all_sensors(0, 600);
+       lmsensor_psensor_list_append(&server_data.sensors, 600);
 
 #ifdef HAVE_GTOP
        server_data.cpu_usage = create_cpu_usage_sensor(600);
@@ -426,17 +432,24 @@ int main(int argc, char *argv[])
        }
 
        while (!server_stop_requested) {
-               pthread_mutex_lock(&mutex);
+               pmutex_lock(&mutex);
 
 #ifdef HAVE_GTOP
                sysinfo_update(&server_data.psysinfo);
                cpu_usage_sensor_update(server_data.cpu_usage);
 #endif
-               psensor_list_update_measures(server_data.sensors);
+
+#ifdef HAVE_ATASMART
+               atasmart_psensor_list_update(server_data.sensors);
+#endif
+
+               hddtemp_psensor_list_update(server_data.sensors);
+
+               lmsensor_psensor_list_update(server_data.sensors);
 
                psensor_log_measures(server_data.sensors);
 
-               pthread_mutex_unlock(&mutex);
+               pmutex_unlock(&mutex);
                sleep(5);
        }
 
@@ -454,7 +467,6 @@ int main(int argc, char *argv[])
 
 #ifdef HAVE_GTOP
        sysinfo_cleanup();
-       cpu_cleanup();
 #endif
 
        if (log_file != DEFAULT_LOG_FILE)
index 967f31e..dcb3ea0 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -78,16 +78,23 @@ on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
 
 void ui_show_about_dialog()
 {
+       static const char *const authors[] = { "jeanfi@gmail.com", NULL };
+
        gtk_show_about_dialog
                (NULL,
+                "authors", authors,
                 "comments",
                 _("Psensor is a GTK+ application for monitoring hardware "
                   "sensors"),
                 "copyright",
-                _("Copyright(c) 2010-2014\njeanfi@gmail.com"),
+                _("Copyright(c) 2010-2014 jeanfi@gmail.com"),
+#if GTK_CHECK_VERSION(3, 12, 0)
+                "license-type", GTK_LICENSE_GPL_2_0,
+#endif
                 "logo-icon-name", "psensor",
                 "program-name", "Psensor",
                 "title", _("About Psensor"),
+                "translator-credits", _("translator-credits"),
                 "version", VERSION,
                 "website", PACKAGE_URL,
                 "website-label", _("Psensor Homepage"),
@@ -152,8 +159,7 @@ void ui_enable_alpha_channel(struct ui_psensor *ui)
        }
 }
 
-static void
-slog_enabled_cbk(GConfClient *client, guint id, GConfEntry *e, gpointer data)
+static void slog_enabled_cbk(void *data)
 {
        struct ui_psensor *ui;
        struct psensor **sensors;
@@ -192,7 +198,7 @@ void ui_window_create(struct ui_psensor *ui)
        if (!ok) {
                log_printf(LOG_ERR, error->message);
                g_error_free(error);
-               return ;
+               return;
        }
 
        window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
@@ -203,7 +209,7 @@ void ui_window_create(struct ui_psensor *ui)
                                cfg->window_x,
                                cfg->window_y);
 
-       config_slog_enabled_notify_add(slog_enabled_cbk, ui);
+       config_set_slog_enabled_changed_cbk(slog_enabled_cbk, ui);
 
        gtk_window_set_default_size(GTK_WINDOW(window),
                                    cfg->window_w,
index c8887c2..c25e270 100644 (file)
@@ -96,7 +96,7 @@ static void update_menu_items(int use_celsius)
        GtkMenuItem **m;
 
        if (!sensors)
-               return ;
+               return;
 
        for (s = sensors, m = menu_items; *s; s++, m++)
                update_menu_item(*m, *s, use_celsius);
@@ -199,9 +199,9 @@ static void update_label(struct ui_psensor *ui)
 
                        if (is_temp_type((*p)->type))
                                str = "999UUU";
-                       else if (is_fan_type((*p)->type))
+                       else if ((*p)->type & SENSOR_TYPE_RPM)
                                str = "999UUU";
-                       else /* cpu load */
+                       else /* percent */
                                str = "999%";
 
                        if (guide == NULL) {
index d7f6eff..85277ff 100644 (file)
@@ -63,7 +63,7 @@ int ui_change_color(const char *title, struct color *col, GtkWindow *win)
                else
                        b = color.blue;
 
-               color_set(col, 65535*r, 65535*g, 65535*b);
+               color_set(col, r, g, b);
        }
 
        gtk_widget_destroy(GTK_WIDGET(colordlg));
index 0b9b41b..e5e0e76 100644 (file)
@@ -45,6 +45,11 @@ on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data)
        return FALSE;
 }
 
+void smooth_curves_enabled_changed_cbk(void *data)
+{
+       is_smooth_curves_enabled = config_is_smooth_curves_enabled();
+}
+
 void ui_graph_create(struct ui_psensor *ui)
 {
        GtkWidget *w_graph;
@@ -53,6 +58,12 @@ void ui_graph_create(struct ui_psensor *ui)
 
        w_graph = ui->w_graph;
 
+       is_smooth_curves_enabled = config_is_smooth_curves_enabled();
+       g_signal_connect_after(config_get_GSettings(),
+                              "changed::graph-smooth-curves-enabled",
+                              G_CALLBACK(smooth_curves_enabled_changed_cbk),
+                              NULL);
+
        g_signal_connect(GTK_WIDGET(w_graph),
                         "draw",
                         G_CALLBACK(on_expose_event),
index 6361f06..a668014 100644 (file)
@@ -53,7 +53,7 @@ void ui_notify(struct psensor *sensor, struct ui_psensor *ui)
            || t.tv_sec - last_notification_tv.tv_sec >= 60)
                last_notification_tv = t;
        else
-               return ;
+               return;
 
        if (notify_is_initted() == FALSE)
                notify_init("psensor");
@@ -75,8 +75,8 @@ void ui_notify(struct psensor *sensor, struct ui_psensor *ui)
 
                if (is_temp_type(sensor->type))
                        summary = _("Temperature alert");
-               else if (is_fan_type(sensor->type))
-                       summary = _("Fan alert");
+               else if (sensor->type & SENSOR_TYPE_RPM)
+                       summary = _("Fan speed alert");
                else
                        summary = _("N/A");
 
index 4dd4bf8..5494777 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
-#include "ui.h"
-#include "cfg.h"
-#include "ui_pref.h"
-#include "ui_color.h"
+#include <ui.h>
+#include <cfg.h>
+#include <graph.h>
+#include <ui_pref.h>
+#include <ui_color.h>
 #include <pxdg.h>
 
-GdkColor *color_to_gdkcolor(struct color *color)
+GdkRGBA color_to_GdkRGBA(struct color *color)
 {
-       GdkColor *c = malloc(sizeof(GdkColor));
+       GdkRGBA c;
 
-       c->red = color->red;
-       c->green = color->green;
-       c->blue = color->blue;
+       c.red = color->red;
+       c.green = color->green;
+       c.blue = color->blue;
+       c.alpha = 1.0;
 
        return c;
 }
@@ -44,15 +46,17 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
        GtkBuilder *builder;
        guint ok;
        GError *error = NULL;
-       GdkColor *color_fg, *color_bg;
-       GtkColorButton *w_color_fg, *w_color_bg;
+       GdkRGBA color_fg, color_bg;
+       GtkColorChooser *w_color_fg, *w_color_bg;
        GtkScale *w_bg_opacity;
        GtkSpinButton *w_update_interval, *w_monitoring_duration,
                *w_s_update_interval, *w_slog_interval;
        GtkComboBox *w_sensorlist_pos;
        GtkToggleButton *w_hide_window_decoration, *w_keep_window_below,
                *w_enable_menu, *w_enable_launcher_counter, *w_hide_on_startup,
-               *w_win_restore, *w_slog_enabled, *w_autostart;
+               *w_win_restore, *w_slog_enabled, *w_autostart, *w_smooth_curves,
+               *w_atiadlsdk, *w_lmsensors, *w_nvctrl, *w_gtop2, *w_hddtemp,
+               *w_libatasmart, *w_udisks2;
        GtkComboBoxText *w_temp_unit;
        GtkEntry *w_notif_script;
        char *notif_script;
@@ -69,7 +73,7 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
        if (!ok) {
                log_printf(LOG_ERR, error->message);
                g_error_free(error);
-               return ;
+               return;
        }
 
        diag = GTK_DIALOG(gtk_builder_get_object(builder, "dialog1"));
@@ -82,15 +86,15 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
                free(notif_script);
        }
 
-       color_fg = color_to_gdkcolor(cfg->graph_fgcolor);
-       w_color_fg = GTK_COLOR_BUTTON(gtk_builder_get_object(builder,
-                                                            "color_fg"));
-       gtk_color_button_set_color(w_color_fg, color_fg);
+       color_fg = color_to_GdkRGBA(cfg->graph_fgcolor);
+       w_color_fg = GTK_COLOR_CHOOSER(gtk_builder_get_object(builder,
+                                                             "color_fg"));
+       gtk_color_chooser_set_rgba(w_color_fg, &color_fg);
 
-       color_bg = color_to_gdkcolor(cfg->graph_bgcolor);
-       w_color_bg = GTK_COLOR_BUTTON(gtk_builder_get_object(builder,
+       color_bg = color_to_GdkRGBA(cfg->graph_bgcolor);
+       w_color_bg = GTK_COLOR_CHOOSER(gtk_builder_get_object(builder,
                                                             "color_bg"));
-       gtk_color_button_set_color(w_color_bg, color_bg);
+       gtk_color_chooser_set_rgba(w_color_bg, &color_bg);
 
        w_bg_opacity = GTK_SCALE(gtk_builder_get_object(builder,
                                                        "bg_opacity"));
@@ -140,6 +144,11 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
        gtk_toggle_button_set_active(w_enable_launcher_counter,
                                     !cfg->unity_launcher_count_disabled);
 
+       w_smooth_curves = GTK_TOGGLE_BUTTON
+               (gtk_builder_get_object(builder, "graph_smooth_curves"));
+       gtk_toggle_button_set_active(w_smooth_curves,
+                                    config_is_smooth_curves_enabled());
+
        w_slog_enabled = GTK_TOGGLE_BUTTON
                (gtk_builder_get_object(builder, "enable_slog"));
        gtk_toggle_button_set_active(w_slog_enabled, cfg->slog_enabled);
@@ -165,24 +174,82 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
        gtk_combo_box_set_active(GTK_COMBO_BOX(w_temp_unit),
                                 cfg->temperature_unit);
 
+       /* providers */
+       w_lmsensors
+               = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
+                                                          "lmsensors"));
+       gtk_toggle_button_set_active(w_lmsensors, config_is_lmsensor_enabled());
+
+       w_nvctrl
+               = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
+                                                          "nvctrl"));
+#if !HAVE_NVIDIA
+       gtk_widget_set_sensitive(GTK_WIDGET(w_nvctrl), 0);
+#endif
+       gtk_toggle_button_set_active(w_nvctrl, config_is_nvctrl_enabled());
+
+       w_atiadlsdk
+               = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
+                                                          "atiadlsdk"));
+#if !HAVE_LIBATIADL
+       gtk_widget_set_sensitive(GTK_WIDGET(w_atiadlsdk), 0);
+#endif
+       gtk_toggle_button_set_active(w_atiadlsdk,
+                                    config_is_atiadlsdk_enabled());
+
+       w_gtop2
+               = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
+                                                          "gtop2"));
+#if !HAVE_GTOP
+       gtk_widget_set_sensitive(GTK_WIDGET(w_gtop2), 0);
+#endif
+       gtk_toggle_button_set_active(w_gtop2, config_is_gtop2_enabled());
+
+       w_hddtemp
+               = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
+                                                          "hddtemp"));
+       gtk_toggle_button_set_active(w_hddtemp, config_is_hddtemp_enabled());
+
+
+       w_libatasmart
+               = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
+                                                          "libatasmart"));
+#if !HAVE_ATASMART
+       gtk_widget_set_sensitive(GTK_WIDGET(w_libatasmart), 0);
+#endif
+       gtk_toggle_button_set_active(w_libatasmart,
+                                    config_is_libatasmart_enabled());
+
+       w_udisks2
+               = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
+                                                          "udisks2"));
+#if !HAVE_LIBUDISKS2
+       gtk_widget_set_sensitive(GTK_WIDGET(w_udisks2), 0);
+#endif
+       gtk_toggle_button_set_active(w_udisks2, config_is_udisks2_enabled());
+
        result = gtk_dialog_run(diag);
 
        if (result == GTK_RESPONSE_ACCEPT) {
                double value;
-               GdkColor color;
+               GdkRGBA color;
 
                pthread_mutex_lock(&ui->sensors_mutex);
 
                config_set_notif_script
                        (gtk_entry_get_text(GTK_ENTRY(w_notif_script)));
 
-               gtk_color_button_get_color(w_color_fg, &color);
+               gtk_color_chooser_get_rgba(w_color_fg, &color);
                color_set(cfg->graph_fgcolor,
-                         color.red, color.green, color.blue);
+                         color.red,
+                         color.green,
+                         color.blue);
 
-               gtk_color_button_get_color(w_color_bg, &color);
+               gtk_color_chooser_get_rgba(w_color_bg, &color);
                color_set(cfg->graph_bgcolor,
-                         color.red, color.green, color.blue);
+                         color.red,
+                         color.green,
+                         color.blue);
 
                value = gtk_range_get_value(GTK_RANGE(w_bg_opacity));
                cfg->graph_bg_alpha = value;
@@ -224,10 +291,6 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
                    = gtk_spin_button_get_value_as_int
                        (w_monitoring_duration);
 
-               cfg->sensor_values_max_length
-                   = (cfg->graph_monitoring_duration * 60) /
-                   cfg->sensor_update_interval;
-
                cfg->hide_on_startup
                        = gtk_toggle_button_get_active(w_hide_on_startup);
 
@@ -243,8 +306,34 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
                cfg->temperature_unit
                        = gtk_combo_box_get_active(GTK_COMBO_BOX(w_temp_unit));
 
+               cfg->sensor_values_max_length = compute_values_max_length(cfg);
+
                config_save(cfg);
 
+               config_set_smooth_curves_enabled
+                       (gtk_toggle_button_get_active(w_smooth_curves));
+
+               config_set_lmsensor_enable
+                       (gtk_toggle_button_get_active(w_lmsensors));
+
+               config_set_nvctrl_enable
+                       (gtk_toggle_button_get_active(w_nvctrl));
+
+               config_set_atiadlsdk_enable
+                       (gtk_toggle_button_get_active(w_atiadlsdk));
+
+               config_set_gtop2_enable
+                       (gtk_toggle_button_get_active(w_gtop2));
+
+               config_set_hddtemp_enable
+                       (gtk_toggle_button_get_active(w_hddtemp));
+
+               config_set_libatasmart_enable
+                       (gtk_toggle_button_get_active(w_libatasmart));
+
+               config_set_udisks2_enable
+                       (gtk_toggle_button_get_active(w_udisks2));
+
                pxdg_set_autostart(gtk_toggle_button_get_active(w_autostart));
 
                pthread_mutex_unlock(&ui->sensors_mutex);
index 9670624..2e669c5 100644 (file)
@@ -22,6 +22,6 @@
 #include "ui.h"
 
 void ui_pref_dialog_run(struct ui_psensor *);
-GdkColor *color_to_gdkcolor(struct color *color);
+GdkRGBA color_to_GdkRGBA(struct color *color);
 
 #endif
index f7200c1..5f1cb4f 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
-#include "ui.h"
-#include "ui_pref.h"
-#include "ui_sensorlist.h"
-#include "ui_sensorpref.h"
-#include "cfg.h"
-#include "ui_color.h"
+#include <cfg.h>
+#include <ui.h>
+#include <ui_color.h>
+#include <ui_pref.h>
+#include <ui_sensorlist.h>
+#include <ui_sensorpref.h>
 
 enum {
        COL_NAME = 0,
@@ -33,9 +33,10 @@ enum {
        COL_TEMP_MAX,
        COL_COLOR,
        COL_COLOR_STR,
-       COL_ENABLED,
+       COL_GRAPH_ENABLED,
        COL_EMPTY,
        COL_SENSOR,
+       COL_DISPLAY_ENABLED
 };
 
 struct cb_data {
@@ -46,7 +47,7 @@ struct cb_data {
 static int col_index_to_col(int idx)
 {
        if (idx == 5)
-               return COL_ENABLED;
+               return COL_GRAPH_ENABLED;
        else if (idx > 5)
                return -1;
 
@@ -57,9 +58,10 @@ static void populate(struct ui_psensor *ui)
 {
        GtkTreeIter iter;
        GtkListStore *store;
-       GdkColor color;
+       GdkRGBA color;
        char *scolor;
        struct psensor **ordered_sensors, **s_cur, *s;
+       unsigned int enabled;
 
        ordered_sensors = ui_get_sensors_ordered_by_position(ui);
        store = ui->sensors_store;
@@ -74,14 +76,18 @@ static void populate(struct ui_psensor *ui)
                color.red = s->color->red;
                color.green = s->color->green;
                color.blue = s->color->blue;
+               color.alpha = 1.0;
 
-               scolor = gdk_color_to_string(&color);
+               scolor = gdk_rgba_to_string(&color);
+
+               enabled = config_is_sensor_enabled(s->id);
 
                gtk_list_store_set(store, &iter,
                                   COL_NAME, s->name,
                                   COL_COLOR_STR, scolor,
-                                  COL_ENABLED, s->graph_enabled,
+                                  COL_GRAPH_ENABLED, s->graph_enabled,
                                   COL_SENSOR, s,
+                                  COL_DISPLAY_ENABLED, enabled,
                                   -1);
                free(scolor);
        }
@@ -102,6 +108,8 @@ void ui_sensorlist_update(struct ui_psensor *ui, bool complete)
                populate(ui);
 
        model = gtk_tree_view_get_model(ui->sensors_tree);
+       model = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(model));
+
        store = ui->sensors_store;
 
        use_celsius = ui->config->temperature_unit == CELSIUS;
@@ -176,8 +184,8 @@ static int get_col_index_at_pos(GtkTreeView *view, int x)
                if (x >= colx
                    && x < (colx + gtk_tree_view_column_get_width(checkcol)))
                        return coli;
-               else
-                       colx += gtk_tree_view_column_get_width(checkcol);
+
+               colx += gtk_tree_view_column_get_width(checkcol);
 
                coli++;
        }
@@ -187,9 +195,46 @@ static int get_col_index_at_pos(GtkTreeView *view, int x)
 
 static void preferences_activated_cbk(GtkWidget *menu_item, gpointer data)
 {
-       struct cb_data *cb_data = data;
+       struct cb_data *cb_data;
 
+       cb_data = data;
        ui_sensorpref_dialog_run(cb_data->sensor, cb_data->ui);
+       free(cb_data);
+}
+
+static void hide_activated_cbk(GtkWidget *menu_item, gpointer data)
+{
+       struct psensor *s, *s2;
+       GtkTreeModel *model, *fmodel;
+       GtkTreeIter iter;
+       struct cb_data *cb_data;
+       gboolean valid;
+
+       log_fct_enter();
+
+       cb_data = data;
+       s = cb_data->sensor;
+       config_set_sensor_enabled(s->id, false);
+       config_sync();
+
+       fmodel = gtk_tree_view_get_model(cb_data->ui->sensors_tree);
+       model = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(fmodel));
+       valid = gtk_tree_model_get_iter_first(model, &iter);
+       while (valid) {
+               gtk_tree_model_get(model, &iter, COL_SENSOR, &s2, -1);
+
+               if (s == s2)
+                       gtk_list_store_set(cb_data->ui->sensors_store,
+                                          &iter,
+                                          COL_DISPLAY_ENABLED,
+                                          false,
+                                          -1);
+               valid = gtk_tree_model_iter_next(model, &iter);
+       }
+
+       free(cb_data);
+
+       log_fct_exit();
 }
 
 static GtkWidget *
@@ -206,13 +251,22 @@ create_sensor_popup(struct ui_psensor *ui, struct psensor *sensor)
        separator = gtk_separator_menu_item_new();
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), separator);
 
-       item = gtk_menu_item_new_with_label(_("Preferences"));
+       item = gtk_menu_item_new_with_label(_("Hide"));
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
 
        data = malloc(sizeof(struct cb_data));
        data->ui = ui;
        data->sensor = sensor;
+       g_signal_connect(item,
+                        "activate",
+                        G_CALLBACK(hide_activated_cbk), data);
+
+       item = gtk_menu_item_new_with_label(_("Preferences"));
+       gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
 
+       data = malloc(sizeof(struct cb_data));
+       data->ui = ui;
+       data->sensor = sensor;
        g_signal_connect(item,
                         "activate",
                         G_CALLBACK(preferences_activated_cbk), data);
@@ -230,9 +284,6 @@ static int clicked_cbk(GtkWidget *widget, GdkEventButton *event, gpointer data)
        struct psensor *s;
        int coli;
 
-       if (event->button != 3)
-               return FALSE;
-
        ui = (struct ui_psensor *)data;
        view = ui->sensors_tree;
 
@@ -242,108 +293,84 @@ static int clicked_cbk(GtkWidget *widget, GdkEventButton *event, gpointer data)
                coli = col_index_to_col(get_col_index_at_pos(view, event->x));
 
                if (coli == COL_COLOR) {
-                       if (ui_change_color(_("Select foreground color"),
+                       if (ui_change_color(_("Select sensor color"),
                                            s->color,
                                            GTK_WINDOW(ui->main_window))) {
                                ui_sensorlist_update(ui, 1);
                                config_set_sensor_color(s->id, s->color);
+                               config_sync();
                        }
-               } else if (coli >= 0 && coli != COL_ENABLED) {
+                       return TRUE;
+               } else if (coli >= 0 && coli != COL_GRAPH_ENABLED) {
                        menu = create_sensor_popup(ui, s);
 
                        gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
                                       event->button, event->time);
+                       return TRUE;
                }
 
        }
-       return TRUE;
+       return FALSE;
 }
 
-static void
-toggled_cbk(GtkCellRendererToggle *cell, gchar *path_str, gpointer data)
+void ui_sensorlist_cb_graph_toggled(GtkCellRendererToggle *cell,
+                                   gchar *path_str,
+                                   gpointer data)
 {
        struct ui_psensor *ui;
-       GtkTreeModel *model;
+       GtkTreeModel *model, *fmodel;
        GtkTreeIter iter;
        GtkTreePath *path;
-       struct psensor *s;
+       struct psensor *s, *s2;
+       gboolean valid;
 
        ui = (struct ui_psensor *)data;
-       model = gtk_tree_view_get_model(ui->sensors_tree);
+       fmodel = gtk_tree_view_get_model(ui->sensors_tree);
+
        path = gtk_tree_path_new_from_string(path_str);
 
-       gtk_tree_model_get_iter(model, &iter, path);
+       gtk_tree_model_get_iter(fmodel, &iter, path);
 
-       gtk_tree_model_get(model, &iter, COL_SENSOR, &s, -1);
+       gtk_tree_model_get(fmodel, &iter, COL_SENSOR, &s, -1);
 
        s->graph_enabled ^= 1;
-       config_set_sensor_enabled(s->id, s->graph_enabled);
-
-       gtk_list_store_set(GTK_LIST_STORE(model), &iter,
-                          COL_ENABLED, s->graph_enabled, -1);
+       config_set_sensor_graph_enabled(s->id, s->graph_enabled);
+       config_sync();
 
        gtk_tree_path_free(path);
+
+       model = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(fmodel));
+       valid = gtk_tree_model_get_iter_first(model, &iter);
+       while (valid) {
+               gtk_tree_model_get(model, &iter, COL_SENSOR, &s2, -1);
+
+               if (s == s2)
+                       gtk_list_store_set(ui->sensors_store,
+                                          &iter,
+                                          COL_GRAPH_ENABLED,
+                                          s->graph_enabled,
+                                          -1);
+               valid = gtk_tree_model_iter_next(model, &iter);
+       }
 }
 
 void ui_sensorlist_create(struct ui_psensor *ui)
 {
-       GtkCellRenderer *renderer;
-
-       log_debug("ui_sensorlist_create()");
-
-       renderer = gtk_cell_renderer_text_new();
-       gtk_tree_view_insert_column_with_attributes(ui->sensors_tree,
-                                                   -1,
-                                                   _("Sensor"),
-                                                   renderer,
-                                                   "text", COL_NAME, NULL);
-
-       gtk_tree_view_insert_column_with_attributes(ui->sensors_tree,
-                                                   -1,
-                                                   _("Value"),
-                                                   renderer,
-                                                   "text", COL_TEMP, NULL);
-
-       gtk_tree_view_insert_column_with_attributes(ui->sensors_tree,
-                                                   -1,
-                                                   _("Min"),
-                                                   renderer,
-                                                   "text", COL_TEMP_MIN, NULL);
-
-       gtk_tree_view_insert_column_with_attributes(ui->sensors_tree,
-                                                   -1,
-                                                   _("Max"),
-                                                   renderer,
-                                                   "text", COL_TEMP_MAX, NULL);
-
-       renderer = gtk_cell_renderer_text_new();
-       gtk_tree_view_insert_column_with_attributes(ui->sensors_tree,
-                                                   -1,
-                                                   _("Color"),
-                                                   renderer,
-                                                   "text", COL_COLOR,
-                                                   "background", COL_COLOR_STR,
-                                                   NULL);
+       GtkTreeModel *fmodel, *model;
+
+       log_fct_enter();
+
+       model = gtk_tree_view_get_model(ui->sensors_tree);
+       fmodel = gtk_tree_model_filter_new(model, NULL);
+       gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(fmodel),
+                                                COL_DISPLAY_ENABLED);
+
+       gtk_tree_view_set_model(ui->sensors_tree, fmodel);
 
        g_signal_connect(ui->sensors_tree,
                         "button-press-event", (GCallback)clicked_cbk, ui);
 
-       renderer = gtk_cell_renderer_toggle_new();
-       gtk_tree_view_insert_column_with_attributes(ui->sensors_tree,
-                                                   -1,
-                                                   _("Graph"),
-                                                   renderer,
-                                                   "active", COL_ENABLED,
-                                                   NULL);
-       g_signal_connect(G_OBJECT(renderer),
-                        "toggled", (GCallback) toggled_cbk, ui);
-
-       renderer = gtk_cell_renderer_text_new();
-       gtk_tree_view_insert_column_with_attributes(ui->sensors_tree,
-                                                   -1,
-                                                   "",
-                                                   renderer,
-                                                   "text", COL_EMPTY, NULL);
-
        ui_sensorlist_update(ui, 1);
+
+       log_fct_exit();
 }
index 463deda..6ca0815 100644 (file)
 
 #include <gtk/gtk.h>
 
-#include "cfg.h"
-#include "ui_pref.h"
-#include "ui_sensorlist.h"
-#include "ui_sensorpref.h"
-#include "ui_color.h"
+#include <cfg.h>
+#include <temperature.h>
+#include <ui_pref.h>
+#include <ui_sensorlist.h>
+#include <ui_sensorpref.h>
+#include <ui_color.h>
+
 
 #if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
 #include "ui_appindicator.h"
@@ -38,13 +40,14 @@ enum {
 struct sensor_pref {
        struct psensor *sensor;
        char *name;
-       int enabled;
+       int graph_enabled;
        struct color *color;
        int alarm_enabled;
        int alarm_high_threshold;
        int alarm_low_threshold;
        unsigned int appindicator_enabled;
        unsigned int appindicator_label_enabled;
+       unsigned int display_enabled;
 };
 
 struct cb_data {
@@ -61,9 +64,10 @@ sensor_pref_new(struct psensor *s, struct config *cfg)
 
        p->sensor = s;
        p->name = strdup(s->name);
-       p->enabled = s->graph_enabled;
+       p->graph_enabled = s->graph_enabled;
        p->alarm_enabled = s->alarm_enabled;
        p->color = color_dup(s->color);
+       p->display_enabled = config_is_sensor_enabled(s->id);
 
        if (cfg->temperature_unit == CELSIUS) {
                p->alarm_high_threshold = s->alarm_high_threshold;
@@ -85,7 +89,7 @@ sensor_pref_new(struct psensor *s, struct config *cfg)
 static void sensor_pref_free(struct sensor_pref *p)
 {
        if (!p)
-               return ;
+               return;
 
        free(p->name);
        free(p->color);
@@ -131,7 +135,17 @@ void ui_sensorpref_draw_toggled_cb(GtkToggleButton *btn, gpointer data)
        p = get_selected_sensor_pref(GTK_TREE_VIEW(data));
 
        if (p)
-               p->enabled = gtk_toggle_button_get_active(btn);
+               p->graph_enabled = gtk_toggle_button_get_active(btn);
+}
+
+void ui_sensorpref_display_toggled_cb(GtkToggleButton *btn, gpointer data)
+{
+       struct sensor_pref *p;
+
+       p = get_selected_sensor_pref(GTK_TREE_VIEW(data));
+
+       if (p)
+               p->display_enabled = gtk_toggle_button_get_active(btn);
 }
 
 void ui_sensorpref_alarm_toggled_cb(GtkToggleButton *btn, gpointer data)
@@ -170,12 +184,12 @@ ui_sensorpref_appindicator_label_toggled_cb(GtkToggleButton *btn, gpointer data)
 void ui_sensorpref_color_set_cb(GtkColorButton *widget, gpointer data)
 {
        struct sensor_pref *p;
-       GdkColor color;
+       GdkRGBA color;
 
        p = get_selected_sensor_pref(GTK_TREE_VIEW(data));
 
        if (p) {
-               gtk_color_button_get_color(widget, &color);
+               gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(widget), &color);
                color_set(p->color, color.red, color.green, color.blue);
        }
 }
@@ -209,10 +223,10 @@ update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder)
                *w_chipname;
        GtkEntry *w_name;
        GtkToggleButton *w_draw, *w_alarm, *w_appindicator_enabled,
-               *w_appindicator_label_enabled;
+               *w_appindicator_label_enabled, *w_display;
        GtkColorButton *w_color;
        GtkSpinButton *w_high_threshold, *w_low_threshold;
-       GdkColor *color;
+       GdkRGBA color;
        struct psensor *s;
        int use_celsius;
 
@@ -235,12 +249,17 @@ update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder)
 
        w_draw = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
                                                          "sensor_draw"));
-       gtk_toggle_button_set_active(w_draw, p->enabled);
+       gtk_toggle_button_set_active(w_draw, p->graph_enabled);
 
-       color = color_to_gdkcolor(p->color);
+       w_display = GTK_TOGGLE_BUTTON(gtk_builder_get_object
+                                     (builder,
+                                      "sensor_enable_checkbox"));
+       gtk_toggle_button_set_active(w_display, p->display_enabled);
+
+       color = color_to_GdkRGBA(p->color);
        w_color = GTK_COLOR_BUTTON(gtk_builder_get_object(builder,
                                                          "sensor_color"));
-       gtk_color_button_set_color(w_color, color);
+       gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(w_color), &color);
 
        w_alarm = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
                                                           "sensor_alarm"));
@@ -271,24 +290,12 @@ update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder)
        w_appindicator_label_enabled = GTK_TOGGLE_BUTTON
                (gtk_builder_get_object(builder, "indicator_label_checkbox"));
 
-
-       if (is_temp_type(s->type) || is_fan_type(s->type)) {
-               gtk_toggle_button_set_active(w_alarm, p->alarm_enabled);
-               gtk_spin_button_set_value(w_high_threshold,
-                                         p->alarm_high_threshold);
-               gtk_spin_button_set_value(w_low_threshold,
-                                         p->alarm_low_threshold);
-               gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), TRUE);
-               gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), TRUE);
-               gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), TRUE);
-       } else {
-               gtk_toggle_button_set_active(w_alarm, 0);
-               gtk_spin_button_set_value(w_high_threshold, 0);
-               gtk_spin_button_set_value(w_low_threshold, 0);
-               gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), FALSE);
-               gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), FALSE);
-               gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), FALSE);
-       }
+       gtk_toggle_button_set_active(w_alarm, p->alarm_enabled);
+       gtk_spin_button_set_value(w_high_threshold, p->alarm_high_threshold);
+       gtk_spin_button_set_value(w_low_threshold, p->alarm_low_threshold);
+       gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), TRUE);
+       gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), TRUE);
+       gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), TRUE);
 
        gtk_toggle_button_set_active(w_appindicator_enabled,
                                     p->appindicator_enabled);
@@ -344,9 +351,9 @@ static void apply_pref(struct sensor_pref *p, int pos, struct config *cfg)
                config_set_sensor_name(s->id, s->name);
        }
 
-       if (s->graph_enabled != p->enabled) {
-               s->graph_enabled = p->enabled;
-               config_set_sensor_enabled(s->id, s->graph_enabled);
+       if (s->graph_enabled != p->graph_enabled) {
+               s->graph_enabled = p->graph_enabled;
+               config_set_sensor_graph_enabled(s->id, s->graph_enabled);
        }
 
        if (is_temp_type(s->type) && cfg->temperature_unit == FAHRENHEIT) {
@@ -367,7 +374,10 @@ static void apply_pref(struct sensor_pref *p, int pos, struct config *cfg)
                config_set_sensor_alarm_enabled(s->id, s->alarm_enabled);
        }
 
-       color_set(s->color, p->color->red, p->color->green, p->color->blue);
+       color_set(s->color,
+                 p->color->red,
+                 p->color->green,
+                 p->color->blue);
        config_set_sensor_color(s->id, s->color);
 
        if (s->appindicator_enabled != p->appindicator_enabled) {
@@ -379,6 +389,8 @@ static void apply_pref(struct sensor_pref *p, int pos, struct config *cfg)
                                              p->appindicator_label_enabled);
 
        config_set_sensor_position(s->id, pos);
+
+       config_set_sensor_enabled(s->id, p->display_enabled);
 }
 
 static void apply_prefs(GtkTreeModel *model, struct config *cfg)
@@ -396,6 +408,7 @@ static void apply_prefs(GtkTreeModel *model, struct config *cfg)
                valid = gtk_tree_model_iter_next(model, &iter);
                i++;
        }
+       config_sync();
 }
 
 void ui_sensorpref_dialog_run(struct psensor *sensor, struct ui_psensor *ui)
@@ -429,7 +442,7 @@ void ui_sensorpref_dialog_run(struct psensor *sensor, struct ui_psensor *ui)
        if (!ok) {
                log_printf(LOG_ERR, error->message);
                g_error_free(error);
-               return ;
+               return;
        }
 
        w_sensors_list
index 60814d6..50dfc9c 100644 (file)
@@ -43,7 +43,7 @@ static void cb_popup_menu(GtkStatusIcon *icon,
 void ui_status_init(struct ui_psensor *ui)
 {
        if (status)
-               return ;
+               return;
 
        log_debug("ui_status_create()");
 
index 17ee29d..2c00403 100644 (file)
@@ -18,6 +18,7 @@
  */
 #include <unity.h>
 
+#include <temperature.h>
 #include <ui_unity.h>
 
 static int initialized;
@@ -32,7 +33,7 @@ void ui_unity_launcher_entry_update(struct psensor **sensors,
 
        if (!initialized) {
                psensor_entry = unity_launcher_entry_get_for_desktop_file
-                       ("psensor.desktop");
+                       (PSENSOR_DESKTOP_FILE);
 
                unity_launcher_entry_set_count(psensor_entry, 0);
                initialized = 1;
diff --git a/test-driver b/test-driver
new file mode 100755 (executable)
index 0000000..d306056
--- /dev/null
@@ -0,0 +1,139 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2013-07-13.22; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# 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, 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error.  This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+  echo "$0: $*" >&2
+  print_usage >&2
+  exit 2
+}
+
+print_usage ()
+{
+  cat <<END
+Usage:
+  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+              [--expect-failure={yes|no}] [--color-tests={yes|no}]
+              [--enable-hard-errors={yes|no}] [--]
+              TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+test_name= # Used for reporting.
+log_file=  # Where to save the output of the test script.
+trs_file=  # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+  case $1 in
+  --help) print_usage; exit $?;;
+  --version) echo "test-driver $scriptversion"; exit $?;;
+  --test-name) test_name=$2; shift;;
+  --log-file) log_file=$2; shift;;
+  --trs-file) trs_file=$2; shift;;
+  --color-tests) color_tests=$2; shift;;
+  --expect-failure) expect_failure=$2; shift;;
+  --enable-hard-errors) enable_hard_errors=$2; shift;;
+  --) shift; break;;
+  -*) usage_error "invalid option: '$1'";;
+   *) break;;
+  esac
+  shift
+done
+
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file"  = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file"  = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+  usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+  usage_error "missing argument"
+fi
+
+if test $color_tests = yes; then
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+  red='\e[0;31m' # Red.
+  grn='\e[0;32m' # Green.
+  lgn='\e[1;32m' # Light green.
+  blu='\e[1;34m' # Blue.
+  mgn='\e[0;35m' # Magenta.
+  std='\e[m'     # No color.
+else
+  red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+  estatus=1
+fi
+
+case $estatus:$expect_failure in
+  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
+  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
+  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
index 332c0a2..9f59764 100644 (file)
@@ -1,6 +1,6 @@
 check-local: checkpatch.pl
-       find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
-       find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
+       find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
+       find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
 
 DEFS = -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@
 
index d896f52..f4f77ff 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -61,9 +88,14 @@ TESTS = test-io-dir-list.sh test-psensor-type-to-unit-str$(EXEEXT) \
        test-url-normalize$(EXEEXT) $(am__append_3)
 @CPPCHECK_TRUE@am__append_3 = test-cppcheck.sh
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/depcomp $(top_srcdir)/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -94,14 +126,38 @@ test_url_encode_LDADD = $(LDADD)
 am_test_url_normalize_OBJECTS = test_url_normalize.$(OBJEXT)
 test_url_normalize_OBJECTS = $(am_test_url_normalize_OBJECTS)
 test_url_normalize_LDADD = $(LDADD)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(test_io_dir_list_SOURCES) \
        $(test_psensor_type_to_unit_str_SOURCES) \
        $(test_psensor_value_to_str_SOURCES) \
@@ -115,16 +171,237 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+       $(TEST_LOG_FLAGS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -146,15 +423,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -182,6 +455,8 @@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@ ../src/lib/libpsensor.a $(SENSORS_LIBS) $(am__append_1) \
        $(am__append_2)
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -207,7 +482,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -222,7 +496,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -247,6 +520,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -290,7 +564,7 @@ test_url_normalize_SOURCES = test_url_normalize.c
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -324,21 +598,26 @@ $(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
        -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+
 test-io-dir-list$(EXEEXT): $(test_io_dir_list_OBJECTS) $(test_io_dir_list_DEPENDENCIES) $(EXTRA_test_io_dir_list_DEPENDENCIES) 
        @rm -f test-io-dir-list$(EXEEXT)
-       $(LINK) $(test_io_dir_list_OBJECTS) $(test_io_dir_list_LDADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK) $(test_io_dir_list_OBJECTS) $(test_io_dir_list_LDADD) $(LIBS)
+
 test-psensor-type-to-unit-str$(EXEEXT): $(test_psensor_type_to_unit_str_OBJECTS) $(test_psensor_type_to_unit_str_DEPENDENCIES) $(EXTRA_test_psensor_type_to_unit_str_DEPENDENCIES) 
        @rm -f test-psensor-type-to-unit-str$(EXEEXT)
-       $(test_psensor_type_to_unit_str_LINK) $(test_psensor_type_to_unit_str_OBJECTS) $(test_psensor_type_to_unit_str_LDADD) $(LIBS)
+       $(AM_V_CCLD)$(test_psensor_type_to_unit_str_LINK) $(test_psensor_type_to_unit_str_OBJECTS) $(test_psensor_type_to_unit_str_LDADD) $(LIBS)
+
 test-psensor-value-to-str$(EXEEXT): $(test_psensor_value_to_str_OBJECTS) $(test_psensor_value_to_str_DEPENDENCIES) $(EXTRA_test_psensor_value_to_str_DEPENDENCIES) 
        @rm -f test-psensor-value-to-str$(EXEEXT)
-       $(test_psensor_value_to_str_LINK) $(test_psensor_value_to_str_OBJECTS) $(test_psensor_value_to_str_LDADD) $(LIBS)
+       $(AM_V_CCLD)$(test_psensor_value_to_str_LINK) $(test_psensor_value_to_str_OBJECTS) $(test_psensor_value_to_str_LDADD) $(LIBS)
+
 test-url-encode$(EXEEXT): $(test_url_encode_OBJECTS) $(test_url_encode_DEPENDENCIES) $(EXTRA_test_url_encode_DEPENDENCIES) 
        @rm -f test-url-encode$(EXEEXT)
-       $(LINK) $(test_url_encode_OBJECTS) $(test_url_encode_LDADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK) $(test_url_encode_OBJECTS) $(test_url_encode_LDADD) $(LIBS)
+
 test-url-normalize$(EXEEXT): $(test_url_normalize_OBJECTS) $(test_url_normalize_DEPENDENCIES) $(EXTRA_test_url_normalize_DEPENDENCIES) 
        @rm -f test-url-normalize$(EXEEXT)
-       $(LINK) $(test_url_normalize_OBJECTS) $(test_url_normalize_LDADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK) $(test_url_normalize_OBJECTS) $(test_url_normalize_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -353,67 +632,56 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_url_normalize.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o: test_psensor_type_to_unit_str.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.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) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c
 
 test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj: test_psensor_type_to_unit_str.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.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) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi`
 
 test_psensor_value_to_str-test_psensor_value_to_str.o: test_psensor_value_to_str.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.o -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.o -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.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) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c
 
 test_psensor_value_to_str-test_psensor_value_to_str.obj: test_psensor_value_to_str.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.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) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi`
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -425,15 +693,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -442,102 +706,222 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
-       srcdir=$(srcdir); export srcdir; \
-       list=' $(TESTS) '; \
-       $(am__tty_colors); \
-       if test -n "$$list"; then \
-         for tst in $$list; do \
-           if test -f ./$$tst; then dir=./; \
-           elif test -f $$tst; then dir=; \
-           else dir="$(srcdir)/"; fi; \
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xpass=`expr $$xpass + 1`; \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=XPASS; \
-             ;; \
-             *) \
-               col=$$grn; res=PASS; \
-             ;; \
-             esac; \
-           elif test $$? -ne 77; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xfail=`expr $$xfail + 1`; \
-               col=$$lgn; res=XFAIL; \
-             ;; \
-             *) \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=FAIL; \
-             ;; \
-             esac; \
-           else \
-             skip=`expr $$skip + 1`; \
-             col=$$blu; res=SKIP; \
-           fi; \
-           echo "$${col}$$res$${std}: $$tst"; \
-         done; \
-         if test "$$all" -eq 1; then \
-           tests="test"; \
-           All=""; \
-         else \
-           tests="tests"; \
-           All="All "; \
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
          fi; \
-         if test "$$failed" -eq 0; then \
-           if test "$$xfail" -eq 0; then \
-             banner="$$All$$all $$tests passed"; \
-           else \
-             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-             banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-           fi; \
-         else \
-           if test "$$xpass" -eq 0; then \
-             banner="$$failed of $$all $$tests failed"; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
            else \
-             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
            fi; \
-         fi; \
-         dashes="$$banner"; \
-         skipped=""; \
-         if test "$$skip" -ne 0; then \
-           if test "$$skip" -eq 1; then \
-             skipped="($$skip test was not run)"; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
            else \
-             skipped="($$skip tests were not run)"; \
+             color_start= color_end=; \
            fi; \
-           test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$skipped"; \
-         fi; \
-         report=""; \
-         if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-           report="Please report to $(PACKAGE_BUGREPORT)"; \
-           test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$report"; \
-         fi; \
-         dashes=`echo "$$dashes" | sed s/./=/g`; \
-         if test "$$failed" -eq 0; then \
-           col="$$grn"; \
-         else \
-           col="$$red"; \
-         fi; \
-         echo "$${col}$$dashes$${std}"; \
-         echo "$${col}$$banner$${std}"; \
-         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
-         test -z "$$report" || echo "$${col}$$report$${std}"; \
-         echo "$${col}$$dashes$${std}"; \
-         test "$$failed" -eq 0; \
-       else :; fi
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS:
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all $(check_PROGRAMS)
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+test-io-dir-list.sh.log: test-io-dir-list.sh
+       @p='test-io-dir-list.sh'; \
+       b='test-io-dir-list.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-psensor-type-to-unit-str.log: test-psensor-type-to-unit-str$(EXEEXT)
+       @p='test-psensor-type-to-unit-str$(EXEEXT)'; \
+       b='test-psensor-type-to-unit-str'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-psensor-value-to-str.log: test-psensor-value-to-str$(EXEEXT)
+       @p='test-psensor-value-to-str$(EXEEXT)'; \
+       b='test-psensor-value-to-str'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-url-encode.log: test-url-encode$(EXEEXT)
+       @p='test-url-encode$(EXEEXT)'; \
+       b='test-url-encode'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-url-normalize.log: test-url-normalize$(EXEEXT)
+       @p='test-url-normalize$(EXEEXT)'; \
+       b='test-url-normalize'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-cppcheck.sh.log: test-cppcheck.sh
+       @p='test-cppcheck.sh'; \
+       b='test-cppcheck.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -595,6 +979,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
 
@@ -676,22 +1063,23 @@ uninstall-am:
 
 .MAKE: check-am install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am check-local \
-       clean clean-checkPROGRAMS clean-generic ctags distclean \
-       distclean-compile distclean-generic distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
+       check-local clean clean-checkPROGRAMS clean-generic \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-       uninstall-am
+       mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \
+       uninstall uninstall-am
 
 check-local: checkpatch.pl
-       find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
-       find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
+       find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
+       find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree  -emacs -f {} \;
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index faea0ec..cab1691 100755 (executable)
@@ -6,6 +6,7 @@
 # Licensed under the terms of the GNU GPL License version 2
 
 use strict;
+use POSIX;
 
 my $P = $0;
 $P =~ s@.*/@@g;
@@ -23,16 +24,25 @@ my $emacs = 0;
 my $terse = 0;
 my $file = 0;
 my $check = 0;
+my $check_orig = 0;
 my $summary = 1;
 my $mailback = 0;
 my $summary_file = 0;
 my $show_types = 0;
+my $fix = 0;
+my $fix_inplace = 0;
 my $root;
 my %debug;
+my %camelcase = ();
+my %use_type = ();
+my @use = ();
 my %ignore_type = ();
 my @ignore = ();
 my $help = 0;
 my $configuration_file = ".checkpatch.conf";
+my $max_line_length = 80;
+my $ignore_perl_version = 0;
+my $minimum_perl_version = 5.10.0;
 
 sub help {
        my ($exitcode) = @_;
@@ -50,7 +60,9 @@ Options:
   --terse                    one line per report
   -f, --file                 treat FILE as regular source file
   --subjective, --strict     enable more subjective tests
+  --types TYPE(,TYPE2...)    show only these comma separated message types
   --ignore TYPE(,TYPE2...)   ignore various comma separated message types
+  --max-line-length=n        set the maximum line length, if exceeded, warn
   --show-types               show the message "types" in the output
   --root=PATH                PATH to the kernel tree root
   --no-summary               suppress the per-file summary
@@ -61,6 +73,16 @@ Options:
                              is all off)
   --test-only=WORD           report only warnings/errors containing WORD
                              literally
+  --fix                      EXPERIMENTAL - may create horrible results
+                             If correctable single-line errors exist, create
+                             "<inputfile>.EXPERIMENTAL-checkpatch-fixes"
+                             with potential errors corrected to the preferred
+                             checkpatch style
+  --fix-inplace              EXPERIMENTAL - may create horrible results
+                             Is the same as --fix, but overwrites the input
+                             file.  It's your fault if there's no backup or git
+  --ignore-perl-version      override checking of perl version.  expect
+                             runtime errors.
   -h, --help, --version      display this help and exit
 
 When FILE is - read standard input.
@@ -106,12 +128,16 @@ GetOptions(
        'subjective!'   => \$check,
        'strict!'       => \$check,
        'ignore=s'      => \@ignore,
+       'types=s'       => \@use,
        'show-types!'   => \$show_types,
+       'max-line-length=i' => \$max_line_length,
        'root=s'        => \$root,
        'summary!'      => \$summary,
        'mailback!'     => \$mailback,
        'summary-file!' => \$summary_file,
-
+       'fix!'          => \$fix,
+       'fix-inplace!'  => \$fix_inplace,
+       'ignore-perl-version!' => \$ignore_perl_version,
        'debug=s'       => \%debug,
        'test-only=s'   => \$tst_only,
        'h|help'        => \$help,
@@ -120,26 +146,55 @@ GetOptions(
 
 help(0) if ($help);
 
+$fix = 1 if ($fix_inplace);
+$check_orig = $check;
+
 my $exit = 0;
 
+if ($^V && $^V lt $minimum_perl_version) {
+       printf "$P: requires at least perl version %vd\n", $minimum_perl_version;
+       if (!$ignore_perl_version) {
+               exit(1);
+       }
+}
+
 if ($#ARGV < 0) {
        print "$P: no input files\n";
        exit(1);
 }
 
-@ignore = split(/,/, join(',',@ignore));
-foreach my $word (@ignore) {
-       $word =~ s/\s*\n?$//g;
-       $word =~ s/^\s*//g;
-       $word =~ s/\s+/ /g;
-       $word =~ tr/[a-z]/[A-Z]/;
+sub hash_save_array_words {
+       my ($hashRef, $arrayRef) = @_;
+
+       my @array = split(/,/, join(',', @$arrayRef));
+       foreach my $word (@array) {
+               $word =~ s/\s*\n?$//g;
+               $word =~ s/^\s*//g;
+               $word =~ s/\s+/ /g;
+               $word =~ tr/[a-z]/[A-Z]/;
+
+               next if ($word =~ m/^\s*#/);
+               next if ($word =~ m/^\s*$/);
+
+               $hashRef->{$word}++;
+       }
+}
 
-       next if ($word =~ m/^\s*#/);
-       next if ($word =~ m/^\s*$/);
+sub hash_show_words {
+       my ($hashRef, $prefix) = @_;
 
-       $ignore_type{$word}++;
+       if ($quiet == 0 && keys %$hashRef) {
+               print "NOTE: $prefix message types:";
+               foreach my $word (sort keys %$hashRef) {
+                       print " $word";
+               }
+               print "\n\n";
+       }
 }
 
+hash_save_array_words(\%ignore_type, \@ignore);
+hash_save_array_words(\%use_type, \@use);
+
 my $dbg_values = 0;
 my $dbg_possible = 0;
 my $dbg_type = 0;
@@ -195,6 +250,11 @@ our $Sparse        = qr{
                        __ref|
                        __rcu
                }x;
+our $InitAttributePrefix = qr{__(?:mem|cpu|dev|net_|)};
+our $InitAttributeData = qr{$InitAttributePrefix(?:initdata\b)};
+our $InitAttributeConst = qr{$InitAttributePrefix(?:initconst\b)};
+our $InitAttributeInit = qr{$InitAttributePrefix(?:init\b)};
+our $InitAttribute = qr{$InitAttributeData|$InitAttributeConst|$InitAttributeInit};
 
 # Notes to $Attribute:
 # We need \b after 'init' otherwise 'initconst' will cause a false positive in a check
@@ -216,29 +276,45 @@ our $Attribute    = qr{
                        __deprecated|
                        __read_mostly|
                        __kprobes|
-                       __(?:mem|cpu|dev|)(?:initdata|initconst|init\b)|
+                       $InitAttribute|
                        ____cacheline_aligned|
                        ____cacheline_aligned_in_smp|
                        ____cacheline_internodealigned_in_smp|
                        __weak
                  }x;
 our $Modifier;
-our $Inline    = qr{inline|__always_inline|noinline};
+our $Inline    = qr{inline|__always_inline|noinline|__inline|__inline__};
 our $Member    = qr{->$Ident|\.$Ident|\[[^]]*\]};
 our $Lval      = qr{$Ident(?:$Member)*};
 
-our $Constant  = qr{(?i:(?:[0-9]+|0x[0-9a-f]+)[ul]*)};
-our $Assignment        = qr{(?:\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=)};
-our $Compare    = qr{<=|>=|==|!=|<|>};
+our $Int_type  = qr{(?i)llu|ull|ll|lu|ul|l|u};
+our $Binary    = qr{(?i)0b[01]+$Int_type?};
+our $Hex       = qr{(?i)0x[0-9a-f]+$Int_type?};
+our $Int       = qr{[0-9]+$Int_type?};
+our $Octal     = qr{0[0-7]+$Int_type?};
+our $Float_hex = qr{(?i)0x[0-9a-f]+p-?[0-9]+[fl]?};
+our $Float_dec = qr{(?i)(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?};
+our $Float_int = qr{(?i)[0-9]+e-?[0-9]+[fl]?};
+our $Float     = qr{$Float_hex|$Float_dec|$Float_int};
+our $Constant  = qr{$Float|$Binary|$Octal|$Hex|$Int};
+our $Assignment        = qr{\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=};
+our $Compare    = qr{<=|>=|==|!=|<|(?<!-)>};
+our $Arithmetic = qr{\+|-|\*|\/|%};
 our $Operators = qr{
                        <=|>=|==|!=|
                        =>|->|<<|>>|<|>|!|~|
-                       &&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%
+                       &&|\|\||,|\^|\+\+|--|&|\||$Arithmetic
                  }x;
 
+our $c90_Keywords = qr{do|for|while|if|else|return|goto|continue|switch|default|case|break}x;
+
 our $NonptrType;
+our $NonptrTypeMisordered;
+our $NonptrTypeWithAttr;
 our $Type;
+our $TypeMisordered;
 our $Declare;
+our $DeclareMisordered;
 
 our $NON_ASCII_UTF8    = qr{
        [\xC2-\xDF][\x80-\xBF]               # non-overlong 2-byte
@@ -262,10 +338,11 @@ our $typeTypedefs = qr{(?x:
 
 our $logFunctions = qr{(?x:
        printk(?:_ratelimited|_once|)|
-       [a-z0-9]+_(?:printk|emerg|alert|crit|err|warning|warn|notice|info|debug|dbg|vdbg|devel|cont|WARN)(?:_ratelimited|_once|)|
+       (?:[a-z0-9]+_){1,2}(?:printk|emerg|alert|crit|err|warning|warn|notice|info|debug|dbg|vdbg|devel|cont|WARN)(?:_ratelimited|_once|)|
        WARN(?:_RATELIMIT|_ONCE|)|
        panic|
-       MODULE_[A-Z_]+
+       MODULE_[A-Z_]+|
+       seq_vprintf|seq_printf|seq_puts
 )};
 
 our $signature_tags = qr{(?xi:
@@ -274,20 +351,41 @@ our $signature_tags = qr{(?xi:
        Tested-by:|
        Reviewed-by:|
        Reported-by:|
+       Suggested-by:|
        To:|
        Cc:
 )};
 
+our @typeListMisordered = (
+       qr{char\s+(?:un)?signed},
+       qr{int\s+(?:(?:un)?signed\s+)?short\s},
+       qr{int\s+short(?:\s+(?:un)?signed)},
+       qr{short\s+int(?:\s+(?:un)?signed)},
+       qr{(?:un)?signed\s+int\s+short},
+       qr{short\s+(?:un)?signed},
+       qr{long\s+int\s+(?:un)?signed},
+       qr{int\s+long\s+(?:un)?signed},
+       qr{long\s+(?:un)?signed\s+int},
+       qr{int\s+(?:un)?signed\s+long},
+       qr{int\s+(?:un)?signed},
+       qr{int\s+long\s+long\s+(?:un)?signed},
+       qr{long\s+long\s+int\s+(?:un)?signed},
+       qr{long\s+long\s+(?:un)?signed\s+int},
+       qr{long\s+long\s+(?:un)?signed},
+       qr{long\s+(?:un)?signed},
+);
+
 our @typeList = (
        qr{void},
-       qr{(?:unsigned\s+)?char},
-       qr{(?:unsigned\s+)?short},
-       qr{(?:unsigned\s+)?int},
-       qr{(?:unsigned\s+)?long},
-       qr{(?:unsigned\s+)?long\s+int},
-       qr{(?:unsigned\s+)?long\s+long},
-       qr{(?:unsigned\s+)?long\s+long\s+int},
-       qr{unsigned},
+       qr{(?:(?:un)?signed\s+)?char},
+       qr{(?:(?:un)?signed\s+)?short\s+int},
+       qr{(?:(?:un)?signed\s+)?short},
+       qr{(?:(?:un)?signed\s+)?int},
+       qr{(?:(?:un)?signed\s+)?long\s+int},
+       qr{(?:(?:un)?signed\s+)?long\s+long\s+int},
+       qr{(?:(?:un)?signed\s+)?long\s+long},
+       qr{(?:(?:un)?signed\s+)?long},
+       qr{(?:un)?signed},
        qr{float},
        qr{double},
        qr{bool},
@@ -297,11 +395,34 @@ our @typeList = (
        qr{${Ident}_t},
        qr{${Ident}_handler},
        qr{${Ident}_handler_fn},
+       @typeListMisordered,
 );
+our @typeListWithAttr = (
+       @typeList,
+       qr{struct\s+$InitAttribute\s+$Ident},
+       qr{union\s+$InitAttribute\s+$Ident},
+);
+
 our @modifierList = (
        qr{fastcall},
 );
 
+our @mode_permission_funcs = (
+       ["module_param", 3],
+       ["module_param_(?:array|named|string)", 4],
+       ["module_param_array_named", 5],
+       ["debugfs_create_(?:file|u8|u16|u32|u64|x8|x16|x32|x64|size_t|atomic_t|bool|blob|regset32|u32_array)", 2],
+       ["proc_create(?:_data|)", 2],
+       ["(?:CLASS|DEVICE|SENSOR)_ATTR", 2],
+);
+
+#Create a search pattern for all these functions to speed up a loop below
+our $mode_perms_search = "";
+foreach my $entry (@mode_permission_funcs) {
+       $mode_perms_search .= '|' if ($mode_perms_search ne "");
+       $mode_perms_search .= $entry->[0];
+}
+
 our $allowed_asm_includes = qr{(?x:
        irq|
        memory
@@ -311,6 +432,8 @@ our $allowed_asm_includes = qr{(?x:
 sub build_types {
        my $mods = "(?x:  \n" . join("|\n  ", @modifierList) . "\n)";
        my $all = "(?x:  \n" . join("|\n  ", @typeList) . "\n)";
+       my $Misordered = "(?x:  \n" . join("|\n  ", @typeListMisordered) . "\n)";
+       my $allWithAttr = "(?x:  \n" . join("|\n  ", @typeListWithAttr) . "\n)";
        $Modifier       = qr{(?:$Attribute|$Sparse|$mods)};
        $NonptrType     = qr{
                        (?:$Modifier\s+|const\s+)*
@@ -321,16 +444,37 @@ sub build_types {
                        )
                        (?:\s+$Modifier|\s+const)*
                  }x;
+       $NonptrTypeMisordered   = qr{
+                       (?:$Modifier\s+|const\s+)*
+                       (?:
+                               (?:${Misordered}\b)
+                       )
+                       (?:\s+$Modifier|\s+const)*
+                 }x;
+       $NonptrTypeWithAttr     = qr{
+                       (?:$Modifier\s+|const\s+)*
+                       (?:
+                               (?:typeof|__typeof__)\s*\([^\)]*\)|
+                               (?:$typeTypedefs\b)|
+                               (?:${allWithAttr}\b)
+                       )
+                       (?:\s+$Modifier|\s+const)*
+                 }x;
        $Type   = qr{
                        $NonptrType
-                       (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*|\[\])+|(?:\s*\[\s*\])+)?
+                       (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)?
+                       (?:\s+$Inline|\s+$Modifier)*
+                 }x;
+       $TypeMisordered = qr{
+                       $NonptrTypeMisordered
+                       (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)?
                        (?:\s+$Inline|\s+$Modifier)*
                  }x;
-       $Declare        = qr{(?:$Storage\s+)?$Type};
+       $Declare        = qr{(?:$Storage\s+(?:$Inline\s+)?)?$Type};
+       $DeclareMisordered      = qr{(?:$Storage\s+(?:$Inline\s+)?)?$TypeMisordered};
 }
 build_types();
 
-
 our $Typecast  = qr{\s*(\(\s*$NonptrType\s*\)){0,1}\s*};
 
 # Using $balanced_parens, $LvalOrFunc, or $FuncArg
@@ -338,43 +482,150 @@ our $Typecast    = qr{\s*(\(\s*$NonptrType\s*\)){0,1}\s*};
 # Any use must be runtime checked with $^V
 
 our $balanced_parens = qr/(\((?:[^\(\)]++|(?-1))*\))/;
-our $LvalOrFunc        = qr{($Lval)\s*($balanced_parens{0,1})\s*};
+our $LvalOrFunc        = qr{((?:[\&\*]\s*)?$Lval)\s*($balanced_parens{0,1})\s*};
 our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant)};
 
+our $declaration_macros = qr{(?x:
+       (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,2}\s*\(|
+       (?:$Storage\s+)?LIST_HEAD\s*\(|
+       (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\(
+)};
+
 sub deparenthesize {
        my ($string) = @_;
        return "" if (!defined($string));
-       $string =~ s@^\s*\(\s*@@g;
-       $string =~ s@\s*\)\s*$@@g;
+
+       while ($string =~ /^\s*\(.*\)\s*$/) {
+               $string =~ s@^\s*\(\s*@@;
+               $string =~ s@\s*\)\s*$@@;
+       }
+
        $string =~ s@\s+@ @g;
+
        return $string;
 }
 
-$chk_signoff = 0 if ($file);
+sub seed_camelcase_file {
+       my ($file) = @_;
 
-my @dep_includes = ();
-my @dep_functions = ();
-my $removal = "Documentation/feature-removal-schedule.txt";
-if ($tree && -f "$root/$removal") {
-       open(my $REMOVE, '<', "$root/$removal") ||
-                               die "$P: $removal: open failed - $!\n";
-       while (<$REMOVE>) {
-               if (/^Check:\s+(.*\S)/) {
-                       for my $entry (split(/[, ]+/, $1)) {
-                               if ($entry =~ m@include/(.*)@) {
-                                       push(@dep_includes, $1);
-
-                               } elsif ($entry !~ m@/@) {
-                                       push(@dep_functions, $entry);
-                               }
-                       }
+       return if (!(-f $file));
+
+       local $/;
+
+       open(my $include_file, '<', "$file")
+           or warn "$P: Can't read '$file' $!\n";
+       my $text = <$include_file>;
+       close($include_file);
+
+       my @lines = split('\n', $text);
+
+       foreach my $line (@lines) {
+               next if ($line !~ /(?:[A-Z][a-z]|[a-z][A-Z])/);
+               if ($line =~ /^[ \t]*(?:#[ \t]*define|typedef\s+$Type)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)/) {
+                       $camelcase{$1} = 1;
+               } elsif ($line =~ /^\s*$Declare\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[\(\[,;]/) {
+                       $camelcase{$1} = 1;
+               } elsif ($line =~ /^\s*(?:union|struct|enum)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[;\{]/) {
+                       $camelcase{$1} = 1;
+               }
+       }
+}
+
+my $camelcase_seeded = 0;
+sub seed_camelcase_includes {
+       return if ($camelcase_seeded);
+
+       my $files;
+       my $camelcase_cache = "";
+       my @include_files = ();
+
+       $camelcase_seeded = 1;
+
+       if (-e ".git") {
+               my $git_last_include_commit = `git log --no-merges --pretty=format:"%h%n" -1 -- include`;
+               chomp $git_last_include_commit;
+               $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit";
+       } else {
+               my $last_mod_date = 0;
+               $files = `find $root/include -name "*.h"`;
+               @include_files = split('\n', $files);
+               foreach my $file (@include_files) {
+                       my $date = POSIX::strftime("%Y%m%d%H%M",
+                                                  localtime((stat $file)[9]));
+                       $last_mod_date = $date if ($last_mod_date < $date);
+               }
+               $camelcase_cache = ".checkpatch-camelcase.date.$last_mod_date";
+       }
+
+       if ($camelcase_cache ne "" && -f $camelcase_cache) {
+               open(my $camelcase_file, '<', "$camelcase_cache")
+                   or warn "$P: Can't read '$camelcase_cache' $!\n";
+               while (<$camelcase_file>) {
+                       chomp;
+                       $camelcase{$_} = 1;
+               }
+               close($camelcase_file);
+
+               return;
+       }
+
+       if (-e ".git") {
+               $files = `git ls-files "include/*.h"`;
+               @include_files = split('\n', $files);
+       }
+
+       foreach my $file (@include_files) {
+               seed_camelcase_file($file);
+       }
+
+       if ($camelcase_cache ne "") {
+               unlink glob ".checkpatch-camelcase.*";
+               open(my $camelcase_file, '>', "$camelcase_cache")
+                   or warn "$P: Can't write '$camelcase_cache' $!\n";
+               foreach (sort { lc($a) cmp lc($b) } keys(%camelcase)) {
+                       print $camelcase_file ("$_\n");
                }
+               close($camelcase_file);
+       }
+}
+
+sub git_commit_info {
+       my ($commit, $id, $desc) = @_;
+
+       return ($id, $desc) if ((which("git") eq "") || !(-e ".git"));
+
+       my $output = `git log --no-color --format='%H %s' -1 $commit 2>&1`;
+       $output =~ s/^\s*//gm;
+       my @lines = split("\n", $output);
+
+       if ($lines[0] =~ /^error: short SHA1 $commit is ambiguous\./) {
+# Maybe one day convert this block of bash into something that returns
+# all matching commit ids, but it's very slow...
+#
+#              echo "checking commits $1..."
+#              git rev-list --remotes | grep -i "^$1" |
+#              while read line ; do
+#                  git log --format='%H %s' -1 $line |
+#                  echo "commit $(cut -c 1-12,41-)"
+#              done
+       } elsif ($lines[0] =~ /^fatal: ambiguous argument '$commit': unknown revision or path not in the working tree\./) {
+       } else {
+               $id = substr($lines[0], 0, 12);
+               $desc = substr($lines[0], 41);
        }
-       close($REMOVE);
+
+       return ($id, $desc);
 }
 
+$chk_signoff = 0 if ($file);
+
 my @rawlines = ();
 my @lines = ();
+my @fixed = ();
+my @fixed_inserted = ();
+my @fixed_deleted = ();
+my $fixlinenr = -1;
+
 my $vname;
 for my $filename (@ARGV) {
        my $FILE;
@@ -402,6 +653,10 @@ for my $filename (@ARGV) {
        }
        @rawlines = ();
        @lines = ();
+       @fixed = ();
+       @fixed_inserted = ();
+       @fixed_deleted = ();
+       $fixlinenr = -1;
 }
 
 exit($exit);
@@ -421,7 +676,7 @@ sub top_of_kernel_tree {
                }
        }
        return 1;
-    }
+}
 
 sub parse_email {
        my ($formatted_email) = @_;
@@ -442,7 +697,7 @@ sub parse_email {
                $comment = $2 if defined $2;
                $formatted_email =~ s/$address.*$//;
                $name = $formatted_email;
-               $name =~ s/^\s+|\s+$//g;
+               $name = trim($name);
                $name =~ s/^\"|\"$//g;
                # If there's a name left after stripping spaces and
                # leading quotes, and the address doesn't have both
@@ -457,9 +712,9 @@ sub parse_email {
                }
        }
 
-       $name =~ s/^\s+|\s+$//g;
+       $name = trim($name);
        $name =~ s/^\"|\"$//g;
-       $address =~ s/^\s+|\s+$//g;
+       $address = trim($address);
        $address =~ s/^\<|\>$//g;
 
        if ($name =~ /[^\w \-]/i) { ##has "must quote" chars
@@ -475,9 +730,9 @@ sub format_email {
 
        my $formatted_email;
 
-       $name =~ s/^\s+|\s+$//g;
+       $name = trim($name);
        $name =~ s/^\"|\"$//g;
-       $address =~ s/^\s+|\s+$//g;
+       $address = trim($address);
 
        if ($name =~ /[^\w \-]/i) { ##has "must quote" chars
                $name =~ s/(?<!\\)"/\\"/g; ##escape quotes
@@ -493,6 +748,18 @@ sub format_email {
        return $formatted_email;
 }
 
+sub which {
+       my ($bin) = @_;
+
+       foreach my $path (split(/:/, $ENV{PATH})) {
+               if (-e "$path/$bin") {
+                       return "$path/$bin";
+               }
+       }
+
+       return "";
+}
+
 sub which_conf {
        my ($conf) = @_;
 
@@ -642,6 +909,13 @@ sub sanitise_line {
        return $res;
 }
 
+sub get_quoted_string {
+       my ($line, $rawline) = @_;
+
+       return "" if ($line !~ m/(\"[X]+\")/g);
+       return substr($rawline, $-[0], $+[0] - $-[0]);
+}
+
 sub ctx_statement_block {
        my ($linenr, $remain, $off) = @_;
        my $line = $linenr - 1;
@@ -1264,19 +1538,25 @@ sub possible {
 my $prefix = '';
 
 sub show_type {
-       return !defined $ignore_type{$_[0]};
+       my ($type) = @_;
+
+       return defined $use_type{$type} if (scalar keys %use_type > 0);
+
+       return !defined $ignore_type{$type};
 }
 
 sub report {
-       if (!show_type($_[1]) ||
-           (defined $tst_only && $_[2] !~ /\Q$tst_only\E/)) {
+       my ($level, $type, $msg) = @_;
+
+       if (!show_type($type) ||
+           (defined $tst_only && $msg !~ /\Q$tst_only\E/)) {
                return 0;
        }
        my $line;
        if ($show_types) {
-               $line = "$prefix$_[0]:$_[1]: $_[2]\n";
+               $line = "$prefix$level:$type: $msg\n";
        } else {
-               $line = "$prefix$_[0]: $_[2]\n";
+               $line = "$prefix$level: $msg\n";
        }
        $line = (split('\n', $line))[0] . "\n" if ($terse);
 
@@ -1284,27 +1564,124 @@ sub report {
 
        return 1;
 }
+
 sub report_dump {
        our @report;
 }
 
+sub fixup_current_range {
+       my ($lineRef, $offset, $length) = @_;
+
+       if ($$lineRef =~ /^\@\@ -\d+,\d+ \+(\d+),(\d+) \@\@/) {
+               my $o = $1;
+               my $l = $2;
+               my $no = $o + $offset;
+               my $nl = $l + $length;
+               $$lineRef =~ s/\+$o,$l \@\@/\+$no,$nl \@\@/;
+       }
+}
+
+sub fix_inserted_deleted_lines {
+       my ($linesRef, $insertedRef, $deletedRef) = @_;
+
+       my $range_last_linenr = 0;
+       my $delta_offset = 0;
+
+       my $old_linenr = 0;
+       my $new_linenr = 0;
+
+       my $next_insert = 0;
+       my $next_delete = 0;
+
+       my @lines = ();
+
+       my $inserted = @{$insertedRef}[$next_insert++];
+       my $deleted = @{$deletedRef}[$next_delete++];
+
+       foreach my $old_line (@{$linesRef}) {
+               my $save_line = 1;
+               my $line = $old_line;   #don't modify the array
+               if ($line =~ /^(?:\+\+\+\|\-\-\-)\s+\S+/) {     #new filename
+                       $delta_offset = 0;
+               } elsif ($line =~ /^\@\@ -\d+,\d+ \+\d+,\d+ \@\@/) {    #new hunk
+                       $range_last_linenr = $new_linenr;
+                       fixup_current_range(\$line, $delta_offset, 0);
+               }
+
+               while (defined($deleted) && ${$deleted}{'LINENR'} == $old_linenr) {
+                       $deleted = @{$deletedRef}[$next_delete++];
+                       $save_line = 0;
+                       fixup_current_range(\$lines[$range_last_linenr], $delta_offset--, -1);
+               }
+
+               while (defined($inserted) && ${$inserted}{'LINENR'} == $old_linenr) {
+                       push(@lines, ${$inserted}{'LINE'});
+                       $inserted = @{$insertedRef}[$next_insert++];
+                       $new_linenr++;
+                       fixup_current_range(\$lines[$range_last_linenr], $delta_offset++, 1);
+               }
+
+               if ($save_line) {
+                       push(@lines, $line);
+                       $new_linenr++;
+               }
+
+               $old_linenr++;
+       }
+
+       return @lines;
+}
+
+sub fix_insert_line {
+       my ($linenr, $line) = @_;
+
+       my $inserted = {
+               LINENR => $linenr,
+               LINE => $line,
+       };
+       push(@fixed_inserted, $inserted);
+}
+
+sub fix_delete_line {
+       my ($linenr, $line) = @_;
+
+       my $deleted = {
+               LINENR => $linenr,
+               LINE => $line,
+       };
+
+       push(@fixed_deleted, $deleted);
+}
+
 sub ERROR {
-       if (report("ERROR", $_[0], $_[1])) {
+       my ($type, $msg) = @_;
+
+       if (report("ERROR", $type, $msg)) {
                our $clean = 0;
                our $cnt_error++;
+               return 1;
        }
+       return 0;
 }
 sub WARN {
-       if (report("WARNING", $_[0], $_[1])) {
+       my ($type, $msg) = @_;
+
+       if (report("WARNING", $type, $msg)) {
                our $clean = 0;
                our $cnt_warn++;
+               return 1;
        }
+       return 0;
 }
 sub CHK {
-       if ($check && report("CHECK", $_[0], $_[1])) {
+       my ($type, $msg) = @_;
+
+       if ($check && report("CHECK", $type, $msg)) {
                our $clean = 0;
                our $cnt_chk++;
+               return 1;
        }
+       return 0;
 }
 
 sub check_absolute_file {
@@ -1335,6 +1712,53 @@ sub check_absolute_file {
        }
 }
 
+sub trim {
+       my ($string) = @_;
+
+       $string =~ s/^\s+|\s+$//g;
+
+       return $string;
+}
+
+sub ltrim {
+       my ($string) = @_;
+
+       $string =~ s/^\s+//;
+
+       return $string;
+}
+
+sub rtrim {
+       my ($string) = @_;
+
+       $string =~ s/\s+$//;
+
+       return $string;
+}
+
+sub string_find_replace {
+       my ($string, $find, $replace) = @_;
+
+       $string =~ s/$find/$replace/g;
+
+       return $string;
+}
+
+sub tabify {
+       my ($leading) = @_;
+
+       my $source_indent = 8;
+       my $max_spaces_before_tab = $source_indent - 1;
+       my $spaces_to_tab = " " x $source_indent;
+
+       #convert leading spaces to tabs
+       1 while $leading =~ s@^([\t]*)$spaces_to_tab@$1\t@g;
+       #Remove spaces before a tab
+       1 while $leading =~ s@^([\t]*)( {1,$max_spaces_before_tab})\t@$1\t@g;
+
+       return "$leading";
+}
+
 sub pos_last_openparen {
        my ($line) = @_;
 
@@ -1362,7 +1786,7 @@ sub pos_last_openparen {
                }
        }
 
-       return $last_openparen + 1;
+       return length(expand_tabs(substr($line, 0, $last_openparen))) + 1;
 }
 
 sub process {
@@ -1383,8 +1807,12 @@ sub process {
        my $signoff = 0;
        my $is_patch = 0;
 
-       my $in_header_lines = 1;
+       my $in_header_lines = $file ? 0 : 1;
        my $in_commit_log = 0;          #Scanning lines before patch
+       my $reported_maintainer_file = 0;
+       my $non_utf8_charset = 0;
+
+       my $last_blank_line = 0;
 
        our @report = ();
        our $cnt_lines = 0;
@@ -1410,18 +1838,24 @@ sub process {
        my %suppress_export;
        my $suppress_statement = 0;
 
+       my %signatures = ();
+
        # Pre-scan the patch sanitizing the lines.
        # Pre-scan the patch looking for any __setup documentation.
        #
        my @setup_docs = ();
        my $setup_docs = 0;
 
+       my $camelcase_file_seeded = 0;
+
        sanitise_line_reset();
        my $line;
        foreach my $rawline (@rawlines) {
                $linenr++;
                $line = $rawline;
 
+               push(@fixed, $rawline) if ($fix);
+
                if ($rawline=~/^\+\+\+\s+(\S+)/) {
                        $setup_docs = 0;
                        if ($1 =~ m@Documentation/kernel-parameters.txt$@) {
@@ -1497,8 +1931,12 @@ sub process {
 
        $realcnt = 0;
        $linenr = 0;
+       $fixlinenr = -1;
        foreach my $line (@lines) {
                $linenr++;
+               $fixlinenr++;
+               my $sline = $line;      #copy of $line
+               $sline =~ s/$;/ /g;     #with comments as spaces
 
                my $rawline = $rawlines[$linenr - 1];
 
@@ -1551,14 +1989,16 @@ sub process {
                $here = "#$linenr: " if (!$file);
                $here = "#$realline: " if ($file);
 
+               my $found_file = 0;
                # extract the filename as it passes
                if ($line =~ /^diff --git.*?(\S+)$/) {
                        $realfile = $1;
-                       $realfile =~ s@^([^/]*)/@@;
+                       $realfile =~ s@^([^/]*)/@@ if (!$file);
                        $in_commit_log = 0;
+                       $found_file = 1;
                } elsif ($line =~ /^\+\+\+\s+(\S+)/) {
                        $realfile = $1;
-                       $realfile =~ s@^([^/]*)/@@;
+                       $realfile =~ s@^([^/]*)/@@ if (!$file);
                        $in_commit_log = 0;
 
                        $p1_prefix = $1;
@@ -1572,6 +2012,15 @@ sub process {
                                ERROR("MODIFIED_INCLUDE_ASM",
                                      "do not modify files in include/asm, change architecture specific files in include/asm-<architecture>\n" . "$here$rawline\n");
                        }
+                       $found_file = 1;
+               }
+
+               if ($found_file) {
+                       if ($realfile =~ m@^(drivers/net/|net/)@) {
+                               $check = 1;
+                       } else {
+                               $check = $check_orig;
+                       }
                        next;
                }
 
@@ -1586,7 +2035,8 @@ sub process {
 # Check for incorrect file permissions
                if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) {
                        my $permhere = $here . "FILE: $realfile\n";
-                       if ($realfile =~ /(Makefile|Kconfig|\.c|\.h|\.S|\.tmpl)$/) {
+                       if ($realfile !~ m@scripts/@ &&
+                           $realfile !~ /\.(py|pl|awk|sh)$/) {
                                ERROR("EXECUTE_PERMISSIONS",
                                      "do not set execute permissions for source files\n" . $permhere);
                        }
@@ -1600,24 +2050,41 @@ sub process {
 
 # Check signature styles
                if (!$in_header_lines &&
-                   $line =~ /^(\s*)($signature_tags)(\s*)(.*)/) {
+                   $line =~ /^(\s*)([a-z0-9_-]+by:|$signature_tags)(\s*)(.*)/i) {
                        my $space_before = $1;
                        my $sign_off = $2;
                        my $space_after = $3;
                        my $email = $4;
                        my $ucfirst_sign_off = ucfirst(lc($sign_off));
 
-                       if (defined $space_before && $space_before ne "") {
+                       if ($sign_off !~ /$signature_tags/) {
                                WARN("BAD_SIGN_OFF",
-                                    "Do not use whitespace before $ucfirst_sign_off\n" . $herecurr);
+                                    "Non-standard signature: $sign_off\n" . $herecurr);
+                       }
+                       if (defined $space_before && $space_before ne "") {
+                               if (WARN("BAD_SIGN_OFF",
+                                        "Do not use whitespace before $ucfirst_sign_off\n" . $herecurr) &&
+                                   $fix) {
+                                       $fixed[$fixlinenr] =
+                                           "$ucfirst_sign_off $email";
+                               }
                        }
                        if ($sign_off =~ /-by:$/i && $sign_off ne $ucfirst_sign_off) {
-                               WARN("BAD_SIGN_OFF",
-                                    "'$ucfirst_sign_off' is the preferred signature form\n" . $herecurr);
+                               if (WARN("BAD_SIGN_OFF",
+                                        "'$ucfirst_sign_off' is the preferred signature form\n" . $herecurr) &&
+                                   $fix) {
+                                       $fixed[$fixlinenr] =
+                                           "$ucfirst_sign_off $email";
+                               }
+
                        }
                        if (!defined $space_after || $space_after ne " ") {
-                               WARN("BAD_SIGN_OFF",
-                                    "Use a single space after $ucfirst_sign_off\n" . $herecurr);
+                               if (WARN("BAD_SIGN_OFF",
+                                        "Use a single space after $ucfirst_sign_off\n" . $herecurr) &&
+                                   $fix) {
+                                       $fixed[$fixlinenr] =
+                                           "$ucfirst_sign_off $email";
+                               }
                        }
 
                        my ($email_name, $email_address, $comment) = parse_email($email);
@@ -1638,6 +2105,57 @@ sub process {
                                             "email address '$email' might be better as '$suggested_email$comment'\n" . $herecurr);
                                }
                        }
+
+# Check for duplicate signatures
+                       my $sig_nospace = $line;
+                       $sig_nospace =~ s/\s//g;
+                       $sig_nospace = lc($sig_nospace);
+                       if (defined $signatures{$sig_nospace}) {
+                               WARN("BAD_SIGN_OFF",
+                                    "Duplicate signature\n" . $herecurr);
+                       } else {
+                               $signatures{$sig_nospace} = 1;
+                       }
+               }
+
+# Check for old stable address
+               if ($line =~ /^\s*cc:\s*.*<?\bstable\@kernel\.org\b>?.*$/i) {
+                       ERROR("STABLE_ADDRESS",
+                             "The 'stable' address should be 'stable\@vger.kernel.org'\n" . $herecurr);
+               }
+
+# Check for unwanted Gerrit info
+               if ($in_commit_log && $line =~ /^\s*change-id:/i) {
+                       ERROR("GERRIT_CHANGE_ID",
+                             "Remove Gerrit Change-Id's before submitting upstream.\n" . $herecurr);
+               }
+
+# Check for improperly formed commit descriptions
+               if ($in_commit_log &&
+                   $line =~ /\bcommit\s+[0-9a-f]{5,}/i &&
+                   !($line =~ /\b[Cc]ommit [0-9a-f]{12,40} \("/ ||
+                     ($line =~ /\b[Cc]ommit [0-9a-f]{12,40}\s*$/ &&
+                      defined $rawlines[$linenr] &&
+                      $rawlines[$linenr] =~ /^\s*\("/))) {
+                       $line =~ /\b(c)ommit\s+([0-9a-f]{5,})/i;
+                       my $init_char = $1;
+                       my $orig_commit = lc($2);
+                       my $id = '01234567890ab';
+                       my $desc = 'commit description';
+                       ($id, $desc) = git_commit_info($orig_commit, $id, $desc);
+                       ERROR("GIT_COMMIT_ID",
+                             "Please use 12 or more chars for the git commit ID like: '${init_char}ommit $id (\"$desc\")'\n" . $herecurr);
+               }
+
+# Check for added, moved or deleted files
+               if (!$reported_maintainer_file && !$in_commit_log &&
+                   ($line =~ /^(?:new|deleted) file mode\s*\d+\s*$/ ||
+                    $line =~ /^rename (?:from|to) [\w\/\.\-]+\s*$/ ||
+                    ($line =~ /\{\s*([\w\/\.\-]*)\s*\=\>\s*([\w\/\.\-]*)\s*\}/ &&
+                     (defined($1) || defined($2))))) {
+                       $reported_maintainer_file = 1;
+                       WARN("FILE_PATH_CHANGES",
+                            "added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr);
                }
 
 # Check for wrappage within a valid hunk of the file
@@ -1677,15 +2195,23 @@ sub process {
 # Check if it's the start of a commit log
 # (not a header line and we haven't seen the patch filename)
                if ($in_header_lines && $realfile =~ /^$/ &&
-                   $rawline !~ /^(commit\b|from\b|[\w-]+:).+$/i) {
+                   !($rawline =~ /^\s+\S/ ||
+                     $rawline =~ /^(commit\b|from\b|[\w-]+:).*$/i)) {
                        $in_header_lines = 0;
                        $in_commit_log = 1;
                }
 
-# Still not yet in a patch, check for any UTF-8
-               if ($in_commit_log && $realfile =~ /^$/ &&
+# Check if there is UTF-8 in a commit log when a mail header has explicitly
+# declined it, i.e defined some charset where it is missing.
+               if ($in_header_lines &&
+                   $rawline =~ /^Content-Type:.+charset="(.+)".*$/ &&
+                   $1 !~ /utf-8/i) {
+                       $non_utf8_charset = 1;
+               }
+
+               if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ &&
                    $rawline =~ /$NON_ASCII_UTF8/) {
-                       CHK("UTF8_BEFORE_PATCH",
+                       WARN("UTF8_BEFORE_PATCH",
                            "8-bit UTF-8 used in possible commit log\n" . $herecurr);
                }
 
@@ -1695,21 +2221,38 @@ sub process {
 #trailing whitespace
                if ($line =~ /^\+.*\015/) {
                        my $herevet = "$here\n" . cat_vet($rawline) . "\n";
-                       ERROR("DOS_LINE_ENDINGS",
-                             "DOS line endings\n" . $herevet);
-
+                       if (ERROR("DOS_LINE_ENDINGS",
+                                 "DOS line endings\n" . $herevet) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/[\s\015]+$//;
+                       }
                } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) {
                        my $herevet = "$here\n" . cat_vet($rawline) . "\n";
-                       ERROR("TRAILING_WHITESPACE",
-                             "trailing whitespace\n" . $herevet);
+                       if (ERROR("TRAILING_WHITESPACE",
+                                 "trailing whitespace\n" . $herevet) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\s+$//;
+                       }
+
                        $rpt_cleaners = 1;
                }
 
+# Check for FSF mailing addresses.
+               if ($rawline =~ /\bwrite to the Free/i ||
+                   $rawline =~ /\b59\s+Temple\s+Pl/i ||
+                   $rawline =~ /\b51\s+Franklin\s+St/i) {
+                       my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+                       my $msg_type = \&ERROR;
+                       $msg_type = \&CHK if ($file);
+                       &{$msg_type}("FSF_MAILING_ADDRESS",
+                                    "Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL.\n" . $herevet)
+               }
+
 # check for Kconfig help text having a real description
 # Only applies when adding the entry originally, after that we do not have
 # sufficient context to determine whether it is indeed long enough.
                if ($realfile =~ /Kconfig/ &&
-                   $line =~ /.\s*config\s+/) {
+                   $line =~ /^\+\s*config\s+/) {
                        my $length = 0;
                        my $cnt = $realcnt;
                        my $ln = $linenr + 1;
@@ -1722,10 +2265,11 @@ sub process {
                                $is_end = $lines[$ln - 1] =~ /^\+/;
 
                                next if ($f =~ /^-/);
+                               last if (!$file && $f =~ /^\@\@/);
 
-                               if ($lines[$ln - 1] =~ /.\s*(?:bool|tristate)\s*\"/) {
+                               if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate)\s*\"/) {
                                        $is_start = 1;
-                               } elsif ($lines[$ln - 1] =~ /.\s*(?:---)?help(?:---)?$/) {
+                               } elsif ($lines[$ln - 1] =~ /^\+\s*(?:---)?help(?:---)?$/) {
                                        $length = -1;
                                }
 
@@ -1744,6 +2288,13 @@ sub process {
                        #print "is_start<$is_start> is_end<$is_end> length<$length>\n";
                }
 
+# discourage the addition of CONFIG_EXPERIMENTAL in Kconfig.
+               if ($realfile =~ /Kconfig/ &&
+                   $line =~ /.\s*depends on\s+.*\bEXPERIMENTAL\b/) {
+                       WARN("CONFIG_EXPERIMENTAL",
+                            "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see https://lkml.org/lkml/2012/10/23/580\n");
+               }
+
                if (($realfile =~ /Makefile.*/ || $realfile =~ /Kbuild.*/) &&
                    ($line =~ /\+(EXTRA_[A-Z]+FLAGS).*/)) {
                        my $flag = $1;
@@ -1758,39 +2309,76 @@ sub process {
                             "Use of $flag is deprecated, please use \`$replacement->{$flag} instead.\n" . $herecurr) if ($replacement->{$flag});
                }
 
+# check for DT compatible documentation
+               if (defined $root &&
+                       (($realfile =~ /\.dtsi?$/ && $line =~ /^\+\s*compatible\s*=\s*\"/) ||
+                        ($realfile =~ /\.[ch]$/ && $line =~ /^\+.*\.compatible\s*=\s*\"/))) {
+
+                       my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g;
+
+                       my $dt_path = $root . "/Documentation/devicetree/bindings/";
+                       my $vp_file = $dt_path . "vendor-prefixes.txt";
+
+                       foreach my $compat (@compats) {
+                               my $compat2 = $compat;
+                               $compat2 =~ s/\,[a-zA-Z0-9]*\-/\,<\.\*>\-/;
+                               my $compat3 = $compat;
+                               $compat3 =~ s/\,([a-z]*)[0-9]*\-/\,$1<\.\*>\-/;
+                               `grep -Erq "$compat|$compat2|$compat3" $dt_path`;
+                               if ( $? >> 8 ) {
+                                       WARN("UNDOCUMENTED_DT_STRING",
+                                            "DT compatible string \"$compat\" appears un-documented -- check $dt_path\n" . $herecurr);
+                               }
+
+                               next if $compat !~ /^([a-zA-Z0-9\-]+)\,/;
+                               my $vendor = $1;
+                               `grep -Eq "^$vendor\\b" $vp_file`;
+                               if ( $? >> 8 ) {
+                                       WARN("UNDOCUMENTED_DT_STRING",
+                                            "DT compatible string vendor \"$vendor\" appears un-documented -- check $vp_file\n" . $herecurr);
+                               }
+                       }
+               }
+
 # check we are in a valid source file if not then ignore this hunk
                next if ($realfile !~ /\.(h|c|s|S|pl|sh)$/);
 
-#80 column limit
+#line length limit
                if ($line =~ /^\+/ && $prevrawline !~ /\/\*\*/ &&
                    $rawline !~ /^.\s*\*\s*\@$Ident\s/ &&
                    !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(KERN_\S+\s*|[^"]*))?"[X\t]*"\s*(?:|,|\)\s*;)\s*$/ ||
                    $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
-                   $length > 80)
+                   $length > $max_line_length)
                {
                        WARN("LONG_LINE",
-                            "line over 80 characters\n" . $herecurr);
+                            "line over $max_line_length characters\n" . $herecurr);
                }
 
 # Check for user-visible strings broken across lines, which breaks the ability
-# to grep for the string.  Limited to strings used as parameters (those
-# following an open parenthesis), which almost completely eliminates false
-# positives, as well as warning only once per parameter rather than once per
-# line of the string.  Make an exception when the previous string ends in a
-# newline (multiple lines in one string constant) or \n\t (common in inline
-# assembly to indent the instruction on the following line).
+# to grep for the string.  Make exceptions when the previous string ends in a
+# newline (multiple lines in one string constant) or '\t', '\r', ';', or '{'
+# (common in inline assembly) or is a octal \123 or hexadecimal \xaf value
                if ($line =~ /^\+\s*"/ &&
                    $prevline =~ /"\s*$/ &&
-                   $prevline =~ /\(/ &&
-                   $prevrawline !~ /\\n(?:\\t)*"\s*$/) {
+                   $prevrawline !~ /(?:\\(?:[ntr]|[0-7]{1,3}|x[0-9a-fA-F]{1,2})|;\s*|\{\s*)"\s*$/) {
                        WARN("SPLIT_STRING",
                             "quoted string split across lines\n" . $hereprev);
                }
 
+# check for missing a space in a string concatination
+               if ($prevrawline =~ /[^\\]\w"$/ && $rawline =~ /^\+[\t ]+"\w/) {
+                       WARN('MISSING_SPACE',
+                            "break quoted strings at a space character\n" . $hereprev);
+               }
+
 # check for spaces before a quoted newline
                if ($rawline =~ /^.*\".*\s\\n/) {
-                       WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE",
-                            "unnecessary whitespace before a quoted newline\n" . $herecurr);
+                       if (WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE",
+                                "unnecessary whitespace before a quoted newline\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/^(\+.*\".*)\s+\\n/$1\\n/;
+                       }
+
                }
 
 # check for adding lines without a newline.
@@ -1821,16 +2409,25 @@ sub process {
                if ($rawline =~ /^\+\s* \t\s*\S/ ||
                    $rawline =~ /^\+\s*        \s*/) {
                        my $herevet = "$here\n" . cat_vet($rawline) . "\n";
-                       ERROR("CODE_INDENT",
-                             "code indent should use tabs where possible\n" . $herevet);
                        $rpt_cleaners = 1;
+                       if (ERROR("CODE_INDENT",
+                                 "code indent should use tabs where possible\n" . $herevet) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e;
+                       }
                }
 
 # check for space before tabs.
                if ($rawline =~ /^\+/ && $rawline =~ / \t/) {
                        my $herevet = "$here\n" . cat_vet($rawline) . "\n";
-                       WARN("SPACE_BEFORE_TAB",
-                            "please, no space before tabs\n" . $herevet);
+                       if (WARN("SPACE_BEFORE_TAB",
+                               "please, no space before tabs\n" . $herevet) &&
+                           $fix) {
+                               while ($fixed[$fixlinenr] =~
+                                          s/(^\+.*) {8,8}\t/$1\t\t/) {}
+                               while ($fixed[$fixlinenr] =~
+                                          s/(^\+.*) +\t/$1\t/) {}
+                       }
                }
 
 # check for && or || at the start of a line
@@ -1841,15 +2438,15 @@ sub process {
 
 # check multi-line statement indentation matches previous line
                if ($^V && $^V ge 5.10.0 &&
-                   $prevline =~ /^\+(\t*)(if \(|$Ident\().*(\&\&|\|\||,)\s*$/) {
+                   $prevline =~ /^\+([ \t]*)((?:$c90_Keywords(?:\s+if)\s*)|(?:$Declare\s*)?(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*|$Ident\s*=\s*$Ident\s*)\(.*(\&\&|\|\||,)\s*$/) {
                        $prevline =~ /^\+(\t*)(.*)$/;
                        my $oldindent = $1;
                        my $rest = $2;
 
                        my $pos = pos_last_openparen($rest);
                        if ($pos >= 0) {
-                               $line =~ /^\+([ \t]*)/;
-                               my $newindent = $1;
+                               $line =~ /^(\+| )([ \t]*)/;
+                               my $newindent = $2;
 
                                my $goodtabindent = $oldindent .
                                        "\t" x ($pos / 8) .
@@ -1858,15 +2455,123 @@ sub process {
 
                                if ($newindent ne $goodtabindent &&
                                    $newindent ne $goodspaceindent) {
-                                       CHK("PARENTHESIS_ALIGNMENT",
-                                           "Alignment should match open parenthesis\n" . $hereprev);
+
+                                       if (CHK("PARENTHESIS_ALIGNMENT",
+                                               "Alignment should match open parenthesis\n" . $hereprev) &&
+                                           $fix && $line =~ /^\+/) {
+                                               $fixed[$fixlinenr] =~
+                                                   s/^\+[ \t]*/\+$goodtabindent/;
+                                       }
                                }
                        }
                }
 
-               if ($line =~ /^\+.*\*[ \t]*\)[ \t]+/) {
-                       CHK("SPACING",
-                           "No space is necessary after a cast\n" . $hereprev);
+               if ($line =~ /^\+.*\(\s*$Type\s*\)[ \t]+(?!$Assignment|$Arithmetic|{)/) {
+                       if (CHK("SPACING",
+                               "No space is necessary after a cast\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/(\(\s*$Type\s*\))[ \t]+/$1/;
+                       }
+               }
+
+               if ($realfile =~ m@^(drivers/net/|net/)@ &&
+                   $prevrawline =~ /^\+[ \t]*\/\*[ \t]*$/ &&
+                   $rawline =~ /^\+[ \t]*\*/ &&
+                   $realline > 2) {
+                       WARN("NETWORKING_BLOCK_COMMENT_STYLE",
+                            "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev);
+               }
+
+               if ($realfile =~ m@^(drivers/net/|net/)@ &&
+                   $prevrawline =~ /^\+[ \t]*\/\*/ &&          #starting /*
+                   $prevrawline !~ /\*\/[ \t]*$/ &&            #no trailing */
+                   $rawline =~ /^\+/ &&                        #line is new
+                   $rawline !~ /^\+[ \t]*\*/) {                #no leading *
+                       WARN("NETWORKING_BLOCK_COMMENT_STYLE",
+                            "networking block comments start with * on subsequent lines\n" . $hereprev);
+               }
+
+               if ($realfile =~ m@^(drivers/net/|net/)@ &&
+                   $rawline !~ m@^\+[ \t]*\*/[ \t]*$@ &&       #trailing */
+                   $rawline !~ m@^\+.*/\*.*\*/[ \t]*$@ &&      #inline /*...*/
+                   $rawline !~ m@^\+.*\*{2,}/[ \t]*$@ &&       #trailing **/
+                   $rawline =~ m@^\+[ \t]*.+\*\/[ \t]*$@) {    #non blank */
+                       WARN("NETWORKING_BLOCK_COMMENT_STYLE",
+                            "networking block comments put the trailing */ on a separate line\n" . $herecurr);
+               }
+
+# check for missing blank lines after struct/union declarations
+# with exceptions for various attributes and macros
+               if ($prevline =~ /^[\+ ]};?\s*$/ &&
+                   $line =~ /^\+/ &&
+                   !($line =~ /^\+\s*$/ ||
+                     $line =~ /^\+\s*EXPORT_SYMBOL/ ||
+                     $line =~ /^\+\s*MODULE_/i ||
+                     $line =~ /^\+\s*\#\s*(?:end|elif|else)/ ||
+                     $line =~ /^\+[a-z_]*init/ ||
+                     $line =~ /^\+\s*(?:static\s+)?[A-Z_]*ATTR/ ||
+                     $line =~ /^\+\s*DECLARE/ ||
+                     $line =~ /^\+\s*__setup/)) {
+                       if (CHK("LINE_SPACING",
+                               "Please use a blank line after function/struct/union/enum declarations\n" . $hereprev) &&
+                           $fix) {
+                               fix_insert_line($fixlinenr, "\+");
+                       }
+               }
+
+# check for multiple consecutive blank lines
+               if ($prevline =~ /^[\+ ]\s*$/ &&
+                   $line =~ /^\+\s*$/ &&
+                   $last_blank_line != ($linenr - 1)) {
+                       if (CHK("LINE_SPACING",
+                               "Please don't use multiple blank lines\n" . $hereprev) &&
+                           $fix) {
+                               fix_delete_line($fixlinenr, $rawline);
+                       }
+
+                       $last_blank_line = $linenr;
+               }
+
+# check for missing blank lines after declarations
+               if ($sline =~ /^\+\s+\S/ &&                     #Not at char 1
+                       # actual declarations
+                   ($prevline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ ||
+                       # function pointer declarations
+                    $prevline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ ||
+                       # foo bar; where foo is some local typedef or #define
+                    $prevline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ ||
+                       # known declaration macros
+                    $prevline =~ /^\+\s+$declaration_macros/) &&
+                       # for "else if" which can look like "$Ident $Ident"
+                   !($prevline =~ /^\+\s+$c90_Keywords\b/ ||
+                       # other possible extensions of declaration lines
+                     $prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ ||
+                       # not starting a section or a macro "\" extended line
+                     $prevline =~ /(?:\{\s*|\\)$/) &&
+                       # looks like a declaration
+                   !($sline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ ||
+                       # function pointer declarations
+                     $sline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ ||
+                       # foo bar; where foo is some local typedef or #define
+                     $sline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ ||
+                       # known declaration macros
+                     $sline =~ /^\+\s+$declaration_macros/ ||
+                       # start of struct or union or enum
+                     $sline =~ /^\+\s+(?:union|struct|enum|typedef)\b/ ||
+                       # start or end of block or continuation of declaration
+                     $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(\[])/ ||
+                       # bitfield continuation
+                     $sline =~ /^\+\s+$Ident\s*:\s*\d+\s*[,;]/ ||
+                       # other possible extensions of declaration lines
+                     $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/) &&
+                       # indentation of previous and current line are the same
+                   (($prevline =~ /\+(\s+)\S/) && $sline =~ /^\+$1\S/)) {
+                       if (WARN("LINE_SPACING",
+                                "Missing a blank line after declarations\n" . $hereprev) &&
+                           $fix) {
+                               fix_insert_line($fixlinenr, "\+");
+                       }
                }
 
 # check for spaces at the beginning of a line.
@@ -1874,15 +2579,44 @@ sub process {
 #  1) within comments
 #  2) indented preprocessor commands
 #  3) hanging labels
-               if ($rawline =~ /^\+ / && $line !~ /\+ *(?:$;|#|$Ident:)/)  {
+               if ($rawline =~ /^\+ / && $line !~ /^\+ *(?:$;|#|$Ident:)/)  {
                        my $herevet = "$here\n" . cat_vet($rawline) . "\n";
-                       WARN("LEADING_SPACE",
-                            "please, no spaces at the start of a line\n" . $herevet);
+                       if (WARN("LEADING_SPACE",
+                                "please, no spaces at the start of a line\n" . $herevet) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e;
+                       }
                }
 
 # check we are in a valid C source file if not then ignore this hunk
                next if ($realfile !~ /\.(h|c)$/);
 
+# check indentation of any line with a bare else
+# if the previous line is a break or return and is indented 1 tab more...
+               if ($sline =~ /^\+([\t]+)(?:}[ \t]*)?else(?:[ \t]*{)?\s*$/) {
+                       my $tabs = length($1) + 1;
+                       if ($prevline =~ /^\+\t{$tabs,$tabs}(?:break|return)\b/) {
+                               WARN("UNNECESSARY_ELSE",
+                                    "else is not generally useful after a break or return\n" . $hereprev);
+                       }
+               }
+
+# check indentation of a line with a break;
+# if the previous line is a goto or return and is indented the same # of tabs
+               if ($sline =~ /^\+([\t]+)break\s*;\s*$/) {
+                       my $tabs = $1;
+                       if ($prevline =~ /^\+$tabs(?:goto|return)\b/) {
+                               WARN("UNNECESSARY_BREAK",
+                                    "break is not useful after a goto or return\n" . $hereprev);
+                       }
+               }
+
+# discourage the addition of CONFIG_EXPERIMENTAL in #if(def).
+               if ($line =~ /^\+\s*\#\s*if.*\bCONFIG_EXPERIMENTAL\b/) {
+                       WARN("CONFIG_EXPERIMENTAL",
+                            "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see https://lkml.org/lkml/2012/10/23/580\n");
+               }
+
 # check for RCS/CVS revision markers
                if ($rawline =~ /^\+.*\$(Revision|Log|Id)(?:\$|)/) {
                        WARN("CVS_KEYWORD",
@@ -1901,12 +2635,18 @@ sub process {
                              "use the SSYNC() macro in asm/blackfin.h\n" . $herevet);
                }
 
+# check for old HOTPLUG __dev<foo> section markings
+               if ($line =~ /\b(__dev(init|exit)(data|const|))\b/) {
+                       WARN("HOTPLUG_SECTION",
+                            "Using $1 is unnecessary\n" . $herecurr);
+               }
+
 # Check for potential 'bare' types
                my ($stat, $cond, $line_nr_next, $remain_next, $off_next,
                    $realline_next);
 #print "LINE<$line>\n";
                if ($linenr >= $suppress_statement &&
-                   $realcnt && $line =~ /.\s*\S/) {
+                   $realcnt && $sline =~ /.\s*\S/) {
                        ($stat, $cond, $line_nr_next, $remain_next, $off_next) =
                                ctx_statement_block($linenr, $realcnt, 0);
                        $stat =~ s/\n./\n /g;
@@ -2006,7 +2746,7 @@ sub process {
 
 # if/while/etc brace do not go on next line, unless defining a do while loop,
 # or if that brace on the next line is for something else
-               if ($line =~ /(.*)\b((?:if|while|for|switch)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) {
+               if ($line =~ /(.*)\b((?:if|while|for|switch|(?:[a-z_]+|)for_each[a-z_]+)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) {
                        my $pre_ctx = "$1$2";
 
                        my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0);
@@ -2033,7 +2773,7 @@ sub process {
                        #print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n";
                        #print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n";
 
-                       if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) {
+                       if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln - 1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) {
                                ERROR("OPEN_BRACE",
                                      "that open brace { should be on the previous line\n" .
                                        "$here\n$ctx\n$rawlines[$ctx_ln - 1]\n");
@@ -2052,7 +2792,7 @@ sub process {
                }
 
 # Check relative indent for conditionals and blocks.
-               if ($line =~ /\b(?:(?:if|while|for)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) {
+               if ($line =~ /\b(?:(?:if|while|for|(?:[a-z_]+|)for_each[a-z_]+)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) {
                        ($stat, $cond, $line_nr_next, $remain_next, $off_next) =
                                ctx_statement_block($linenr, $realcnt, 0)
                                        if (!defined $stat);
@@ -2155,7 +2895,7 @@ sub process {
                $prev_values = substr($curr_values, -1);
 
 #ignore lines not being added
-               if ($line=~/^[^\+]/) {next;}
+               next if ($line =~ /^[^\+]/);
 
 # TEST: allow direct testing of the type matcher.
                if ($dbg_type) {
@@ -2183,8 +2923,18 @@ sub process {
 # check for initialisation to aggregates open brace on the next line
                if ($line =~ /^.\s*{/ &&
                    $prevline =~ /(?:^|[^=])=\s*$/) {
-                       ERROR("OPEN_BRACE",
-                             "that open brace { should be on the previous line\n" . $hereprev);
+                       if (ERROR("OPEN_BRACE",
+                                 "that open brace { should be on the previous line\n" . $hereprev) &&
+                           $fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
+                               fix_delete_line($fixlinenr - 1, $prevrawline);
+                               fix_delete_line($fixlinenr, $rawline);
+                               my $fixedline = $prevrawline;
+                               $fixedline =~ s/\s*=\s*$/ = {/;
+                               fix_insert_line($fixlinenr, $fixedline);
+                               $fixedline = $line;
+                               $fixedline =~ s/^(.\s*){\s*/$1/;
+                               fix_insert_line($fixlinenr, $fixedline);
+                       }
                }
 
 #
@@ -2196,15 +2946,25 @@ sub process {
                        my $path = $1;
                        if ($path =~ m{//}) {
                                ERROR("MALFORMED_INCLUDE",
-                                     "malformed #include filename\n" .
-                                       $herecurr);
+                                     "malformed #include filename\n" . $herecurr);
+                       }
+                       if ($path =~ "^uapi/" && $realfile =~ m@\binclude/uapi/@) {
+                               ERROR("UAPI_INCLUDE",
+                                     "No #include in ...include/uapi/... should use a uapi/ path prefix\n" . $herecurr);
                        }
                }
 
 # no C99 // comments
                if ($line =~ m{//}) {
-                       ERROR("C99_COMMENTS",
-                             "do not use C99 // comments\n" . $herecurr);
+                       if (ERROR("C99_COMMENTS",
+                                 "do not use C99 // comments\n" . $herecurr) &&
+                           $fix) {
+                               my $line = $fixed[$fixlinenr];
+                               if ($line =~ /\/\/(.*)$/) {
+                                       my $comment = trim($1);
+                                       $fixed[$fixlinenr] =~ s@\/\/(.*)$@/\* $comment \*/@;
+                               }
+                       }
                }
                # Remove C99 comments.
                $line =~ s@//.*@@;
@@ -2256,16 +3016,29 @@ sub process {
                }
 
 # check for global initialisers.
-               if ($line =~ /^.$Type\s*$Ident\s*(?:\s+$Modifier)*\s*=\s*(0|NULL|false)\s*;/) {
-                       ERROR("GLOBAL_INITIALISERS",
-                             "do not initialise globals to 0 or NULL\n" .
-                               $herecurr);
+               if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/) {
+                       if (ERROR("GLOBAL_INITIALISERS",
+                                 "do not initialise globals to 0 or NULL\n" .
+                                     $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/;
+                       }
                }
 # check for static initialisers.
-               if ($line =~ /\bstatic\s.*=\s*(0|NULL|false)\s*;/) {
-                       ERROR("INITIALISED_STATIC",
-                             "do not initialise statics to 0 or NULL\n" .
-                               $herecurr);
+               if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL|false)\s*;/) {
+                       if (ERROR("INITIALISED_STATIC",
+                                 "do not initialise statics to 0 or NULL\n" .
+                                     $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/;
+                       }
+               }
+
+# check for misordered declarations of char/short/int/long with signed/unsigned
+               while ($sline =~ m{(\b$TypeMisordered\b)}g) {
+                       my $tmp = trim($1);
+                       WARN("MISORDERED_TYPE",
+                            "type '$tmp' should be specified in [[un]signed] [short|int|long|long long] order\n" . $herecurr);
                }
 
 # check for static const char * arrays.
@@ -2282,10 +3055,29 @@ sub process {
                                $herecurr);
                }
 
-# check for declarations of struct pci_device_id
-               if ($line =~ /\bstruct\s+pci_device_id\s+\w+\s*\[\s*\]\s*\=\s*\{/) {
-                       WARN("DEFINE_PCI_DEVICE_TABLE",
-                            "Use DEFINE_PCI_DEVICE_TABLE for struct pci_device_id\n" . $herecurr);
+# check for non-global char *foo[] = {"bar", ...} declarations.
+               if ($line =~ /^.\s+(?:static\s+|const\s+)?char\s+\*\s*\w+\s*\[\s*\]\s*=\s*\{/) {
+                       WARN("STATIC_CONST_CHAR_ARRAY",
+                            "char * array declaration might be better as static const\n" .
+                               $herecurr);
+               }
+
+# check for function declarations without arguments like "int foo()"
+               if ($line =~ /(\b$Type\s+$Ident)\s*\(\s*\)/) {
+                       if (ERROR("FUNCTION_WITHOUT_ARGS",
+                                 "Bad function definition - $1() should probably be $1(void)\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/(\b($Type)\s+($Ident))\s*\(\s*\)/$2 $3(void)/;
+                       }
+               }
+
+# check for uses of DEFINE_PCI_DEVICE_TABLE
+               if ($line =~ /\bDEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=/) {
+                       if (WARN("DEFINE_PCI_DEVICE_TABLE",
+                                "Prefer struct pci_device_id over deprecated DEFINE_PCI_DEVICE_TABLE\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\b(?:static\s+|)DEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=\s*/static const struct pci_device_id $1\[\] = /;
+                       }
                }
 
 # check for new typedefs, only function parameters and sparse annotations
@@ -2303,7 +3095,7 @@ sub process {
                # (char*[ const])
                while ($line =~ m{(\($NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)\))}g) {
                        #print "AA<$1>\n";
-                       my ($from, $to) = ($2, $2);
+                       my ($ident, $from, $to) = ($1, $2, $2);
 
                        # Should start with a space.
                        $to =~ s/^(\S)/ $1/;
@@ -2313,15 +3105,22 @@ sub process {
                        while ($to =~ s/\*\s+\*/\*\*/) {
                        }
 
-                       #print "from<$from> to<$to>\n";
+##                     print "1: from<$from> to<$to> ident<$ident>\n";
                        if ($from ne $to) {
-                               ERROR("POINTER_LOCATION",
-                                     "\"(foo$from)\" should be \"(foo$to)\"\n" .  $herecurr);
+                               if (ERROR("POINTER_LOCATION",
+                                         "\"(foo$from)\" should be \"(foo$to)\"\n" .  $herecurr) &&
+                                   $fix) {
+                                       my $sub_from = $ident;
+                                       my $sub_to = $ident;
+                                       $sub_to =~ s/\Q$from\E/$to/;
+                                       $fixed[$fixlinenr] =~
+                                           s@\Q$sub_from\E@$sub_to@;
+                               }
                        }
                }
                while ($line =~ m{(\b$NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)($Ident))}g) {
                        #print "BB<$1>\n";
-                       my ($from, $to, $ident) = ($2, $2, $3);
+                       my ($match, $from, $to, $ident) = ($1, $2, $2, $3);
 
                        # Should start with a space.
                        $to =~ s/^(\S)/ $1/;
@@ -2333,10 +3132,18 @@ sub process {
                        # Modifiers should have spaces.
                        $to =~ s/(\b$Modifier$)/$1 /;
 
-                       #print "from<$from> to<$to> ident<$ident>\n";
+##                     print "2: from<$from> to<$to> ident<$ident>\n";
                        if ($from ne $to && $ident !~ /^$Modifier$/) {
-                               ERROR("POINTER_LOCATION",
-                                     "\"foo${from}bar\" should be \"foo${to}bar\"\n" .  $herecurr);
+                               if (ERROR("POINTER_LOCATION",
+                                         "\"foo${from}bar\" should be \"foo${to}bar\"\n" .  $herecurr) &&
+                                   $fix) {
+
+                                       my $sub_from = $match;
+                                       my $sub_to = $match;
+                                       $sub_to =~ s/\Q$from\E/$to/;
+                                       $fixed[$fixlinenr] =~
+                                           s@\Q$sub_from\E@$sub_to@;
+                               }
                        }
                }
 
@@ -2382,25 +3189,150 @@ sub process {
                        }
                }
 
+               if ($line =~ /\bprintk\s*\(\s*KERN_([A-Z]+)/) {
+                       my $orig = $1;
+                       my $level = lc($orig);
+                       $level = "warn" if ($level eq "warning");
+                       my $level2 = $level;
+                       $level2 = "dbg" if ($level eq "debug");
+                       WARN("PREFER_PR_LEVEL",
+                            "Prefer [subsystem eg: netdev]_$level2([subsystem]dev, ... then dev_$level2(dev, ... then pr_$level(...  to printk(KERN_$orig ...\n" . $herecurr);
+               }
+
+               if ($line =~ /\bpr_warning\s*\(/) {
+                       if (WARN("PREFER_PR_LEVEL",
+                                "Prefer pr_warn(... to pr_warning(...\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/\bpr_warning\b/pr_warn/;
+                       }
+               }
+
+               if ($line =~ /\bdev_printk\s*\(\s*KERN_([A-Z]+)/) {
+                       my $orig = $1;
+                       my $level = lc($orig);
+                       $level = "warn" if ($level eq "warning");
+                       $level = "dbg" if ($level eq "debug");
+                       WARN("PREFER_DEV_LEVEL",
+                            "Prefer dev_$level(... to dev_printk(KERN_$orig, ...\n" . $herecurr);
+               }
+
 # function brace can't be on same line, except for #defines of do while,
 # or if closed on same line
-               if (($line=~/$Type\s*$Ident\(.*\).*\s{/) and
+               if (($line=~/$Type\s*$Ident\(.*\).*\s*{/) and
                    !($line=~/\#\s*define.*do\s{/) and !($line=~/}/)) {
-                       ERROR("OPEN_BRACE",
-                             "open brace '{' following function declarations go on the next line\n" . $herecurr);
+                       if (ERROR("OPEN_BRACE",
+                                 "open brace '{' following function declarations go on the next line\n" . $herecurr) &&
+                           $fix) {
+                               fix_delete_line($fixlinenr, $rawline);
+                               my $fixed_line = $rawline;
+                               $fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*){(.*)$/;
+                               my $line1 = $1;
+                               my $line2 = $2;
+                               fix_insert_line($fixlinenr, ltrim($line1));
+                               fix_insert_line($fixlinenr, "\+{");
+                               if ($line2 !~ /^\s*$/) {
+                                       fix_insert_line($fixlinenr, "\+\t" . trim($line2));
+                               }
+                       }
                }
 
 # open braces for enum, union and struct go on the same line.
                if ($line =~ /^.\s*{/ &&
                    $prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) {
-                       ERROR("OPEN_BRACE",
-                             "open brace '{' following $1 go on the same line\n" . $hereprev);
+                       if (ERROR("OPEN_BRACE",
+                                 "open brace '{' following $1 go on the same line\n" . $hereprev) &&
+                           $fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
+                               fix_delete_line($fixlinenr - 1, $prevrawline);
+                               fix_delete_line($fixlinenr, $rawline);
+                               my $fixedline = rtrim($prevrawline) . " {";
+                               fix_insert_line($fixlinenr, $fixedline);
+                               $fixedline = $rawline;
+                               $fixedline =~ s/^(.\s*){\s*/$1\t/;
+                               if ($fixedline !~ /^\+\s*$/) {
+                                       fix_insert_line($fixlinenr, $fixedline);
+                               }
+                       }
                }
 
 # missing space after union, struct or enum definition
-               if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?(?:\s+$Ident)?[=\{]/) {
-                   WARN("SPACING",
-                        "missing space after $1 definition\n" . $herecurr);
+               if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident){1,2}[=\{]/) {
+                       if (WARN("SPACING",
+                                "missing space after $1 definition\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/^(.\s*(?:typedef\s+)?(?:enum|union|struct)(?:\s+$Ident){1,2})([=\{])/$1 $2/;
+                       }
+               }
+
+# Function pointer declarations
+# check spacing between type, funcptr, and args
+# canonical declaration is "type (*funcptr)(args...)"
+               if ($line =~ /^.\s*($Declare)\((\s*)\*(\s*)($Ident)(\s*)\)(\s*)\(/) {
+                       my $declare = $1;
+                       my $pre_pointer_space = $2;
+                       my $post_pointer_space = $3;
+                       my $funcname = $4;
+                       my $post_funcname_space = $5;
+                       my $pre_args_space = $6;
+
+# the $Declare variable will capture all spaces after the type
+# so check it for a missing trailing missing space but pointer return types
+# don't need a space so don't warn for those.
+                       my $post_declare_space = "";
+                       if ($declare =~ /(\s+)$/) {
+                               $post_declare_space = $1;
+                               $declare = rtrim($declare);
+                       }
+                       if ($declare !~ /\*$/ && $post_declare_space =~ /^$/) {
+                               WARN("SPACING",
+                                    "missing space after return type\n" . $herecurr);
+                               $post_declare_space = " ";
+                       }
+
+# unnecessary space "type  (*funcptr)(args...)"
+# This test is not currently implemented because these declarations are
+# equivalent to
+#      int  foo(int bar, ...)
+# and this is form shouldn't/doesn't generate a checkpatch warning.
+#
+#                      elsif ($declare =~ /\s{2,}$/) {
+#                              WARN("SPACING",
+#                                   "Multiple spaces after return type\n" . $herecurr);
+#                      }
+
+# unnecessary space "type ( *funcptr)(args...)"
+                       if (defined $pre_pointer_space &&
+                           $pre_pointer_space =~ /^\s/) {
+                               WARN("SPACING",
+                                    "Unnecessary space after function pointer open parenthesis\n" . $herecurr);
+                       }
+
+# unnecessary space "type (* funcptr)(args...)"
+                       if (defined $post_pointer_space &&
+                           $post_pointer_space =~ /^\s/) {
+                               WARN("SPACING",
+                                    "Unnecessary space before function pointer name\n" . $herecurr);
+                       }
+
+# unnecessary space "type (*funcptr )(args...)"
+                       if (defined $post_funcname_space &&
+                           $post_funcname_space =~ /^\s/) {
+                               WARN("SPACING",
+                                    "Unnecessary space after function pointer name\n" . $herecurr);
+                       }
+
+# unnecessary space "type (*funcptr) (args...)"
+                       if (defined $pre_args_space &&
+                           $pre_args_space =~ /^\s/) {
+                               WARN("SPACING",
+                                    "Unnecessary space before function pointer arguments\n" . $herecurr);
+                       }
+
+                       if (show_type("SPACING") && $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/^(.\s*)$Declare\s*\(\s*\*\s*$Ident\s*\)\s*\(/$1 . $declare . $post_declare_space . '(*' . $funcname . ')('/ex;
+                       }
                }
 
 # check for spacing round square brackets; allowed:
@@ -2412,8 +3344,12 @@ sub process {
                        if ($prefix !~ /$Type\s+$/ &&
                            ($where != 0 || $prefix !~ /^.\s+$/) &&
                            $prefix !~ /[{,]\s+$/) {
-                               ERROR("BRACKET_SPACE",
-                                     "space prohibited before open square bracket '['\n" . $herecurr);
+                               if (ERROR("BRACKET_SPACE",
+                                         "space prohibited before open square bracket '['\n" . $herecurr) &&
+                                   $fix) {
+                                   $fixed[$fixlinenr] =~
+                                       s/^(\+.*?)\s+\[/$1\[/;
+                               }
                        }
                }
 
@@ -2430,7 +3366,6 @@ sub process {
                                __attribute__|format|__extension__|
                                asm|__asm__)$/x)
                        {
-
                        # cpp #define statements have non-optional spaces, ie
                        # if there is a space between the name and the open
                        # parenthesis it is simply not a parameter group.
@@ -2444,25 +3379,53 @@ sub process {
                        } elsif ($ctx =~ /$Type$/) {
 
                        } else {
-                               WARN("SPACING",
-                                    "space prohibited between function name and open parenthesis '('\n" . $herecurr);
+                               if (WARN("SPACING",
+                                        "space prohibited between function name and open parenthesis '('\n" . $herecurr) &&
+                                            $fix) {
+                                       $fixed[$fixlinenr] =~
+                                           s/\b$name\s+\(/$name\(/;
+                               }
                        }
                }
+
 # Check operator spacing.
                if (!($line=~/\#\s*include/)) {
+                       my $fixed_line = "";
+                       my $line_fixed = 0;
+
                        my $ops = qr{
                                <<=|>>=|<=|>=|==|!=|
                                \+=|-=|\*=|\/=|%=|\^=|\|=|&=|
                                =>|->|<<|>>|<|>|=|!|~|
                                &&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%|
-                               \?|:
+                               \?:|\?|:
                        }x;
                        my @elements = split(/($ops|;)/, $opline);
+
+##                     print("element count: <" . $#elements . ">\n");
+##                     foreach my $el (@elements) {
+##                             print("el: <$el>\n");
+##                     }
+
+                       my @fix_elements = ();
                        my $off = 0;
 
+                       foreach my $el (@elements) {
+                               push(@fix_elements, substr($rawline, $off, length($el)));
+                               $off += length($el);
+                       }
+
+                       $off = 0;
+
                        my $blank = copy_spacing($opline);
+                       my $last_after = -1;
 
                        for (my $n = 0; $n < $#elements; $n += 2) {
+
+                               my $good = $fix_elements[$n] . $fix_elements[$n + 1];
+
+##                             print("n: <$n> good: <$good>\n");
+
                                $off += length($elements[$n]);
 
                                # Pick up the preceding and succeeding characters.
@@ -2519,27 +3482,43 @@ sub process {
                                } elsif ($op eq ';') {
                                        if ($ctx !~ /.x[WEBC]/ &&
                                            $cc !~ /^\\/ && $cc !~ /^;/) {
-                                               ERROR("SPACING",
-                                                     "space required after that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space required after that '$op' $at\n" . $hereptr)) {
+                                                       $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " ";
+                                                       $line_fixed = 1;
+                                               }
                                        }
 
                                # // is a comment
                                } elsif ($op eq '//') {
 
+                               #   :   when part of a bitfield
+                               } elsif ($opv eq ':B') {
+                                       # skip the bitfield test for now
+
                                # No spaces for:
                                #   ->
-                               #   :   when part of a bitfield
-                               } elsif ($op eq '->' || $opv eq ':B') {
+                               } elsif ($op eq '->') {
                                        if ($ctx =~ /Wx.|.xW/) {
-                                               ERROR("SPACING",
-                                                     "spaces prohibited around that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "spaces prohibited around that '$op' $at\n" . $hereptr)) {
+                                                       $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]);
+                                                       if (defined $fix_elements[$n + 2]) {
+                                                               $fix_elements[$n + 2] =~ s/^\s+//;
+                                                       }
+                                                       $line_fixed = 1;
+                                               }
                                        }
 
                                # , must have a space on the right.
                                } elsif ($op eq ',') {
                                        if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/) {
-                                               ERROR("SPACING",
-                                                     "space required after that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space required after that '$op' $at\n" . $hereptr)) {
+                                                       $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " ";
+                                                       $line_fixed = 1;
+                                                       $last_after = $n;
+                                               }
                                        }
 
                                # '*' as part of a type definition -- reported already.
@@ -2553,34 +3532,56 @@ sub process {
                                         $opv eq '*U' || $opv eq '-U' ||
                                         $opv eq '&U' || $opv eq '&&U') {
                                        if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) {
-                                               ERROR("SPACING",
-                                                     "space required before that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space required before that '$op' $at\n" . $hereptr)) {
+                                                       if ($n != $last_after + 2) {
+                                                               $good = $fix_elements[$n] . " " . ltrim($fix_elements[$n + 1]);
+                                                               $line_fixed = 1;
+                                                       }
+                                               }
                                        }
                                        if ($op eq '*' && $cc =~/\s*$Modifier\b/) {
                                                # A unary '*' may be const
 
                                        } elsif ($ctx =~ /.xW/) {
-                                               ERROR("SPACING",
-                                                     "space prohibited after that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space prohibited after that '$op' $at\n" . $hereptr)) {
+                                                       $good = $fix_elements[$n] . rtrim($fix_elements[$n + 1]);
+                                                       if (defined $fix_elements[$n + 2]) {
+                                                               $fix_elements[$n + 2] =~ s/^\s+//;
+                                                       }
+                                                       $line_fixed = 1;
+                                               }
                                        }
 
                                # unary ++ and unary -- are allowed no space on one side.
                                } elsif ($op eq '++' or $op eq '--') {
                                        if ($ctx !~ /[WEOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) {
-                                               ERROR("SPACING",
-                                                     "space required one side of that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space required one side of that '$op' $at\n" . $hereptr)) {
+                                                       $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " ";
+                                                       $line_fixed = 1;
+                                               }
                                        }
                                        if ($ctx =~ /Wx[BE]/ ||
                                            ($ctx =~ /Wx./ && $cc =~ /^;/)) {
-                                               ERROR("SPACING",
-                                                     "space prohibited before that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space prohibited before that '$op' $at\n" . $hereptr)) {
+                                                       $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]);
+                                                       $line_fixed = 1;
+                                               }
                                        }
                                        if ($ctx =~ /ExW/) {
-                                               ERROR("SPACING",
-                                                     "space prohibited after that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space prohibited after that '$op' $at\n" . $hereptr)) {
+                                                       $good = $fix_elements[$n] . trim($fix_elements[$n + 1]);
+                                                       if (defined $fix_elements[$n + 2]) {
+                                                               $fix_elements[$n + 2] =~ s/^\s+//;
+                                                       }
+                                                       $line_fixed = 1;
+                                               }
                                        }
 
-
                                # << and >> may either have or not have spaces both sides
                                } elsif ($op eq '<<' or $op eq '>>' or
                                         $op eq '&' or $op eq '^' or $op eq '|' or
@@ -2589,17 +3590,25 @@ sub process {
                                         $op eq '%')
                                {
                                        if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) {
-                                               ERROR("SPACING",
-                                                     "need consistent spacing around '$op' $at\n" .
-                                                       $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "need consistent spacing around '$op' $at\n" . $hereptr)) {
+                                                       $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " ";
+                                                       if (defined $fix_elements[$n + 2]) {
+                                                               $fix_elements[$n + 2] =~ s/^\s+//;
+                                                       }
+                                                       $line_fixed = 1;
+                                               }
                                        }
 
                                # A colon needs no spaces before when it is
                                # terminating a case value or a label.
                                } elsif ($opv eq ':C' || $opv eq ':L') {
                                        if ($ctx =~ /Wx./) {
-                                               ERROR("SPACING",
-                                                     "space prohibited before that '$op' $at\n" . $hereptr);
+                                               if (ERROR("SPACING",
+                                                         "space prohibited before that '$op' $at\n" . $hereptr)) {
+                                                       $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]);
+                                                       $line_fixed = 1;
+                                               }
                                        }
 
                                # All the others need spaces both sides.
@@ -2615,18 +3624,46 @@ sub process {
                                                $ok = 1;
                                        }
 
-                                       # Ignore ?:
-                                       if (($opv eq ':O' && $ca =~ /\?$/) ||
-                                           ($op eq '?' && $cc =~ /^:/)) {
-                                               $ok = 1;
-                                       }
-
+                                       # messages are ERROR, but ?: are CHK
                                        if ($ok == 0) {
-                                               ERROR("SPACING",
-                                                     "spaces required around that '$op' $at\n" . $hereptr);
+                                               my $msg_type = \&ERROR;
+                                               $msg_type = \&CHK if (($op eq '?:' || $op eq '?' || $op eq ':') && $ctx =~ /VxV/);
+
+                                               if (&{$msg_type}("SPACING",
+                                                                "spaces required around that '$op' $at\n" . $hereptr)) {
+                                                       $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " ";
+                                                       if (defined $fix_elements[$n + 2]) {
+                                                               $fix_elements[$n + 2] =~ s/^\s+//;
+                                                       }
+                                                       $line_fixed = 1;
+                                               }
                                        }
                                }
                                $off += length($elements[$n + 1]);
+
+##                             print("n: <$n> GOOD: <$good>\n");
+
+                               $fixed_line = $fixed_line . $good;
+                       }
+
+                       if (($#elements % 2) == 0) {
+                               $fixed_line = $fixed_line . $fix_elements[$#elements];
+                       }
+
+                       if ($fix && $line_fixed && $fixed_line ne $fixed[$fixlinenr]) {
+                               $fixed[$fixlinenr] = $fixed_line;
+                       }
+
+
+               }
+
+# check for whitespace before a non-naked semicolon
+               if ($line =~ /^\+.*\S\s+;\s*$/) {
+                       if (WARN("SPACING",
+                                "space prohibited before semicolon\n" . $herecurr) &&
+                           $fix) {
+                               1 while $fixed[$fixlinenr] =~
+                                   s/^(\+.*\S)\s+;/$1;/;
                        }
                }
 
@@ -2655,71 +3692,134 @@ sub process {
 #need space before brace following if, while, etc
                if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) ||
                    $line =~ /do{/) {
-                       ERROR("SPACING",
-                             "space required before the open brace '{'\n" . $herecurr);
+                       if (ERROR("SPACING",
+                                 "space required before the open brace '{'\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/^(\+.*(?:do|\))){/$1 {/;
+                       }
                }
 
+## # check for blank lines before declarations
+##             if ($line =~ /^.\t+$Type\s+$Ident(?:\s*=.*)?;/ &&
+##                 $prevrawline =~ /^.\s*$/) {
+##                     WARN("SPACING",
+##                          "No blank lines before declarations\n" . $hereprev);
+##             }
+##
+
 # closing brace should have a space following it when it has anything
 # on the line
                if ($line =~ /}(?!(?:,|;|\)))\S/) {
-                       ERROR("SPACING",
-                             "space required after that close brace '}'\n" . $herecurr);
+                       if (ERROR("SPACING",
+                                 "space required after that close brace '}'\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/}((?!(?:,|;|\)))\S)/} $1/;
+                       }
                }
 
 # check spacing on square brackets
                if ($line =~ /\[\s/ && $line !~ /\[\s*$/) {
-                       ERROR("SPACING",
-                             "space prohibited after that open square bracket '['\n" . $herecurr);
+                       if (ERROR("SPACING",
+                                 "space prohibited after that open square bracket '['\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/\[\s+/\[/;
+                       }
                }
                if ($line =~ /\s\]/) {
-                       ERROR("SPACING",
-                             "space prohibited before that close square bracket ']'\n" . $herecurr);
+                       if (ERROR("SPACING",
+                                 "space prohibited before that close square bracket ']'\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/\s+\]/\]/;
+                       }
                }
 
 # check spacing on parentheses
                if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ &&
                    $line !~ /for\s*\(\s+;/) {
-                       ERROR("SPACING",
-                             "space prohibited after that open parenthesis '('\n" . $herecurr);
+                       if (ERROR("SPACING",
+                                 "space prohibited after that open parenthesis '('\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/\(\s+/\(/;
+                       }
                }
                if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ &&
                    $line !~ /for\s*\(.*;\s+\)/ &&
                    $line !~ /:\s+\)/) {
-                       ERROR("SPACING",
-                             "space prohibited before that close parenthesis ')'\n" . $herecurr);
+                       if (ERROR("SPACING",
+                                 "space prohibited before that close parenthesis ')'\n" . $herecurr) &&
+                           $fix) {
+                               print("fixlinenr: <$fixlinenr> fixed[fixlinenr]: <$fixed[$fixlinenr]>\n");
+                               $fixed[$fixlinenr] =~
+                                   s/\s+\)/\)/;
+                       }
                }
 
+# check unnecessary parentheses around addressof/dereference single $Lvals
+# ie: &(foo->bar) should be &foo->bar and *(foo->bar) should be *foo->bar
+
+               while ($line =~ /(?:[^&]&\s*|\*)\(\s*($Ident\s*(?:$Member\s*)+)\s*\)/g) {
+                       CHK("UNNECESSARY_PARENTHESES",
+                           "Unnecessary parentheses around $1\n" . $herecurr);
+                   }
+
 #goto labels aren't indented, allow a single space however
                if ($line=~/^.\s+[A-Za-z\d_]+:(?![0-9]+)/ and
                   !($line=~/^. [A-Za-z\d_]+:/) and !($line=~/^.\s+default:/)) {
-                       WARN("INDENTED_LABEL",
-                            "labels should not be indented\n" . $herecurr);
+                       if (WARN("INDENTED_LABEL",
+                                "labels should not be indented\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/^(.)\s+/$1/;
+                       }
                }
 
-# Return is not a function.
-               if (defined($stat) && $stat =~ /^.\s*return(\s*)(\(.*);/s) {
+# return is not a function
+               if (defined($stat) && $stat =~ /^.\s*return(\s*)\(/s) {
                        my $spacing = $1;
-                       my $value = $2;
-
-                       # Flatten any parentheses
-                       $value =~ s/\(/ \(/g;
-                       $value =~ s/\)/\) /g;
-                       while ($value =~ s/\[[^\[\]]*\]/1/ ||
-                              $value !~ /(?:$Ident|-?$Constant)\s*
-                                            $Compare\s*
-                                            (?:$Ident|-?$Constant)/x &&
-                              $value =~ s/\([^\(\)]*\)/1/) {
-                       }
-#print "value<$value>\n";
-                       if ($value =~ /^\s*(?:$Ident|-?$Constant)\s*$/) {
-                               ERROR("RETURN_PARENTHESES",
-                                     "return is not a function, parentheses are not required\n" . $herecurr);
-
+                       if ($^V && $^V ge 5.10.0 &&
+                           $stat =~ /^.\s*return\s*($balanced_parens)\s*;\s*$/) {
+                               my $value = $1;
+                               $value = deparenthesize($value);
+                               if ($value =~ m/^\s*$FuncArg\s*(?:\?|$)/) {
+                                       ERROR("RETURN_PARENTHESES",
+                                             "return is not a function, parentheses are not required\n" . $herecurr);
+                               }
                        } elsif ($spacing !~ /\s+/) {
                                ERROR("SPACING",
                                      "space required before the open parenthesis '('\n" . $herecurr);
                        }
                }
+
+# unnecessary return in a void function
+# at end-of-function, with the previous line a single leading tab, then return;
+# and the line before that not a goto label target like "out:"
+               if ($sline =~ /^[ \+]}\s*$/ &&
+                   $prevline =~ /^\+\treturn\s*;\s*$/ &&
+                   $linenr >= 3 &&
+                   $lines[$linenr - 3] =~ /^[ +]/ &&
+                   $lines[$linenr - 3] !~ /^[ +]\s*$Ident\s*:/) {
+                       WARN("RETURN_VOID",
+                            "void function return statements are not generally useful\n" . $hereprev);
+               }
+
+# if statements using unnecessary parentheses - ie: if ((foo == bar))
+               if ($^V && $^V ge 5.10.0 &&
+                   $line =~ /\bif\s*((?:\(\s*){2,})/) {
+                       my $openparens = $1;
+                       my $count = $openparens =~ tr@\(@\(@;
+                       my $msg = "";
+                       if ($line =~ /\bif\s*(?:\(\s*){$count,$count}$LvalOrFunc\s*($Compare)\s*$LvalOrFunc(?:\s*\)){$count,$count}/) {
+                               my $comp = $4;  #Not $1 because of $LvalOrFunc
+                               $msg = " - maybe == should be = ?" if ($comp eq "==");
+                               WARN("UNNECESSARY_PARENTHESES",
+                                    "Unnecessary parentheses$msg\n" . $herecurr);
+                       }
+               }
+
 # Return of what appears to be an errno should normally be -'ve
                if ($line =~ /^.\s*return\s*(E[A-Z]*)\s*;/) {
                        my $name = $1;
@@ -2730,8 +3830,13 @@ sub process {
                }
 
 # Need a space before open parenthesis after if, while etc
-               if ($line=~/\b(if|while|for|switch)\(/) {
-                       ERROR("SPACING", "space required before the open parenthesis '('\n" . $herecurr);
+               if ($line =~ /\b(if|while|for|switch)\(/) {
+                       if (ERROR("SPACING",
+                                 "space required before the open parenthesis '('\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/\b(if|while|for|switch)\(/$1 \(/;
+                       }
                }
 
 # Check for illegal assignment in if conditional -- and check for trailing
@@ -2758,6 +3863,7 @@ sub process {
                        }
                }
                if (!defined $suppress_whiletrailers{$linenr} &&
+                   defined($stat) && defined($cond) &&
                    $line =~ /\b(?:if|while|for)\s*\(/ && $line !~ /^.\s*#/) {
                        my ($s, $c) = ($stat, $cond);
 
@@ -2818,7 +3924,7 @@ sub process {
 # if should not continue a brace
                if ($line =~ /}\s*if\b/) {
                        ERROR("TRAILING_STATEMENTS",
-                             "trailing statements should be on next line\n" .
+                             "trailing statements should be on next line (or did you mean 'else if'?)\n" .
                                $herecurr);
                }
 # case and default should not have general statements after them
@@ -2834,14 +3940,26 @@ sub process {
 
                # Check for }<nl>else {, these must be at the same
                # indent level to be relevant to each other.
-               if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and
-                                               $previndent == $indent) {
-                       ERROR("ELSE_AFTER_BRACE",
-                             "else should follow close brace '}'\n" . $hereprev);
+               if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ &&
+                   $previndent == $indent) {
+                       if (ERROR("ELSE_AFTER_BRACE",
+                                 "else should follow close brace '}'\n" . $hereprev) &&
+                           $fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
+                               fix_delete_line($fixlinenr - 1, $prevrawline);
+                               fix_delete_line($fixlinenr, $rawline);
+                               my $fixedline = $prevrawline;
+                               $fixedline =~ s/}\s*$//;
+                               if ($fixedline !~ /^\+\s*$/) {
+                                       fix_insert_line($fixlinenr, $fixedline);
+                               }
+                               $fixedline = $rawline;
+                               $fixedline =~ s/^(.\s*)else/$1} else/;
+                               fix_insert_line($fixlinenr, $fixedline);
+                       }
                }
 
-               if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ and
-                                               $previndent == $indent) {
+               if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ &&
+                   $previndent == $indent) {
                        my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0);
 
                        # Find out what is on the end of the line after the
@@ -2850,22 +3968,69 @@ sub process {
                        $s =~ s/\n.*//g;
 
                        if ($s =~ /^\s*;/) {
-                               ERROR("WHILE_AFTER_BRACE",
-                                     "while should follow close brace '}'\n" . $hereprev);
+                               if (ERROR("WHILE_AFTER_BRACE",
+                                         "while should follow close brace '}'\n" . $hereprev) &&
+                                   $fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
+                                       fix_delete_line($fixlinenr - 1, $prevrawline);
+                                       fix_delete_line($fixlinenr, $rawline);
+                                       my $fixedline = $prevrawline;
+                                       my $trailing = $rawline;
+                                       $trailing =~ s/^\+//;
+                                       $trailing = trim($trailing);
+                                       $fixedline =~ s/}\s*$/} $trailing/;
+                                       fix_insert_line($fixlinenr, $fixedline);
+                               }
                        }
                }
 
-#studly caps, commented out until figure out how to distinguish between use of existing and adding new
-#              if (($line=~/[\w_][a-z\d]+[A-Z]/) and !($line=~/print/)) {
-#                  print "No studly caps, use _\n";
-#                  print "$herecurr";
-#                  $clean = 0;
-#              }
+#Specific variable tests
+               while ($line =~ m{($Constant|$Lval)}g) {
+                       my $var = $1;
+
+#gcc binary extension
+                       if ($var =~ /^$Binary$/) {
+                               if (WARN("GCC_BINARY_CONSTANT",
+                                        "Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr) &&
+                                   $fix) {
+                                       my $hexval = sprintf("0x%x", oct($var));
+                                       $fixed[$fixlinenr] =~
+                                           s/\b$var\b/$hexval/;
+                               }
+                       }
+
+#CamelCase
+                       if ($var !~ /^$Constant$/ &&
+                           $var =~ /[A-Z][a-z]|[a-z][A-Z]/ &&
+#Ignore Page<foo> variants
+                           $var !~ /^(?:Clear|Set|TestClear|TestSet|)Page[A-Z]/ &&
+#Ignore SI style variants like nS, mV and dB (ie: max_uV, regulator_min_uA_show)
+                           $var !~ /^(?:[a-z_]*?)_?[a-z][A-Z](?:_[a-z_]+)?$/) {
+                               while ($var =~ m{($Ident)}g) {
+                                       my $word = $1;
+                                       next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/);
+                                       if ($check) {
+                                               seed_camelcase_includes();
+                                               if (!$file && !$camelcase_file_seeded) {
+                                                       seed_camelcase_file($realfile);
+                                                       $camelcase_file_seeded = 1;
+                                               }
+                                       }
+                                       if (!defined $camelcase{$word}) {
+                                               $camelcase{$word} = 1;
+                                               CHK("CAMELCASE",
+                                                   "Avoid CamelCase: <$word>\n" . $herecurr);
+                                       }
+                               }
+                       }
+               }
 
 #no spaces allowed after \ in define
-               if ($line=~/\#\s*define.*\\\s$/) {
-                       WARN("WHITESPACE_AFTER_LINE_CONTINUATION",
-                            "Whitepspace after \\ makes next lines useless\n" . $herecurr);
+               if ($line =~ /\#\s*define.*\\\s+$/) {
+                       if (WARN("WHITESPACE_AFTER_LINE_CONTINUATION",
+                                "Whitespace after \\ makes next lines useless\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\s+$//;
+                       }
                }
 
 #warn if <asm/foo.h> is #included and <linux/foo.h> is available (uses RAW line)
@@ -2923,7 +4088,7 @@ sub process {
                        my $exceptions = qr{
                                $Declare|
                                module_param_named|
-                               MODULE_PARAM_DESC|
+                               MODULE_PARM_DESC|
                                DECLARE_PER_CPU|
                                DEFINE_PER_CPU|
                                __typeof__\(|
@@ -2936,15 +4101,17 @@ sub process {
                        if ($dstat ne '' &&
                            $dstat !~ /^(?:$Ident|-?$Constant),$/ &&                    # 10, // foo(),
                            $dstat !~ /^(?:$Ident|-?$Constant);$/ &&                    # foo();
-                           $dstat !~ /^[!~-]?(?:$Ident|$Constant)$/ &&         # 10 // foo() // !foo // ~foo // -foo
-                           $dstat !~ /^'X'$/ &&                                        # character constants
+                           $dstat !~ /^[!~-]?(?:$Lval|$Constant)$/ &&          # 10 // foo() // !foo // ~foo // -foo // foo->bar // foo.bar->baz
+                           $dstat !~ /^'X'$/ && $dstat !~ /^'XX'$/ &&                  # character constants
                            $dstat !~ /$exceptions/ &&
                            $dstat !~ /^\.$Ident\s*=/ &&                                # .foo =
+                           $dstat !~ /^(?:\#\s*$Ident|\#\s*$Constant)\s*$/ &&          # stringification #foo
                            $dstat !~ /^do\s*$Constant\s*while\s*$Constant;?$/ &&       # do {...} while (...); // do {...} while (...)
                            $dstat !~ /^for\s*$Constant$/ &&                            # for (...)
                            $dstat !~ /^for\s*$Constant\s+(?:$Ident|-?$Constant)$/ &&   # for (...) bar()
                            $dstat !~ /^do\s*{/ &&                                      # do {...
-                           $dstat !~ /^\({/)                                           # ({...
+                           $dstat !~ /^\({/ &&                                         # ({...
+                           $ctx !~ /^.\s*#\s*define\s+TRACE_(?:SYSTEM|INCLUDE_FILE|INCLUDE_PATH)\b/)
                        {
                                $ctx =~ s/\n*$//;
                                my $herectx = $here . "\n";
@@ -2962,6 +4129,68 @@ sub process {
                                              "Macros with complex values should be enclosed in parenthesis\n" . "$herectx");
                                }
                        }
+
+# check for line continuations outside of #defines, preprocessor #, and asm
+
+               } else {
+                       if ($prevline !~ /^..*\\$/ &&
+                           $line !~ /^\+\s*\#.*\\$/ &&         # preprocessor
+                           $line !~ /^\+.*\b(__asm__|asm)\b.*\\$/ &&   # asm
+                           $line =~ /^\+.*\\$/) {
+                               WARN("LINE_CONTINUATIONS",
+                                    "Avoid unnecessary line continuations\n" . $herecurr);
+                       }
+               }
+
+# do {} while (0) macro tests:
+# single-statement macros do not need to be enclosed in do while (0) loop,
+# macro should not end with a semicolon
+               if ($^V && $^V ge 5.10.0 &&
+                   $realfile !~ m@/vmlinux.lds.h$@ &&
+                   $line =~ /^.\s*\#\s*define\s+$Ident(\()?/) {
+                       my $ln = $linenr;
+                       my $cnt = $realcnt;
+                       my ($off, $dstat, $dcond, $rest);
+                       my $ctx = '';
+                       ($dstat, $dcond, $ln, $cnt, $off) =
+                               ctx_statement_block($linenr, $realcnt, 0);
+                       $ctx = $dstat;
+
+                       $dstat =~ s/\\\n.//g;
+
+                       if ($dstat =~ /^\+\s*#\s*define\s+$Ident\s*${balanced_parens}\s*do\s*{(.*)\s*}\s*while\s*\(\s*0\s*\)\s*([;\s]*)\s*$/) {
+                               my $stmts = $2;
+                               my $semis = $3;
+
+                               $ctx =~ s/\n*$//;
+                               my $cnt = statement_rawlines($ctx);
+                               my $herectx = $here . "\n";
+
+                               for (my $n = 0; $n < $cnt; $n++) {
+                                       $herectx .= raw_line($linenr, $n) . "\n";
+                               }
+
+                               if (($stmts =~ tr/;/;/) == 1 &&
+                                   $stmts !~ /^\s*(if|while|for|switch)\b/) {
+                                       WARN("SINGLE_STATEMENT_DO_WHILE_MACRO",
+                                            "Single statement macros should not use a do {} while (0) loop\n" . "$herectx");
+                               }
+                               if (defined $semis && $semis ne "") {
+                                       WARN("DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON",
+                                            "do {} while (0) macros should not be semicolon terminated\n" . "$herectx");
+                               }
+                       } elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/) {
+                               $ctx =~ s/\n*$//;
+                               my $cnt = statement_rawlines($ctx);
+                               my $herectx = $here . "\n";
+
+                               for (my $n = 0; $n < $cnt; $n++) {
+                                       $herectx .= raw_line($linenr, $n) . "\n";
+                               }
+
+                               WARN("TRAILING_SEMICOLON",
+                                    "macros should not use a trailing semicolon\n" . "$herectx");
+                       }
                }
 
 # make sure symbols are always wrapped with VMLINUX_SYMBOL() ...
@@ -3092,20 +4321,14 @@ sub process {
                        }
                }
 
-# don't include deprecated include files (uses RAW line)
-               for my $inc (@dep_includes) {
-                       if ($rawline =~ m@^.\s*\#\s*include\s*\<$inc>@) {
-                               ERROR("DEPRECATED_INCLUDE",
-                                     "Don't use <$inc>: see Documentation/feature-removal-schedule.txt\n" . $herecurr);
-                       }
+# check for unnecessary blank lines around braces
+               if (($line =~ /^.\s*}\s*$/ && $prevrawline =~ /^.\s*$/)) {
+                       CHK("BRACES",
+                           "Blank lines aren't necessary before a close brace '}'\n" . $hereprev);
                }
-
-# don't use deprecated functions
-               for my $func (@dep_functions) {
-                       if ($line =~ /\b$func\b/) {
-                               ERROR("DEPRECATED_FUNCTION",
-                                     "Don't use $func(): see Documentation/feature-removal-schedule.txt\n" . $herecurr);
-                       }
+               if (($rawline =~ /^.\s*$/ && $prevline =~ /^..*{\s*$/)) {
+                       CHK("BRACES",
+                           "Blank lines aren't necessary after an open brace '{'\n" . $hereprev);
                }
 
 # no volatiles please
@@ -3122,29 +4345,103 @@ sub process {
                                $herecurr);
                }
 
-# check for needless kfree() checks
-               if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
-                       my $expr = $1;
-                       if ($line =~ /\bkfree\(\Q$expr\E\);/) {
-                               WARN("NEEDLESS_KFREE",
-                                    "kfree(NULL) is safe this check is probably not required\n" . $hereprev);
+# check for needless "if (<foo>) fn(<foo>)" uses
+               if ($prevline =~ /\bif\s*\(\s*($Lval)\s*\)/) {
+                       my $expr = '\s*\(\s*' . quotemeta($1) . '\s*\)\s*;';
+                       if ($line =~ /\b(kfree|usb_free_urb|debugfs_remove(?:_recursive)?)$expr/) {
+                               WARN('NEEDLESS_IF',
+                                    "$1(NULL) is safe this check is probably not required\n" . $hereprev);
+                       }
+               }
+
+# check for unnecessary "Out of Memory" messages
+               if ($line =~ /^\+.*\b$logFunctions\s*\(/ &&
+                   $prevline =~ /^[ \+]\s*if\s*\(\s*(\!\s*|NULL\s*==\s*)?($Lval)(\s*==\s*NULL\s*)?\s*\)/ &&
+                   (defined $1 || defined $3) &&
+                   $linenr > 3) {
+                       my $testval = $2;
+                       my $testline = $lines[$linenr - 3];
+
+                       my ($s, $c) = ctx_statement_block($linenr - 3, $realcnt, 0);
+#                      print("line: <$line>\nprevline: <$prevline>\ns: <$s>\nc: <$c>\n\n\n");
+
+                       if ($c =~ /(?:^|\n)[ \+]\s*(?:$Type\s*)?\Q$testval\E\s*=\s*(?:\([^\)]*\)\s*)?\s*(?:devm_)?(?:[kv][czm]alloc(?:_node|_array)?\b|kstrdup|(?:dev_)?alloc_skb)/) {
+                               WARN("OOM_MESSAGE",
+                                    "Possible unnecessary 'out of memory' message\n" . $hereprev);
+                       }
+               }
+
+# check for bad placement of section $InitAttribute (e.g.: __initdata)
+               if ($line =~ /(\b$InitAttribute\b)/) {
+                       my $attr = $1;
+                       if ($line =~ /^\+\s*static\s+(?:const\s+)?(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*[=;]/) {
+                               my $ptr = $1;
+                               my $var = $2;
+                               if ((($ptr =~ /\b(union|struct)\s+$attr\b/ &&
+                                     ERROR("MISPLACED_INIT",
+                                           "$attr should be placed after $var\n" . $herecurr)) ||
+                                    ($ptr !~ /\b(union|struct)\s+$attr\b/ &&
+                                     WARN("MISPLACED_INIT",
+                                          "$attr should be placed after $var\n" . $herecurr))) &&
+                                   $fix) {
+                                       $fixed[$fixlinenr] =~ s/(\bstatic\s+(?:const\s+)?)(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*([=;])\s*/"$1" . trim(string_find_replace($2, "\\s*$attr\\s*", " ")) . " " . trim(string_find_replace($3, "\\s*$attr\\s*", "")) . " $attr" . ("$4" eq ";" ? ";" : " = ")/e;
+                               }
+                       }
+               }
+
+# check for $InitAttributeData (ie: __initdata) with const
+               if ($line =~ /\bconst\b/ && $line =~ /($InitAttributeData)/) {
+                       my $attr = $1;
+                       $attr =~ /($InitAttributePrefix)(.*)/;
+                       my $attr_prefix = $1;
+                       my $attr_type = $2;
+                       if (ERROR("INIT_ATTRIBUTE",
+                                 "Use of const init definition must use ${attr_prefix}initconst\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/$InitAttributeData/${attr_prefix}initconst/;
+                       }
+               }
+
+# check for $InitAttributeConst (ie: __initconst) without const
+               if ($line !~ /\bconst\b/ && $line =~ /($InitAttributeConst)/) {
+                       my $attr = $1;
+                       if (ERROR("INIT_ATTRIBUTE",
+                                 "Use of $attr requires a separate use of const\n" . $herecurr) &&
+                           $fix) {
+                               my $lead = $fixed[$fixlinenr] =~
+                                   /(^\+\s*(?:static\s+))/;
+                               $lead = rtrim($1);
+                               $lead = "$lead " if ($lead !~ /^\+$/);
+                               $lead = "${lead}const ";
+                               $fixed[$fixlinenr] =~ s/(^\+\s*(?:static\s+))/$lead/;
                        }
                }
-# check for needless usb_free_urb() checks
-               if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
-                       my $expr = $1;
-                       if ($line =~ /\busb_free_urb\(\Q$expr\E\);/) {
-                               WARN("NEEDLESS_USB_FREE_URB",
-                                    "usb_free_urb(NULL) is safe this check is probably not required\n" . $hereprev);
+
+# don't use __constant_<foo> functions outside of include/uapi/
+               if ($realfile !~ m@^include/uapi/@ &&
+                   $line =~ /(__constant_(?:htons|ntohs|[bl]e(?:16|32|64)_to_cpu|cpu_to_[bl]e(?:16|32|64)))\s*\(/) {
+                       my $constant_func = $1;
+                       my $func = $constant_func;
+                       $func =~ s/^__constant_//;
+                       if (WARN("CONSTANT_CONVERSION",
+                                "$constant_func should be $func\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\b$constant_func\b/$func/g;
                        }
                }
 
 # prefer usleep_range over udelay
-               if ($line =~ /\budelay\s*\(\s*(\w+)\s*\)/) {
+               if ($line =~ /\budelay\s*\(\s*(\d+)\s*\)/) {
+                       my $delay = $1;
                        # ignore udelay's < 10, however
-                       if (! (($1 =~ /(\d+)/) && ($1 < 10)) ) {
+                       if (! ($delay < 10) ) {
                                CHK("USLEEP_RANGE",
-                                   "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $line);
+                                   "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $herecurr);
+                       }
+                       if ($delay > 2000) {
+                               WARN("LONG_UDELAY",
+                                    "long udelay - prefer mdelay; see arch/arm/include/asm/delay.h\n" . $herecurr);
                        }
                }
 
@@ -3152,10 +4449,22 @@ sub process {
                if ($line =~ /\bmsleep\s*\((\d+)\);/) {
                        if ($1 < 20) {
                                WARN("MSLEEP",
-                                    "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $line);
+                                    "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $herecurr);
                        }
                }
 
+# check for comparisons of jiffies
+               if ($line =~ /\bjiffies\s*$Compare|$Compare\s*jiffies\b/) {
+                       WARN("JIFFIES_COMPARISON",
+                            "Comparing jiffies is almost always wrong; prefer time_after, time_before and friends\n" . $herecurr);
+               }
+
+# check for comparisons of get_jiffies_64()
+               if ($line =~ /\bget_jiffies_64\s*\(\s*\)\s*$Compare|$Compare\s*get_jiffies_64\s*\(\s*\)/) {
+                       WARN("JIFFIES_COMPARISON",
+                            "Comparing get_jiffies_64() is almost always wrong; prefer time_after64, time_before64 and friends\n" . $herecurr);
+               }
+
 # warn about #ifdefs in C files
 #              if ($line =~ /^.\s*\#\s*if(|n)def/ && ($realfile =~ /\.c$/)) {
 #                      print "#ifdef in C files should be avoided\n";
@@ -3165,8 +4474,13 @@ sub process {
 
 # warn about spacing in #ifdefs
                if ($line =~ /^.\s*\#\s*(ifdef|ifndef|elif)\s\s+/) {
-                       ERROR("SPACING",
-                             "exactly one space required after that #$1\n" . $herecurr);
+                       if (ERROR("SPACING",
+                                 "exactly one space required after that #$1\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~
+                                   s/^(.\s*\#\s*(ifdef|ifndef|elif))\s{2,}/$1 /;
+                       }
+
                }
 
 # check for spinlock_t definitions without a comment.
@@ -3181,8 +4495,8 @@ sub process {
 # check for memory barriers without a comment.
                if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
                        if (!ctx_has_comment($first_line, $linenr)) {
-                               CHK("MEMORY_BARRIER",
-                                   "memory barrier without comment\n" . $herecurr);
+                               WARN("MEMORY_BARRIER",
+                                    "memory barrier without comment\n" . $herecurr);
                        }
                }
 # check of hardware specific defines
@@ -3206,33 +4520,49 @@ sub process {
                }
 
 # Check for __inline__ and __inline, prefer inline
-               if ($line =~ /\b(__inline__|__inline)\b/) {
-                       WARN("INLINE",
-                            "plain inline is preferred over $1\n" . $herecurr);
+               if ($realfile !~ m@\binclude/uapi/@ &&
+                   $line =~ /\b(__inline__|__inline)\b/) {
+                       if (WARN("INLINE",
+                                "plain inline is preferred over $1\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\b(__inline__|__inline)\b/inline/;
+
+                       }
                }
 
 # Check for __attribute__ packed, prefer __packed
-               if ($line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) {
+               if ($realfile !~ m@\binclude/uapi/@ &&
+                   $line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) {
                        WARN("PREFER_PACKED",
                             "__packed is preferred over __attribute__((packed))\n" . $herecurr);
                }
 
 # Check for __attribute__ aligned, prefer __aligned
-               if ($line =~ /\b__attribute__\s*\(\s*\(.*aligned/) {
+               if ($realfile !~ m@\binclude/uapi/@ &&
+                   $line =~ /\b__attribute__\s*\(\s*\(.*aligned/) {
                        WARN("PREFER_ALIGNED",
                             "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr);
                }
 
 # Check for __attribute__ format(printf, prefer __printf
-               if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) {
-                       WARN("PREFER_PRINTF",
-                            "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr);
+               if ($realfile !~ m@\binclude/uapi/@ &&
+                   $line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) {
+                       if (WARN("PREFER_PRINTF",
+                                "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.*)\)\s*\)\s*\)/"__printf(" . trim($1) . ")"/ex;
+
+                       }
                }
 
 # Check for __attribute__ format(scanf, prefer __scanf
-               if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\b/) {
-                       WARN("PREFER_SCANF",
-                            "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr);
+               if ($realfile !~ m@\binclude/uapi/@ &&
+                   $line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\b/) {
+                       if (WARN("PREFER_SCANF",
+                                "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\s*,\s*(.*)\)\s*\)\s*\)/"__scanf(" . trim($1) . ")"/ex;
+                       }
                }
 
 # check for sizeof(&)
@@ -3241,12 +4571,39 @@ sub process {
                             "sizeof(& should be avoided\n" . $herecurr);
                }
 
+# check for sizeof without parenthesis
+               if ($line =~ /\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/) {
+                       if (WARN("SIZEOF_PARENTHESIS",
+                                "sizeof $1 should be sizeof($1)\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/"sizeof(" . trim($1) . ")"/ex;
+                       }
+               }
+
 # check for line continuations in quoted strings with odd counts of "
                if ($rawline =~ /\\$/ && $rawline =~ tr/"/"/ % 2) {
                        WARN("LINE_CONTINUATIONS",
                             "Avoid line continuations in quoted strings\n" . $herecurr);
                }
 
+# check for struct spinlock declarations
+               if ($line =~ /^.\s*\bstruct\s+spinlock\s+\w+\s*;/) {
+                       WARN("USE_SPINLOCK_T",
+                            "struct spinlock should be spinlock_t\n" . $herecurr);
+               }
+
+# check for seq_printf uses that could be seq_puts
+               if ($sline =~ /\bseq_printf\s*\(.*"\s*\)\s*;\s*$/) {
+                       my $fmt = get_quoted_string($line, $rawline);
+                       if ($fmt ne "" && $fmt !~ /[^\\]\%/) {
+                               if (WARN("PREFER_SEQ_PUTS",
+                                        "Prefer seq_puts to seq_printf\n" . $herecurr) &&
+                                   $fix) {
+                                       $fixed[$fixlinenr] =~ s/\bseq_printf\b/seq_puts/;
+                               }
+                       }
+               }
+
 # Check for misused memsets
                if ($^V && $^V ge 5.10.0 &&
                    defined $stat &&
@@ -3265,6 +4622,16 @@ sub process {
                        }
                }
 
+# Check for memcpy(foo, bar, ETH_ALEN) that could be ether_addr_copy(foo, bar)
+               if ($^V && $^V ge 5.10.0 &&
+                   $line =~ /^\+(?:.*?)\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/s) {
+                       if (WARN("PREFER_ETHER_ADDR_COPY",
+                                "Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/ether_addr_copy($2, $7)/;
+                       }
+               }
+
 # typecasts on min/max could be min_t/max_t
                if ($^V && $^V ge 5.10.0 &&
                    defined $stat &&
@@ -3289,6 +4656,70 @@ sub process {
                        }
                }
 
+# check usleep_range arguments
+               if ($^V && $^V ge 5.10.0 &&
+                   defined $stat &&
+                   $stat =~ /^\+(?:.*?)\busleep_range\s*\(\s*($FuncArg)\s*,\s*($FuncArg)\s*\)/) {
+                       my $min = $1;
+                       my $max = $7;
+                       if ($min eq $max) {
+                               WARN("USLEEP_RANGE",
+                                    "usleep_range should not use min == max args; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");
+                       } elsif ($min =~ /^\d+$/ && $max =~ /^\d+$/ &&
+                                $min > $max) {
+                               WARN("USLEEP_RANGE",
+                                    "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");
+                       }
+               }
+
+# check for naked sscanf
+               if ($^V && $^V ge 5.10.0 &&
+                   defined $stat &&
+                   $line =~ /\bsscanf\b/ &&
+                   ($stat !~ /$Ident\s*=\s*sscanf\s*$balanced_parens/ &&
+                    $stat !~ /\bsscanf\s*$balanced_parens\s*(?:$Compare)/ &&
+                    $stat !~ /(?:$Compare)\s*\bsscanf\s*$balanced_parens/)) {
+                       my $lc = $stat =~ tr@\n@@;
+                       $lc = $lc + $linenr;
+                       my $stat_real = raw_line($linenr, 0);
+                       for (my $count = $linenr + 1; $count <= $lc; $count++) {
+                               $stat_real = $stat_real . "\n" . raw_line($count, 0);
+                       }
+                       WARN("NAKED_SSCANF",
+                            "unchecked sscanf return value\n" . "$here\n$stat_real\n");
+               }
+
+# check for simple sscanf that should be kstrto<foo>
+               if ($^V && $^V ge 5.10.0 &&
+                   defined $stat &&
+                   $line =~ /\bsscanf\b/) {
+                       my $lc = $stat =~ tr@\n@@;
+                       $lc = $lc + $linenr;
+                       my $stat_real = raw_line($linenr, 0);
+                       for (my $count = $linenr + 1; $count <= $lc; $count++) {
+                               $stat_real = $stat_real . "\n" . raw_line($count, 0);
+                       }
+                       if ($stat_real =~ /\bsscanf\b\s*\(\s*$FuncArg\s*,\s*("[^"]+")/) {
+                               my $format = $6;
+                               my $count = $format =~ tr@%@%@;
+                               if ($count == 1 &&
+                                   $format =~ /^"\%(?i:ll[udxi]|[udxi]ll|ll|[hl]h?[udxi]|[udxi][hl]h?|[hl]h?|[udxi])"$/) {
+                                       WARN("SSCANF_TO_KSTRTO",
+                                            "Prefer kstrto<type> to single variable sscanf\n" . "$here\n$stat_real\n");
+                               }
+                       }
+               }
+
+# check for new externs in .h files.
+               if ($realfile =~ /\.h$/ &&
+                   $line =~ /^\+\s*(extern\s+)$Type\s*$Ident\s*\(/s) {
+                       if (CHK("AVOID_EXTERNS",
+                               "extern prototypes should be avoided in .h files\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/(.*)\bextern\b\s*(.*)/$1$2/;
+                       }
+               }
+
 # check for new externs in .c files.
                if ($realfile =~ /\.c$/ && defined $stat &&
                    $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s)
@@ -3335,16 +4766,107 @@ sub process {
                             "unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr);
                }
 
+# alloc style
+# p = alloc(sizeof(struct foo), ...) should be p = alloc(sizeof(*p), ...)
+               if ($^V && $^V ge 5.10.0 &&
+                   $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*([kv][mz]alloc(?:_node)?)\s*\(\s*(sizeof\s*\(\s*struct\s+$Lval\s*\))/) {
+                       CHK("ALLOC_SIZEOF_STRUCT",
+                           "Prefer $3(sizeof(*$1)...) over $3($4...)\n" . $herecurr);
+               }
+
+# check for k[mz]alloc with multiplies that could be kmalloc_array/kcalloc
+               if ($^V && $^V ge 5.10.0 &&
+                   $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)\s*,/) {
+                       my $oldfunc = $3;
+                       my $a1 = $4;
+                       my $a2 = $10;
+                       my $newfunc = "kmalloc_array";
+                       $newfunc = "kcalloc" if ($oldfunc eq "kzalloc");
+                       my $r1 = $a1;
+                       my $r2 = $a2;
+                       if ($a1 =~ /^sizeof\s*\S/) {
+                               $r1 = $a2;
+                               $r2 = $a1;
+                       }
+                       if ($r1 !~ /^sizeof\b/ && $r2 =~ /^sizeof\s*\S/ &&
+                           !($r1 =~ /^$Constant$/ || $r1 =~ /^[A-Z_][A-Z0-9_]*$/)) {
+                               if (WARN("ALLOC_WITH_MULTIPLY",
+                                        "Prefer $newfunc over $oldfunc with multiply\n" . $herecurr) &&
+                                   $fix) {
+                                       $fixed[$fixlinenr] =~ s/\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)/$1 . ' = ' . "$newfunc(" . trim($r1) . ', ' . trim($r2)/e;
+
+                               }
+                       }
+               }
+
+# check for krealloc arg reuse
+               if ($^V && $^V ge 5.10.0 &&
+                   $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*krealloc\s*\(\s*\1\s*,/) {
+                       WARN("KREALLOC_ARG_REUSE",
+                            "Reusing the krealloc arg is almost always a bug\n" . $herecurr);
+               }
+
+# check for alloc argument mismatch
+               if ($line =~ /\b(kcalloc|kmalloc_array)\s*\(\s*sizeof\b/) {
+                       WARN("ALLOC_ARRAY_ARGS",
+                            "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr);
+               }
+
 # check for multiple semicolons
                if ($line =~ /;\s*;\s*$/) {
-                   WARN("ONE_SEMICOLON",
-                        "Statements terminations use 1 semicolon\n" . $herecurr);
+                       if (WARN("ONE_SEMICOLON",
+                                "Statements terminations use 1 semicolon\n" . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/(\s*;\s*){2,}$/;/g;
+                       }
+               }
+
+# check for case / default statements not preceded by break/fallthrough/switch
+               if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) {
+                       my $has_break = 0;
+                       my $has_statement = 0;
+                       my $count = 0;
+                       my $prevline = $linenr;
+                       while ($prevline > 1 && ($file || $count < 3) && !$has_break) {
+                               $prevline--;
+                               my $rline = $rawlines[$prevline - 1];
+                               my $fline = $lines[$prevline - 1];
+                               last if ($fline =~ /^\@\@/);
+                               next if ($fline =~ /^\-/);
+                               next if ($fline =~ /^.(?:\s*(?:case\s+(?:$Ident|$Constant)[\s$;]*|default):[\s$;]*)*$/);
+                               $has_break = 1 if ($rline =~ /fall[\s_-]*(through|thru)/i);
+                               next if ($fline =~ /^.[\s$;]*$/);
+                               $has_statement = 1;
+                               $count++;
+                               $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|return\b|goto\b|continue\b)/);
+                       }
+                       if (!$has_break && $has_statement) {
+                               WARN("MISSING_BREAK",
+                                    "Possible switch case/default not preceeded by break or fallthrough comment\n" . $herecurr);
+                       }
+               }
+
+# check for switch/default statements without a break;
+               if ($^V && $^V ge 5.10.0 &&
+                   defined $stat &&
+                   $stat =~ /^\+[$;\s]*(?:case[$;\s]+\w+[$;\s]*:[$;\s]*|)*[$;\s]*\bdefault[$;\s]*:[$;\s]*;/g) {
+                       my $ctx = '';
+                       my $herectx = $here . "\n";
+                       my $cnt = statement_rawlines($stat);
+                       for (my $n = 0; $n < $cnt; $n++) {
+                               $herectx .= raw_line($linenr, $n) . "\n";
+                       }
+                       WARN("DEFAULT_NO_BREAK",
+                            "switch default: should use break\n" . $herectx);
                }
 
 # check for gcc specific __FUNCTION__
-               if ($line =~ /__FUNCTION__/) {
-                       WARN("USE_FUNC",
-                            "__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
+               if ($line =~ /\b__FUNCTION__\b/) {
+                       if (WARN("USE_FUNC",
+                                "__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr) &&
+                           $fix) {
+                               $fixed[$fixlinenr] =~ s/\b__FUNCTION__\b/__func__/g;
+                       }
                }
 
 # check for use of yield()
@@ -3353,6 +4875,33 @@ sub process {
                             "Using yield() is generally wrong. See yield() kernel-doc (sched/core.c)\n"  . $herecurr);
                }
 
+# check for comparisons against true and false
+               if ($line =~ /\+\s*(.*?)\b(true|false|$Lval)\s*(==|\!=)\s*(true|false|$Lval)\b(.*)$/i) {
+                       my $lead = $1;
+                       my $arg = $2;
+                       my $test = $3;
+                       my $otype = $4;
+                       my $trail = $5;
+                       my $op = "!";
+
+                       ($arg, $otype) = ($otype, $arg) if ($arg =~ /^(?:true|false)$/i);
+
+                       my $type = lc($otype);
+                       if ($type =~ /^(?:true|false)$/) {
+                               if (("$test" eq "==" && "$type" eq "true") ||
+                                   ("$test" eq "!=" && "$type" eq "false")) {
+                                       $op = "";
+                               }
+
+                               CHK("BOOL_COMPARISON",
+                                   "Using comparison to $otype is error prone\n" . $herecurr);
+
+## maybe suggesting a correct construct would better
+##                                 "Using comparison to $otype is error prone.  Perhaps use '${lead}${op}${arg}${trail}'\n" . $herecurr);
+
+                       }
+               }
+
 # check for semaphores initialized locked
                if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) {
                        WARN("CONSIDER_COMPLETION",
@@ -3365,10 +4914,10 @@ sub process {
                             "$1 is obsolete, use k$3 instead\n" . $herecurr);
                }
 
-# check for __initcall(), use device_initcall() explicitly please
+# check for __initcall(), use device_initcall() explicitly or more appropriate function please
                if ($line =~ /^.\s*__initcall\s*\(/) {
                        WARN("USE_DEVICE_INITCALL",
-                            "please use device_initcall() instead of __initcall()\n" . $herecurr);
+                            "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr);
                }
 
 # check for various ops structs, ensure they are const.
@@ -3429,6 +4978,12 @@ sub process {
                             "usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc\n" . $herecurr);
                }
 
+# Use of __ARCH_HAS_<FOO> or ARCH_HAVE_<BAR> is wrong.
+               if ($line =~ /\+\s*#\s*define\s+((?:__)?ARCH_(?:HAS|HAVE)\w*)\b/) {
+                       ERROR("DEFINE_ARCH_HAS",
+                             "#define of '$1' is wrong - use Kconfig variables or standard guards instead\n" . $herecurr);
+               }
+
 # check for %L{u,d,i} in strings
                my $string;
                while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) {
@@ -3468,6 +5023,34 @@ sub process {
                        WARN("EXPORTED_WORLD_WRITABLE",
                             "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr);
                }
+
+# Mode permission misuses where it seems decimal should be octal
+# This uses a shortcut match to avoid unnecessary uses of a slow foreach loop
+               if ($^V && $^V ge 5.10.0 &&
+                   $line =~ /$mode_perms_search/) {
+                       foreach my $entry (@mode_permission_funcs) {
+                               my $func = $entry->[0];
+                               my $arg_pos = $entry->[1];
+
+                               my $skip_args = "";
+                               if ($arg_pos > 1) {
+                                       $arg_pos--;
+                                       $skip_args = "(?:\\s*$FuncArg\\s*,\\s*){$arg_pos,$arg_pos}";
+                               }
+                               my $test = "\\b$func\\s*\\(${skip_args}([\\d]+)\\s*[,\\)]";
+                               if ($line =~ /$test/) {
+                                       my $val = $1;
+                                       $val = $6 if ($skip_args ne "");
+
+                                       if ($val !~ /^0$/ &&
+                                           (($val =~ /^$Int$/ && $val !~ /^$Octal$/) ||
+                                            length($val) ne 4)) {
+                                               ERROR("NON_OCTAL_PERMISSIONS",
+                                                     "Use 4 digit octal (0777) not decimal permissions\n" . $herecurr);
+                                       }
+                               }
+                       }
+               }
        }
 
        # If we have no input at all, then there is nothing to report on
@@ -3522,12 +5105,46 @@ sub process {
                }
        }
 
-       if ($quiet == 0 && keys %ignore_type) {
-           print "NOTE: Ignored message types:";
-           foreach my $ignore (sort keys %ignore_type) {
-               print " $ignore";
-           }
-           print "\n\n";
+       hash_show_words(\%use_type, "Used");
+       hash_show_words(\%ignore_type, "Ignored");
+
+       if ($clean == 0 && $fix &&
+           ("@rawlines" ne "@fixed" ||
+            $#fixed_inserted >= 0 || $#fixed_deleted >= 0)) {
+               my $newfile = $filename;
+               $newfile .= ".EXPERIMENTAL-checkpatch-fixes" if (!$fix_inplace);
+               my $linecount = 0;
+               my $f;
+
+               @fixed = fix_inserted_deleted_lines(\@fixed, \@fixed_inserted, \@fixed_deleted);
+
+               open($f, '>', $newfile)
+                   or die "$P: Can't open $newfile for write\n";
+               foreach my $fixed_line (@fixed) {
+                       $linecount++;
+                       if ($file) {
+                               if ($linecount > 3) {
+                                       $fixed_line =~ s/^\+//;
+                                       print $f $fixed_line . "\n";
+                               }
+                       } else {
+                               print $f $fixed_line . "\n";
+                       }
+               }
+               close($f);
+
+               if (!$quiet) {
+                       print << "EOM";
+Wrote EXPERIMENTAL --fix correction(s) to '$newfile'
+
+Do _NOT_ trust the results written to this file.
+Do _NOT_ submit these changes without inspecting them for correctness.
+
+This EXPERIMENTAL file is simply a convenience to help rewrite patches.
+No warranties, expressed or implied...
+
+EOM
+               }
        }
 
        if ($clean == 1 && $quiet == 0) {
index 981e90d..3ce27f8 100644 (file)
@@ -59,7 +59,7 @@ static int test() {
        if (!test_fct(SENSOR_TYPE_LMSENSOR | SENSOR_TYPE_TEMP, 0, "\302\260F"))
                failures++;
 
-       if (!test_fct(SENSOR_TYPE_FAN, 0, _("RPM")))
+       if (!test_fct(SENSOR_TYPE_RPM, 0, _("RPM")))
                failures++;
 
        return failures;
index 1c1ad73..5d9a836 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \  ]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = www
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -97,12 +140,15 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(defaultwwwdir)"
 DATA = $(defaultwww_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@
 APPINDICATOR_LIBS = @APPINDICATOR_LIBS@
 AR = @AR@
+ASCIIDOC = @ASCIIDOC@
 ATASMART_CFLAGS = @ATASMART_CFLAGS@
 ATASMART_LIBS = @ATASMART_LIBS@
 AUTOCONF = @AUTOCONF@
@@ -124,15 +170,11 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GCONFTOOL = @GCONFTOOL@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_LIBS = @GCONF_LIBS@
-GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
-GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTOP_CFLAGS = @GTOP_CFLAGS@
@@ -159,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
 LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@
+LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
@@ -184,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 RANLIB = @RANLIB@
-SED = @SED@
 SENSORS_LIBS = @SENSORS_LIBS@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -199,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@
 XEXT_LIBS = @XEXT_LIBS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMKMF = @XMKMF@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -224,6 +266,7 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -319,11 +362,11 @@ uninstall-defaultwwwDATA:
        @list='$(defaultwww_DATA)'; test -n "$(defaultwwwdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(defaultwwwdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
 
 distdir: $(DISTFILES)
@@ -461,17 +504,17 @@ uninstall-am: uninstall-defaultwwwDATA
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am \
-       install-defaultwwwDATA install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-defaultwwwDATA
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-defaultwwwDATA install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-defaultwwwDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.