From bd7036af56a4b61b2b473dccbeac5e26f78b57da Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Sat, 4 Feb 2017 19:15:53 +0100 Subject: [PATCH] Imported Upstream version 1.2.0 --- Makefile.in | 57 +- NEWS | 30 +- NEWS.html | 86 +- README | 10 +- README.html | 31 +- aclocal.m4 | 2743 ++----------------------- config.h.in | 13 +- configure | 1025 ++------- configure.ac | 26 +- doc/Makefile.in | 34 +- doc/TODO.html | 2 +- doc/TODO.txt | 4 +- doc/faq.html | 62 +- doc/faq.txt | 16 +- icons/hicolor/14x14/Makefile.in | 32 +- icons/hicolor/16x16/Makefile.in | 32 +- icons/hicolor/22x22/Makefile.in | 32 +- icons/hicolor/24x24/Makefile.in | 32 +- icons/hicolor/32x32/Makefile.in | 32 +- icons/hicolor/48x48/Makefile.in | 32 +- icons/hicolor/64x64/Makefile.in | 32 +- icons/hicolor/scalable/Makefile.in | 32 +- icons/ubuntu-mono-dark/apps/22/Makefile.in | 32 +- icons/ubuntu-mono-dark/status/22/Makefile.in | 32 +- icons/ubuntu-mono-light/status/22/Makefile.in | 32 +- m4/gettext.m4 | 417 ++++ m4/iconv.m4 | 101 + m4/lib-ld.m4 | 110 + m4/lib-link.m4 | 644 ++++++ m4/lib-prefix.m4 | 185 ++ m4/nls.m4 | 31 + m4/po.m4 | 428 ++++ m4/progtest.m4 | 92 + po/LINGUAS | 2 + po/POTFILES.in | 2 + po/de.gmo | Bin 8321 -> 15427 bytes po/de.po | 768 ++++--- po/el.gmo | Bin 0 -> 416 bytes po/el.po | 821 ++++++++ po/es.gmo | Bin 7946 -> 10585 bytes po/es.po | 744 ++++--- po/fr.gmo | Bin 8235 -> 10879 bytes po/fr.po | 736 ++++--- po/hr.gmo | Bin 9212 -> 13394 bytes po/hr.po | 802 +++++--- po/hu.gmo | Bin 8820 -> 12067 bytes po/hu.po | 758 ++++--- po/it.gmo | Bin 7943 -> 10891 bytes po/it.po | 757 ++++--- po/lv.gmo | Bin 7353 -> 10443 bytes po/lv.po | 757 ++++--- po/nl.gmo | Bin 7824 -> 10344 bytes po/nl.po | 739 ++++--- po/pl.gmo | Bin 0 -> 15359 bytes po/pl.po | 849 ++++++++ po/psensor.pot | 536 ++++- po/pt_BR.gmo | Bin 5555 -> 7799 bytes po/pt_BR.po | 707 ++++--- po/ru.gmo | Bin 8090 -> 17049 bytes po/ru.po | 811 +++++--- po/sl.gmo | Bin 649 -> 649 bytes po/sl.po | 542 ++++- po/sr.gmo | Bin 1321 -> 1700 bytes po/sr.po | 571 ++++- po/sv.gmo | Bin 8112 -> 11133 bytes po/sv.po | 755 ++++--- po/tr.gmo | Bin 8350 -> 11328 bytes po/tr.po | 760 ++++--- po/uk.gmo | Bin 5506 -> 8077 bytes po/uk.po | 693 +++++-- po/zh_CN.gmo | Bin 6853 -> 9186 bytes po/zh_CN.po | 722 ++++--- src/Makefile.am | 49 +- src/Makefile.in | 90 +- src/cfg.c | 293 ++- src/cfg.h | 75 +- src/glade/Makefile.am | 1 + src/glade/Makefile.in | 33 +- src/glade/psensor-appindicator.glade | 184 ++ src/glade/psensor-pref.glade | 97 +- src/glade/psensor.glade | 87 - src/glade/sensor-edit.glade | 107 +- src/graph.c | 75 +- src/graph.h | 2 +- src/lib/Makefile.am | 22 +- src/lib/Makefile.in | 127 +- src/lib/amd.c | 30 +- src/lib/amd.h | 23 +- src/lib/bool.h | 2 +- src/lib/color.c | 2 +- src/lib/color.h | 2 +- src/lib/hdd.h | 24 +- src/lib/hdd_atasmart.c | 24 +- src/lib/hdd_hddtemp.c | 2 +- src/lib/lmsensor.c | 70 +- src/lib/lmsensor.h | 21 +- src/lib/measure.h | 2 +- src/lib/nvidia.c | 40 +- src/lib/nvidia.h | 22 +- src/lib/parray.h | 24 + src/lib/pgtop2.c | 8 +- src/lib/pgtop2.h | 22 +- src/lib/pio.c | 7 +- src/lib/pio.h | 70 +- src/lib/plog.c | 4 +- src/lib/plog.h | 38 +- src/lib/pmutex.c | 5 +- src/lib/pmutex.h | 2 +- src/lib/psensor.c | 112 +- src/lib/psensor.h | 65 +- src/lib/psensor_json.c | 24 +- src/lib/psensor_json.h | 2 +- src/lib/ptime.c | 36 +- src/lib/ptime.h | 2 +- src/lib/pudisks2.c | 8 +- src/lib/pudisks2.h | 22 +- src/lib/slog.c | 6 +- src/lib/slog.h | 2 +- src/lib/temperature.h | 2 +- src/lib/url.h | 2 +- src/main.c | 271 +-- src/notify_cmd.c | 3 +- src/notify_cmd.h | 2 +- src/psensor.1 | 4 +- src/psensor.gschema.xml | 13 + src/pxdg.c | 14 +- src/pxdg.h | 4 +- src/rsensor.c | 34 +- src/rsensor.h | 27 +- src/server/Makefile.am | 7 +- src/server/Makefile.in | 39 +- src/server/psensor-server.1 | 4 +- src/server/server.c | 82 +- src/server/server.h | 2 +- src/server/sysinfo.c | 4 +- src/server/sysinfo.h | 2 +- src/ui.c | 270 ++- src/ui.h | 28 +- src/ui_appindicator.c | 140 +- src/ui_appindicator.h | 30 +- src/ui_color.c | 46 +- src/ui_color.h | 11 +- src/ui_graph.c | 8 +- src/ui_graph.h | 2 +- src/ui_notify.c | 4 +- src/ui_notify.h | 15 +- src/ui_pref.c | 187 +- src/ui_pref.h | 5 +- src/ui_sensorlist.c | 46 +- src/ui_sensorlist.h | 4 +- src/ui_sensorpref.c | 655 +++--- src/ui_sensorpref.h | 16 +- src/ui_status.c | 8 +- src/ui_status.h | 6 +- src/ui_unity.c | 84 +- src/ui_unity.h | 24 +- tests/Makefile.am | 5 +- tests/Makefile.in | 41 +- tests/checkpatch.pl | 1361 ++++++++++-- tests/spelling.txt | 1076 ++++++++++ tests/test_io_dir_list.c | 16 +- tests/test_psensor_type_to_unit_str.c | 4 +- tests/test_url_encode.c | 4 +- tests/test_url_normalize.c | 6 +- www/Makefile.in | 32 +- 165 files changed, 17196 insertions(+), 9750 deletions(-) create mode 100644 m4/gettext.m4 create mode 100644 m4/iconv.m4 create mode 100644 m4/lib-ld.m4 create mode 100644 m4/lib-link.m4 create mode 100644 m4/lib-prefix.m4 create mode 100644 m4/nls.m4 create mode 100644 m4/po.m4 create mode 100644 m4/progtest.m4 create mode 100644 po/el.gmo create mode 100644 po/el.po create mode 100644 po/pl.gmo create mode 100644 po/pl.po create mode 100644 src/glade/psensor-appindicator.glade create mode 100644 src/lib/parray.h create mode 100644 tests/spelling.txt diff --git a/Makefile.in b/Makefile.in index 0f50944..e387bb1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,12 +79,20 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . +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) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(dist_doc_DATA) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d @@ -187,10 +185,6 @@ ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README ar-lib \ - compile config.guess config.rpath config.sub depcomp \ - install-sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -261,7 +255,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -320,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@ @@ -335,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@ @@ -381,7 +372,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -437,6 +427,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -700,15 +691,15 @@ dist-xz: distdir $(am__post_remove_distdir) dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 + @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__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 + @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__post_remove_distdir) @@ -744,17 +735,17 @@ distcheck: dist esac chmod -R a-w $(distdir) chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + 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/sub \ - && ../../configure \ + && $(am__cd) $(distdir)/_build \ + && ../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ + --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ @@ -933,8 +924,6 @@ uninstall-am: uninstall-desktopDATA uninstall-dist_docDATA pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-desktopDATA uninstall-dist_docDATA -.PRECIOUS: Makefile - @ASCIIDOC_TRUE@README.html: README www/style.css @ASCIIDOC_TRUE@ asciidoc --theme style -a themedir=`pwd`/www -n -a toc README diff --git a/NEWS b/NEWS index 7ff462e..1434a86 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,28 @@ -Psensor NEWS -============ += Psensor NEWS +:docinfo2: + +v1.2.0 +------ + +* Added tooltip explaining why a setting is not available. +* Removed support of old AppIndicator library < 3.0. +* Fixed memory leaks in appindicator support when sensor preferences + are changed. +* Changes of sensors preferences are applied immediately. +* Avoid multiple sensor preferences dialog at the same time. +* Support max/min sensor information from providers. +* Fixed string not translatable. (Closes: #138076). +* Added a default high threshold for temperature. +* Made help2man optional. +* New dconf settings +default-high-threshold-temperature+, + and +default-sensor-alarm-enabled+. +* Fixed memory leaks due to glib GError. +* Added Greek translation. +* Updated Russian translation (Grigorii Chirkov). +* Updated German translation (Max). +* Added Polish translation (hawkeye116477). +* Fixed GtkDialog mapped without a transient parent (Francis + Chin). (LP: #1642696). v1.1.5 ------ @@ -12,8 +35,7 @@ v1.1.4 * psensor-server: avoid to retrieve files which are not under the webserver directory. * Fixed compilation failure due to MHD_create_response_from_buffer - which has been deprecated - + which has been deprecated v1.1.3 ------ diff --git a/NEWS.html b/NEWS.html index 41a692f..1d84e54 100644 --- a/NEWS.html +++ b/NEWS.html @@ -381,6 +381,90 @@ asciidoc.install();
+

v1.2.0

+
+
    +
  • +

    +Added tooltip explaining why a setting is not available. +

    +
  • +
  • +

    +Removed support of old AppIndicator library < 3.0. +

    +
  • +
  • +

    +Fixed memory leaks in appindicator support when sensor preferences + are changed. +

    +
  • +
  • +

    +Changes of sensors preferences are applied immediately. +

    +
  • +
  • +

    +Avoid multiple sensor preferences dialog at the same time. +

    +
  • +
  • +

    +Support max/min sensor information from providers. +

    +
  • +
  • +

    +Fixed string not translatable. (Closes: #138076). +

    +
  • +
  • +

    +Added a default high threshold for temperature. +

    +
  • +
  • +

    +Made help2man optional. +

    +
  • +
  • +

    +New dconf settings default-high-threshold-temperature, + and default-sensor-alarm-enabled. +

    +
  • +
  • +

    +Fixed memory leaks due to glib GError. +

    +
  • +
  • +

    +Added Greek translation. +

    +
  • +
  • +

    +Updated Russian translation (Grigorii Chirkov). +

    +
  • +
  • +

    +Updated German translation (Max). +

    +
  • +
  • +

    +Added Polish translation (hawkeye116477). +

    +
  • +
+
+
+

v1.1.5

    @@ -2896,7 +2980,7 @@ Fixed BR1: crash when no temperature sensor is available diff --git a/README b/README index c1d3c70..9ee890b 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ -Psensor README -============== += Psensor README +:docinfo2: Introduction ------------ @@ -116,12 +116,12 @@ The compilation of +psensor+ requires: * lm-sensors * library sensors4 * library gtk3 >=3.4 - * help2man + * help2man (optional, required to produce the manpage) * asciidoc (optional, required to produce the html version of the faq) * cppcheck (optional, static source checker) * library libnotify (optional) - * library libappindicator (optional) + * library libappindicator >= 3.0 (optional) * library libXNVCtrl (optional) * library json-c >= 0.11.99 and curl (optional, required for remote monitoring) * library unity (>=v3.4.2, optional) @@ -132,7 +132,7 @@ The compilation of +psensor+ requires: The specific requirements for +psensor-server+: * library libmicrohttpd - * library json0 + * library json-c >= 0.11.99 Compilation and Installation Steps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/README.html b/README.html index a1942e9..510d0dd 100644 --- a/README.html +++ b/README.html @@ -403,12 +403,18 @@ the temperature of the NVidia GPUs (using XNVCtrl).
  • -the temperature of the Hard Disk Drives (using hddtemp or libatasmart). +the temperature of ATI GPUs (using ATI ADL SDK).

  • -the rotation speed of the fans (using lm-sensors). +the temperature of the Hard Disk Drives (using hddtemp, libatasmart + or udisks2). +

    +
  • +
  • +

    +the rotation speed of the fans.

  • @@ -418,7 +424,7 @@ the temperature of a remote computer.
  • -the cpu load. +the CPU load.

@@ -548,7 +554,7 @@ library gtk3 >=3.4
  • -help2man +help2man (optional, required to produce the manpage)

  • @@ -569,7 +575,7 @@ library libnotify (optional)
  • -library libappindicator (optional) +library libappindicator >= 3.0 (optional)

  • @@ -597,6 +603,11 @@ 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:

      @@ -607,7 +618,7 @@ library libmicrohttpd
    • -library json0 +library json-c >= 0.11.99

    @@ -644,11 +655,6 @@ been found.
  • -To monitor HDDs, the hddtemp daemon must be installed and running. -

    -
  • -
  • -

    Run: psensor

  • @@ -681,7 +687,8 @@ have extracted the ATI ADL SDK. Other steps are indentical.


    diff --git a/aclocal.m4 b/aclocal.m4 index 0aef9eb..344be6d 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 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, @@ -20,412 +20,6 @@ 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'.])]) -# gettext.m4 serial 67 (gettext-0.19.6) -dnl Copyright (C) 1995-2014 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 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 is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 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 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 -$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 -$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 -$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 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], []) - - -dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) - dnl GLIB_GSETTINGS dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether dnl the schema should be compiled @@ -510,1548 +104,32 @@ m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) -# iconv.m4 serial 19 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2014 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 -#include - ]], - [[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 -#include - ]], - [[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 - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - ]], - [[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 ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_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, - &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 ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_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, - &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 ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &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 ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_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, - &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], , - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - test "$am_cv_func_iconv_works" = no || break - done - 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 - 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.]) - 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 -#include -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 . - 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 -]) - -# intlmacosx.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2004-2014 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 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 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 ]], - [[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 ]], - [[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]) -]) - -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2015 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 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -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 $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 = 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 -]) - -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-2015 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 -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 . - 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" -]) - -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 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 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 is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 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]) -]) +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) +# +# Copyright © 2004 Scott James Remnant . +# +# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# 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. -dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29.1) -dnl -dnl Copyright © 2004 Scott James Remnant . -dnl Copyright © 2012-2015 Dan Nicholson -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -dnl 02111-1307, USA. -dnl -dnl As a special exception to the GNU General Public License, if you -dnl distribute this file as part of a program that contains a -dnl configuration script generated by Autoconf, you may include it under -dnl the same distribution terms that you use for the rest of that -dnl program. - -dnl PKG_PREREQ(MIN-VERSION) -dnl ----------------------- -dnl Since: 0.29 -dnl -dnl Verify that the version of the pkg-config macros are at least -dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's -dnl installed version of pkg-config, this checks the developer's version -dnl of pkg.m4 when generating configure. -dnl -dnl To ensure that this macro is defined, also add: -dnl m4_ifndef([PKG_PREREQ], -dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) -dnl -dnl See the "Since" comment for each macro you use to see what version -dnl of the macros you require. -m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) -m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, - [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) -])dnl PKG_PREREQ - -dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) -dnl ---------------------------------- -dnl Since: 0.16 -dnl -dnl Search for the pkg-config tool and set the PKG_CONFIG variable to -dnl first found in the path. Checks that the version of pkg-config found -dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is -dnl used since that's the first version where most current features of -dnl pkg-config existed. +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) @@ -2073,19 +151,18 @@ if test -n "$PKG_CONFIG"; then PKG_CONFIG="" fi fi[]dnl -])dnl PKG_PROG_PKG_CONFIG +])# PKG_PROG_PKG_CONFIG -dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -dnl ------------------------------------------------------------------- -dnl Since: 0.18 -dnl -dnl Check to see whether a particular set of modules exists. Similar to -dnl PKG_CHECK_MODULES(), but does not set variables or print errors. -dnl -dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place -dnl it's called might be skipped (such as if it is within an "if", you -dnl have to call PKG_CHECK_EXISTS manually +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ @@ -2095,10 +172,8 @@ m4_ifvaln([$3], [else $3])dnl fi]) -dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -dnl --------------------------------------------- -dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting -dnl pkg_failed based on the result. +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" @@ -2110,11 +185,10 @@ m4_define([_PKG_CONFIG], else pkg_failed=untried fi[]dnl -])dnl _PKG_CONFIG +])# _PKG_CONFIG -dnl _PKG_SHORT_ERRORS_SUPPORTED -dnl --------------------------- -dnl Internal check to see if pkg-config supports short errors. +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -2122,17 +196,19 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then else _pkg_short_errors_supported=no fi[]dnl -])dnl _PKG_SHORT_ERRORS_SUPPORTED +])# _PKG_SHORT_ERRORS_SUPPORTED -dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -dnl [ACTION-IF-NOT-FOUND]) -dnl -------------------------------------------------------------- -dnl Since: 0.4.0 -dnl -dnl Note that if there is a possibility the first call to -dnl PKG_CHECK_MODULES might not happen, you should be sure to include an -dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl @@ -2186,40 +262,16 @@ else AC_MSG_RESULT([yes]) $3 fi[]dnl -])dnl PKG_CHECK_MODULES +])# PKG_CHECK_MODULES -dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -dnl [ACTION-IF-NOT-FOUND]) -dnl --------------------------------------------------------------------- -dnl Since: 0.29 -dnl -dnl Checks for existence of MODULES and gathers its build flags with -dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags -dnl and VARIABLE-PREFIX_LIBS from --libs. -dnl -dnl Note that if there is a possibility the first call to -dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to -dnl include an explicit call to PKG_PROG_PKG_CONFIG in your -dnl configure.ac. -AC_DEFUN([PKG_CHECK_MODULES_STATIC], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -_save_PKG_CONFIG=$PKG_CONFIG -PKG_CONFIG="$PKG_CONFIG --static" -PKG_CHECK_MODULES($@) -PKG_CONFIG=$_save_PKG_CONFIG[]dnl -])dnl PKG_CHECK_MODULES_STATIC - - -dnl PKG_INSTALLDIR([DIRECTORY]) -dnl ------------------------- -dnl Since: 0.27 -dnl -dnl Substitutes the variable pkgconfigdir as the location where a module -dnl should install pkg-config .pc files. By default the directory is -dnl $libdir/pkgconfig, but the default can be changed by passing -dnl DIRECTORY. The user can override through the --with-pkgconfigdir -dnl parameter. +# PKG_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable pkgconfigdir as the location where a module +# should install pkg-config .pc files. By default the directory is +# $libdir/pkgconfig, but the default can be changed by passing +# DIRECTORY. The user can override through the --with-pkgconfigdir +# parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -2230,18 +282,16 @@ AC_ARG_WITH([pkgconfigdir], AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -])dnl PKG_INSTALLDIR +]) dnl PKG_INSTALLDIR -dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) -dnl -------------------------------- -dnl Since: 0.27 -dnl -dnl Substitutes the variable noarch_pkgconfigdir as the location where a -dnl module should install arch-independent pkg-config .pc files. By -dnl default the directory is $datadir/pkgconfig, but the default can be -dnl changed by passing DIRECTORY. The user can override through the -dnl --with-noarch-pkgconfigdir parameter. +# PKG_NOARCH_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable noarch_pkgconfigdir as the location where a +# module should install arch-independent pkg-config .pc files. By +# default the directory is $datadir/pkgconfig, but the default can be +# changed by passing DIRECTORY. The user can override through the +# --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -2252,15 +302,13 @@ AC_ARG_WITH([noarch-pkgconfigdir], AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -])dnl PKG_NOARCH_INSTALLDIR +]) dnl PKG_NOARCH_INSTALLDIR -dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -dnl ------------------------------------------- -dnl Since: 0.28 -dnl -dnl Retrieves the value of the pkg-config variable for the given module. +# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# ------------------------------------------- +# Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl @@ -2269,555 +317,9 @@ _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl -])dnl PKG_CHECK_VAR - -# po.m4 serial 24 (gettext-0.19) -dnl Copyright (C) 1995-2014 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 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 is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 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.19]) - - 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 < "$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" < /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" <> "$ac_file.tmp" <, 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-2014 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, @@ -2829,10 +331,10 @@ AC_SUBST([$1])dnl # 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.15' +[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.15], [], +m4_if([$1], [1.14.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -2848,12 +350,12 @@ 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.15])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-2014 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, @@ -2915,7 +417,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 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, @@ -2967,7 +469,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 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, @@ -2998,7 +500,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 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, @@ -3189,7 +691,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 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, @@ -3265,7 +767,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 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, @@ -3355,8 +857,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl @@ -3430,9 +932,6 @@ END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not @@ -3462,7 +961,7 @@ 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-2014 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, @@ -3473,7 +972,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then +if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; @@ -3483,7 +982,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 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, @@ -3504,7 +1003,7 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 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, @@ -3554,7 +1053,7 @@ rm -f confinc confmf # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 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, @@ -3591,9 +1090,41 @@ else fi ]) +# 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. + +# AM_PROG_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. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 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, @@ -3622,7 +1153,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 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, @@ -3669,7 +1200,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 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, @@ -3688,7 +1219,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 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, @@ -3769,7 +1300,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2014 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, @@ -3829,7 +1360,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 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, @@ -3857,7 +1388,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 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, @@ -3876,7 +1407,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 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, @@ -4007,3 +1538,11 @@ 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]) diff --git a/config.h.in b/config.h.in index 050c936..8877213 100644 --- a/config.h.in +++ b/config.h.in @@ -7,20 +7,17 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ADL_DEFINES_H -/* Use AppIndicator > 0.2.9 */ +/* Use AppIndicator3-0.1 */ #undef HAVE_APPINDICATOR -/* Use AppIndicator 0.2.9 */ -#undef HAVE_APPINDICATOR_029 - /* 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 @@ -37,7 +34,7 @@ /* 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 header file. */ @@ -61,7 +58,7 @@ /* Define to 1 if you have the `pthread' library (-lpthread). */ #undef HAVE_LIBPTHREAD -/* Define to 1 if you have the `sensors' library (-lsensors). */ +/* Use libsensors */ #undef HAVE_LIBSENSORS /* Use libudisks */ diff --git a/configure b/configure index 2c383c5..c7293af 100755 --- 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.1.5. +# Generated by GNU Autoconf 2.69 for psensor 1.2.0. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='psensor' PACKAGE_TARNAME='psensor' -PACKAGE_VERSION='1.1.5' -PACKAGE_STRING='psensor 1.1.5' +PACKAGE_VERSION='1.2.0' +PACKAGE_STRING='psensor 1.2.0' PACKAGE_BUGREPORT='jeanfi@gmail.com' PACKAGE_URL='http://wpitchoune.net/psensor' @@ -633,6 +633,8 @@ HAVE_CPPCHECK ASCIIDOC_FALSE ASCIIDOC_TRUE ASCIIDOC +HELP2MAN_FALSE +HELP2MAN_TRUE HELP2MAN GTOP_FALSE GTOP_TRUE @@ -691,6 +693,8 @@ X11_TRUE X11_LIBS X11_CFLAGS SENSORS_LIBS +SENSORS_FALSE +SENSORS_TRUE PTHREAD_LIBS GSETTINGS_RULES GLIB_COMPILE_SCHEMAS @@ -714,7 +718,6 @@ build_os build_vendor build_cpu build -XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT @@ -722,9 +725,7 @@ GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT -GETTEXT_MACRO_VERSION USE_NLS -SED EGREP GREP CPP @@ -795,7 +796,6 @@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@ -906,7 +906,6 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1159,15 +1158,6 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1305,7 +1295,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1418,7 +1408,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.1.5 to adapt to many kinds of systems. +\`configure' configures psensor 1.2.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1458,7 +1448,6 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1493,7 +1482,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of psensor 1.1.5:";; + short | recursive ) echo "Configuration of psensor 1.2.0:";; esac cat <<\_ACEOF @@ -1517,7 +1506,7 @@ 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 @@ -1643,7 +1632,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -psensor configure 1.1.5 +psensor configure 1.2.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1945,7 +1934,7 @@ 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.1.5, which was +It was created by psensor $as_me 1.2.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2295,7 +2284,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.15' +am__api_version='1.14' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2516,7 +2505,7 @@ else $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi -if test x"${install_sh+set}" != xset; then +if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; @@ -2810,7 +2799,7 @@ fi # Define the identity of the package. PACKAGE='psensor' - VERSION='1.1.5' + VERSION='1.2.0' cat >>confdefs.h <<_ACEOF @@ -2844,8 +2833,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # mkdir_p='$(MKDIR_P)' -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. +# 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}' @@ -5025,74 +5014,12 @@ 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 -fi -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 +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 @@ -5110,22 +5037,20 @@ $as_echo "$USE_NLS" >&6; } - GETTEXT_MACRO_VERSION=0.19 - - # 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, @@ -5240,14 +5165,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, @@ -5317,14 +5243,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, @@ -5385,9 +5312,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" @@ -5479,7 +5403,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 @@ -5490,21 +5413,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 @@ -5514,12 +5437,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" ;; @@ -5543,26 +5466,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 &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 @@ -5582,14 +5502,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 &5 @@ -5615,14 +5533,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; : @@ -5632,71 +5548,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 @@ -5741,10 +5609,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 @@ -5753,8 +5617,6 @@ fi LIBICONV= LTLIBICONV= INCICONV= - LIBICONV_PREFIX= - HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= @@ -5772,7 +5634,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 @@ -5788,50 +5650,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 @@ -5849,42 +5688,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 ;; @@ -5897,9 +5720,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= @@ -5912,10 +5733,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 @@ -5947,7 +5768,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" @@ -5966,16 +5787,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 @@ -6024,11 +5835,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;; @@ -6128,21 +5937,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 @@ -6178,12 +5987,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 : @@ -6279,12 +6082,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 @@ -6301,19 +6104,15 @@ if eval \${$gt_func_gnugettext_libc+:} false; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include $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; } @@ -6371,16 +6170,14 @@ else am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include #include - 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; } @@ -6395,16 +6192,14 @@ rm -f core conftest.err conftest.$ac_objext \ LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include #include - 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; } @@ -6422,157 +6217,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 - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - 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 -#include - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - -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 ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_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, - &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 ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_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, - &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 ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &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 ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_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, - &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; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - test "$am_cv_func_iconv_works" = no || break - done - 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 @@ -6594,10 +6238,6 @@ $as_echo "$LIBICONV" >&6; } - - - - use_additional=yes acl_save_prefix="$prefix" @@ -6634,10 +6274,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 @@ -6646,8 +6282,6 @@ fi LIBINTL= LTLIBINTL= INCINTL= - LIBINTL_PREFIX= - HAVE_LIBINTL= rpathdirs= ltrpathdirs= names_already_handled= @@ -6665,7 +6299,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 @@ -6681,50 +6315,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 @@ -6742,42 +6353,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 ;; @@ -6790,9 +6385,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= @@ -6805,10 +6398,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 @@ -6840,7 +6433,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" @@ -6859,16 +6452,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 @@ -6917,11 +6500,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;; @@ -7021,21 +6602,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 @@ -7047,11 +6628,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 : @@ -7063,7 +6639,6 @@ else LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include $gt_revision_test_code extern int _nl_msg_cat_cntr; @@ -7072,14 +6647,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; } @@ -7095,7 +6667,6 @@ rm -f core conftest.err conftest.$ac_objext \ LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include $gt_revision_test_code extern int _nl_msg_cat_cntr; @@ -7104,22 +6675,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 \ @@ -7561,11 +7129,9 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sensors_sensors_init" >&5 $as_echo "$ac_cv_lib_sensors_sensors_init" >&6; } if test "x$ac_cv_lib_sensors_sensors_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSENSORS 1 -_ACEOF + SENSORS_LIBS=-lsensors - LIBS="-lsensors $LIBS" +$as_echo "#define HAVE_LIBSENSORS 1" >>confdefs.h fi @@ -7582,7 +7148,14 @@ fi done -SENSORS_LIBS=-lsensors + if test -n "$SENSORS_LIBS"; then + SENSORS_TRUE= + SENSORS_FALSE='#' +else + SENSORS_TRUE='#' + SENSORS_FALSE= +fi + ############### psensor @@ -8116,7 +7689,6 @@ fi # Checks AppIndicator APPINDICATOR_LIBS= - pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for APPINDICATOR" >&5 $as_echo_n "checking for APPINDICATOR... " >&6; } @@ -8191,166 +7763,6 @@ $as_echo "yes" >&6; } $as_echo "#define HAVE_APPINDICATOR 1" >>confdefs.h fi - -if test "$APPINDICATOR_LIBS" == ""; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APPINDICATOR" >&5 -$as_echo_n "checking for APPINDICATOR... " >&6; } - -if test -n "$APPINDICATOR_CFLAGS"; then - pkg_cv_APPINDICATOR_CFLAGS="$APPINDICATOR_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"appindicator-0.1 <= 0.2.9 \""; } >&5 - ($PKG_CONFIG --exists --print-errors "appindicator-0.1 <= 0.2.9 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_APPINDICATOR_CFLAGS=`$PKG_CONFIG --cflags "appindicator-0.1 <= 0.2.9 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$APPINDICATOR_LIBS"; then - pkg_cv_APPINDICATOR_LIBS="$APPINDICATOR_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"appindicator-0.1 <= 0.2.9 \""; } >&5 - ($PKG_CONFIG --exists --print-errors "appindicator-0.1 <= 0.2.9 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_APPINDICATOR_LIBS=`$PKG_CONFIG --libs "appindicator-0.1 <= 0.2.9 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - APPINDICATOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "appindicator-0.1 <= 0.2.9 " 2>&1` - else - APPINDICATOR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "appindicator-0.1 <= 0.2.9 " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$APPINDICATOR_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: AppIndicator 0.2.9 not present\"" >&5 -$as_echo "$as_me: WARNING: AppIndicator 0.2.9 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: AppIndicator 0.2.9 not present\"" >&5 -$as_echo "$as_me: WARNING: AppIndicator 0.2.9 not present\"" >&2;} -else - APPINDICATOR_CFLAGS=$pkg_cv_APPINDICATOR_CFLAGS - APPINDICATOR_LIBS=$pkg_cv_APPINDICATOR_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_APPINDICATOR 1" >>confdefs.h - - -$as_echo "#define HAVE_APPINDICATOR_029 1" >>confdefs.h - - -fi -fi - -if test "$APPINDICATOR_LIBS" == ""; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APPINDICATOR" >&5 -$as_echo_n "checking for APPINDICATOR... " >&6; } - -if test -n "$APPINDICATOR_CFLAGS"; then - pkg_cv_APPINDICATOR_CFLAGS="$APPINDICATOR_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"appindicator-0.1 > 0.2.9\""; } >&5 - ($PKG_CONFIG --exists --print-errors "appindicator-0.1 > 0.2.9") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_APPINDICATOR_CFLAGS=`$PKG_CONFIG --cflags "appindicator-0.1 > 0.2.9" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$APPINDICATOR_LIBS"; then - pkg_cv_APPINDICATOR_LIBS="$APPINDICATOR_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"appindicator-0.1 > 0.2.9\""; } >&5 - ($PKG_CONFIG --exists --print-errors "appindicator-0.1 > 0.2.9") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_APPINDICATOR_LIBS=`$PKG_CONFIG --libs "appindicator-0.1 > 0.2.9" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - APPINDICATOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "appindicator-0.1 > 0.2.9" 2>&1` - else - APPINDICATOR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "appindicator-0.1 > 0.2.9" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$APPINDICATOR_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"AppIndicator > 0.2.9 not present\"" >&5 -$as_echo "$as_me: WARNING: \"AppIndicator > 0.2.9 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: \"AppIndicator > 0.2.9 not present\"" >&5 -$as_echo "$as_me: WARNING: \"AppIndicator > 0.2.9 not present\"" >&2;} -else - APPINDICATOR_CFLAGS=$pkg_cv_APPINDICATOR_CFLAGS - APPINDICATOR_LIBS=$pkg_cv_APPINDICATOR_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_APPINDICATOR 1" >>confdefs.h - -fi -fi if test -n "$APPINDICATOR_LIBS"; then APPINDICATOR_TRUE= APPINDICATOR_FALSE='#' @@ -9115,6 +8527,14 @@ fi test -n "$HELP2MAN" && break done + if test -n "$HELP2MAN"; then + HELP2MAN_TRUE= + HELP2MAN_FALSE='#' +else + HELP2MAN_TRUE='#' + HELP2MAN_FALSE= +fi + # Extract the first word of "asciidoc", so it can be a program name with args. set dummy asciidoc; ac_word=$2 @@ -9341,6 +8761,10 @@ 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 "${SENSORS_TRUE}" && test -z "${SENSORS_FALSE}"; then + as_fn_error $? "conditional \"SENSORS\" 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 @@ -9397,6 +8821,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 "${HELP2MAN_TRUE}" && test -z "${HELP2MAN_FALSE}"; then + as_fn_error $? "conditional \"HELP2MAN\" 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 @@ -9802,7 +9230,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.1.5, which was +This file was extended by psensor $as_me 1.2.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9869,7 +9297,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.1.5 +psensor config.status 1.2.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -10726,7 +10154,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. @@ -10742,8 +10170,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 @@ -10754,12 +10181,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 diff --git a/configure.ac b/configure.ac index 803214d..add0c4e 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([psensor], [1.1.5],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor]) +AC_INIT([psensor], [1.2.0],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor]) AM_INIT_AUTOMAKE([-Wall gnu]) @@ -40,9 +40,11 @@ PTHREAD_LIBS=-pthread AC_SUBST(PTHREAD_LIBS) # Checks sensors, required by psensor and psensor-server -AC_CHECK_LIB(sensors, sensors_init) +AC_CHECK_LIB(sensors, sensors_init, + [SENSORS_LIBS=-lsensors + AC_DEFINE([HAVE_LIBSENSORS],[1],[Use libsensors])]) AC_CHECK_HEADERS([sensors/sensors.h sensors/error.h]) -SENSORS_LIBS=-lsensors +AM_CONDITIONAL(SENSORS, test -n "$SENSORS_LIBS") AC_SUBST(SENSORS_LIBS) ############### psensor @@ -105,26 +107,9 @@ AC_SUBST(LIBNOTIFY_LIBS) # Checks AppIndicator APPINDICATOR_LIBS= - PKG_CHECK_MODULES(APPINDICATOR, appindicator3-0.1, [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator3-0.1])], [AC_MSG_WARN(AppIndicator 3-0.1 not present")]) - -if test "$APPINDICATOR_LIBS" == ""; then - PKG_CHECK_MODULES(APPINDICATOR, - appindicator-0.1 <= 0.2.9 , - [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator 0.2.9]) - AC_DEFINE([HAVE_APPINDICATOR_029],[1],[Use AppIndicator 0.2.9]) - ], - [AC_MSG_WARN(AppIndicator 0.2.9 not present")]) -fi - -if test "$APPINDICATOR_LIBS" == ""; then - PKG_CHECK_MODULES(APPINDICATOR, - appindicator-0.1 > 0.2.9, - [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator > 0.2.9])], - [AC_MSG_WARN("AppIndicator > 0.2.9 not present")]) -fi AM_CONDITIONAL(APPINDICATOR, test -n "$APPINDICATOR_LIBS") AC_SUBST(APPINDICATOR_CFLAGS) AC_SUBST(APPINDICATOR_LIBS) @@ -271,6 +256,7 @@ AC_CONFIG_FILES([ ]) AC_CHECK_PROGS([HELP2MAN], [help2man]) +AM_CONDITIONAL(HELP2MAN, test -n "$HELP2MAN") AC_CHECK_PROG([ASCIIDOC], [asciidoc], yes) AM_CONDITIONAL(ASCIIDOC, test -n "$ASCIIDOC") diff --git a/doc/Makefile.in b/doc/Makefile.in index 5b316bb..7d71d4c 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,12 +79,16 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc +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) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_doc_DATA) \ - $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -148,7 +142,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(docdir)" DATA = $(dist_doc_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -178,7 +171,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -237,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@ @@ -252,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@ @@ -298,7 +288,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -323,6 +312,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -515,8 +505,6 @@ uninstall-am: uninstall-dist_docDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_docDATA -.PRECIOUS: Makefile - @ASCIIDOC_TRUE@faq.html: faq.txt ../www/style.css @ASCIIDOC_TRUE@ asciidoc --theme style -a themedir=`pwd`/../www -n -a toc faq.txt diff --git a/doc/TODO.html b/doc/TODO.html index 2e1c240..7bc1bed 100644 --- a/doc/TODO.html +++ b/doc/TODO.html @@ -414,7 +414,7 @@ Include help/faq directly in psensor UI. diff --git a/doc/TODO.txt b/doc/TODO.txt index cc7b502..526d16a 100644 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -1,5 +1,5 @@ -Psensor TODO -============ += Psensor TODO +:docinfo2: 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. diff --git a/doc/faq.html b/doc/faq.html index 293d41d..2227626 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -678,7 +678,8 @@ the output of the different commands like sensors.

    Anyway, as I received several requests about such feature, since the 0.7.0.4 release it is implemented in both psensor ( menu preferences > sensors > enable log of measures) and psensor-server -(--sensor-log-file option).

    +(--sensor-log-file option). For psensor the log file is +$HOME/.psensor/sensors.log.

    @@ -697,42 +698,42 @@ the option Launch on session startup.

    This feature is requiring that the Desktop Environment supports the XDG specification.

    -

    How to monitor the temperature of a disk with hddtemp?

    -
    -
    -
    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
    --eaf|grep hddtemp+.
    -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

    + + +
    +

    16. How to monitor the temperature of a disk with hddtemp?

    +
    +

    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 +-eaf|grep hddtemp. +It should output something like:

    -
    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:
    +
    root      1433     1  0 May28 ?        00:00:21 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | /dev/sdb
    -

    # hddtemp network daemon switch. If set to true, hddtemp will listen -# for incoming connections. -RUN_DAEMON="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". After edition, it should contain the +following line:

    -
    For Debian/Ubuntu, you can use
    +
    RUN_DAEMON="true"
    -

    dpkg-reconfigure hddtemp

    +

    For Debian/Ubuntu, you can use at root:

    -
    and reply +yes+ when asked whether hddtemp daemon must be
    -run during the startup.
    -
    -[[S_SimilarSoft]]
    -Is there any other similar softwares?
    +
    dpkg-reconfigure hddtemp
    +

    and reply yes when asked whether hddtemp daemon must be +run during the startup.

    +
    +
    +
    +

    17. Is there any other similar softwares?

    +

    Here is a list of few well-known sensors monitoring softwares:

    • @@ -760,7 +761,7 @@ more general, but can be configured to display sensors
    -

    16. Is it possible to hide sensors in the main window?

    +

    18. 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 @@ -773,7 +774,8 @@ of sensors.conf(5).


    diff --git a/doc/faq.txt b/doc/faq.txt index c837bf3..12c8a4f 100644 --- a/doc/faq.txt +++ b/doc/faq.txt @@ -1,5 +1,5 @@ -Psensor Frequently Asked Questions -================================== += Psensor Frequently Asked Questions +:docinfo2: The last version of this FAQ is available at http://wpitchoune.net/gitweb/?p=psensor.git;a=blob_plain;f=doc/faq.html;hb=HEAD. @@ -216,7 +216,8 @@ the output of the different commands like +sensors+. Anyway, as I received several requests about such feature, since the 0.7.0.4 release it is implemented in both psensor ( menu preferences > sensors > enable log of measures) and psensor-server -(+--sensor-log-file+ option). +(+--sensor-log-file+ option). For psensor the log file is ++$HOME/.psensor/sensors.log+. [[S_NO_GRAPH_DISPLAYED]] @@ -241,7 +242,7 @@ specification]. [[S_disk]] How to monitor the temperature of a disk with +hddtemp+? ------------------------------------------ +-------------------------------------------------------- Until the release 1.1.2, Psensor is using +hddtemp+ by default to retrieve the temperature of the disks. @@ -259,15 +260,14 @@ 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: ++RUN_DAEMON+ to +"true"+. After edition, it should contain the +following line: ------------------ -# hddtemp network daemon switch. If set to true, hddtemp will listen -# for incoming connections. RUN_DAEMON="true" ------------------ -For Debian/Ubuntu, you can use +For Debian/Ubuntu, you can use at root: ------------------ dpkg-reconfigure hddtemp ------------------ diff --git a/icons/hicolor/14x14/Makefile.in b/icons/hicolor/14x14/Makefile.in index 75ebdc9..7bd0a08 100644 --- a/icons/hicolor/14x14/Makefile.in +++ b/icons/hicolor/14x14/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/14x14 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/14x14/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/14x14/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/hicolor/16x16/Makefile.in b/icons/hicolor/16x16/Makefile.in index dac0fc4..4148855 100644 --- a/icons/hicolor/16x16/Makefile.in +++ b/icons/hicolor/16x16/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/16x16 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/16x16/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/16x16/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/hicolor/22x22/Makefile.in b/icons/hicolor/22x22/Makefile.in index 15bc956..7b2b13a 100644 --- a/icons/hicolor/22x22/Makefile.in +++ b/icons/hicolor/22x22/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/22x22 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/22x22/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/22x22/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/hicolor/24x24/Makefile.in b/icons/hicolor/24x24/Makefile.in index 2b1ede3..25e88f4 100644 --- a/icons/hicolor/24x24/Makefile.in +++ b/icons/hicolor/24x24/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/24x24 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/24x24/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/24x24/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/hicolor/32x32/Makefile.in b/icons/hicolor/32x32/Makefile.in index a2581db..530450f 100644 --- a/icons/hicolor/32x32/Makefile.in +++ b/icons/hicolor/32x32/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/32x32 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/32x32/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/32x32/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/hicolor/48x48/Makefile.in b/icons/hicolor/48x48/Makefile.in index d95067a..ca6ce55 100644 --- a/icons/hicolor/48x48/Makefile.in +++ b/icons/hicolor/48x48/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/48x48 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/48x48/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/48x48/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/hicolor/64x64/Makefile.in b/icons/hicolor/64x64/Makefile.in index e88b13b..0660305 100644 --- a/icons/hicolor/64x64/Makefile.in +++ b/icons/hicolor/64x64/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/64x64 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/64x64/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/64x64/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/hicolor/scalable/Makefile.in b/icons/hicolor/scalable/Makefile.in index 396ca4f..3d3706c 100644 --- a/icons/hicolor/scalable/Makefile.in +++ b/icons/hicolor/scalable/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/scalable +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/hicolor/scalable/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/hicolor/scalable/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/ubuntu-mono-dark/apps/22/Makefile.in b/icons/ubuntu-mono-dark/apps/22/Makefile.in index eca5dea..f156ce5 100644 --- a/icons/ubuntu-mono-dark/apps/22/Makefile.in +++ b/icons/ubuntu-mono-dark/apps/22/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/ubuntu-mono-dark/apps/22 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/ubuntu-mono-dark/apps/22/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/ubuntu-mono-dark/apps/22/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/ubuntu-mono-dark/status/22/Makefile.in b/icons/ubuntu-mono-dark/status/22/Makefile.in index 8abc89d..a72a4e7 100644 --- a/icons/ubuntu-mono-dark/status/22/Makefile.in +++ b/icons/ubuntu-mono-dark/status/22/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/ubuntu-mono-dark/status/22 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/ubuntu-mono-dark/status/22/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/ubuntu-mono-dark/status/22/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/icons/ubuntu-mono-light/status/22/Makefile.in b/icons/ubuntu-mono-light/status/22/Makefile.in index 309d183..2ac509c 100644 --- a/icons/ubuntu-mono-light/status/22/Makefile.in +++ b/icons/ubuntu-mono-light/status/22/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/ubuntu-mono-light/status/22 +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,6 +316,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/ubuntu-mono-light/status/22/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/ubuntu-mono-light/status/22/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -519,8 +509,6 @@ uninstall-am: uninstall-psensordistpixDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-psensordistpixDATA -.PRECIOUS: Makefile - # 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/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 0000000..b5ce322 --- /dev/null +++ b/m4/gettext.m4 @@ -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 , 1995-2000. +dnl Bruno Haible , 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 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 +$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 +$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 +$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 ], + [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 ], [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 index 0000000..654c415 --- /dev/null +++ b/m4/iconv.m4 @@ -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 +#include ], + [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 +#include ], + [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 +#include +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 index 0000000..96c4e2c --- /dev/null +++ b/m4/lib-ld.m4 @@ -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 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 index 0000000..f95b7ba --- /dev/null +++ b/m4/lib-link.m4 @@ -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 index 0000000..a8684e1 --- /dev/null +++ b/m4/lib-prefix.m4 @@ -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 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 , 1995-2000. +dnl Bruno Haible , 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 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 , 1995-2000. +dnl Bruno Haible , 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 < "$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" < /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" <> "$ac_file.tmp" <, 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 +]) diff --git a/po/LINGUAS b/po/LINGUAS index 8f4503b..46d54f8 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -7,6 +7,7 @@ # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. de +el es fr hu @@ -14,6 +15,7 @@ hr it lv nl +pl pt_BR ru sl diff --git a/po/POTFILES.in b/po/POTFILES.in index fa87f3d..f096074 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,7 +1,9 @@ src/cfg.c src/glade/psensor.glade +src/glade/psensor-appindicator.glade src/glade/psensor-pref.glade src/glade/sensor-edit.glade +src/graph.c src/lib/amd.c src/lib/hdd_atasmart.c src/lib/hdd_hddtemp.c diff --git a/po/de.gmo b/po/de.gmo index d4be0af7f0ea6f55c216e1af133043f87ee478a4..d39c8d6d3e54e27ff749782171f454a45c3a79d5 100644 GIT binary patch literal 15427 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 CfH=qi diff --git a/po/de.po b/po/de.po index d93a482..e2355a4 100644 --- a/po/de.po +++ b/po/de.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: psensor 0.7.0.x\n" +"Project-Id-Version: psensor 1.2.0\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" -"PO-Revision-Date: 2014-09-20 11:25+0000\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" +"PO-Revision-Date: 2016-08-24 23:30+0200\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: German\n" "Language: de\n" @@ -18,20 +18,405 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 -#, fuzzy, c-format +#: src/cfg.c:501 +#, c-format msgid "Failed to create the directory %s: %s" -msgstr "Erzeugen des Webservers ist gescheitert." +msgstr "Erzeugen des Ordners %s ist gescheitert: %s" -#: src/cfg.c:557 -#, fuzzy, c-format +#: src/cfg.c:548 +#, c-format msgid "Failed to load configuration file %s: %s" -msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert." +msgstr "Laden der Konfigurationsdatei %s ist gescheitert: %s" -#: src/cfg.c:580 -#, fuzzy, c-format +#: src/cfg.c:573 +#, c-format msgid "Failed to save configuration file %s." -msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert." +msgstr "Speichern der Konfigurationsdatei %s ist gescheitert." + +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Info" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Einstellungen" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Beenden" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Sensoreinstellungen" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Temperaturüberwachung" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Hilfe" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Wert" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min." + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Max." + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Farbe" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Graph" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Anzeigen" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Rechts" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Links" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Oberseite" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Unterseite" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Einstellungen bearbeiten" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Keine Fensterdekorationen verwenden" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Fenster unterhalb anheften" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Menü aktivieren" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Wert im Unity Starter anzeigen" + +#: src/glade/psensor-pref.glade:190 +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor wurde ohne Unterstützung für Unity Starter kompiliert" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Temperatureinheit:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Position der Sensorentabelle:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Benutzeroberfläche" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Bei Benutzeranmeldung starten" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Fenster beim Programmstart ausblenden" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Fensterposition und -größe merken" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Programmstart" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Vordergrund:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Hintergrund:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Hintergrunddeckkraft:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Farben" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Überwachungszeitraum:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Aktualisierungsintervall:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Messungen" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min." + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Max." + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "Sekunde(n)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "Minute(n)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "Sensorgraphen glätten" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "Sensorgraphen" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Messintervall:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Sensorenprotokollierung aktivieren" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Sensorenprotokollierungsintervall:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Folgendes Script bei einem Alarm ausführen:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Sensoren" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "Unterstützung für lm-sensors aktivieren" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "Unterstützung für NVCtrl (NVidia) aktivieren" + +#: src/glade/psensor-pref.glade:974 +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor wurde ohne Unterstützung für NVCtrl kompiliert" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "Unterstützung für ATI ADL aktivieren" + +#: src/glade/psensor-pref.glade:993 +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor wurde ohne Unterstützung für ATI ADL kompiliert" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "Unterstützung für gtop2 aktivieren" + +#: src/glade/psensor-pref.glade:1012 +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor wurde ohne Unterstützung für gtop2 kompiliert" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "Unterstützung für den hddtemp Daemon aktivieren" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "Unterstützung für libatasmart aktivieren" + +#: src/glade/psensor-pref.glade:1049 +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor wurde ohne Unterstützung für libatasmart kompiliert" + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "Unterstützung für udisks2 aktivieren" + +#: src/glade/psensor-pref.glade:1068 +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor wurde ohne Unterstützung für udisks2 kompiliert" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "Die Änderungen werden erst nach einem Neustart von psensor wirksam." + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "Festplattenlaufwerk" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "Prozessor- und Arbeitsspeichernutzung" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "Grafikkarte mit proprietärem Treiber" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "Motherboard, Prozessor und Grafikkarte" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "Provider" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Sensoreinstellungen bearbeiten" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Name" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Typ:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "N/V" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Chip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Name:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "Label" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Sensorgraphen darstellen" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Farbe:" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "Sensor in der Sensorenliste anzeigen" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Benachrichtigungen aktivieren" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Obere Grenze:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Untere Grenze:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarm" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Sensor im Menü anzeigen" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor wurde ohne Unterstützung für AppIndicator kompiliert" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "Sensor in der Menüleiste anzeigen (experimentell)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Programm-Indikator" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "Keine Graphen aktiviert" #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." @@ -59,11 +444,11 @@ msgstr "Anzahl der AMD/ATI-Adapter: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Anzahl der aktiven AMD/ATI-Adapter: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: sk_disk_open() gescheitert: %s." @@ -83,37 +468,37 @@ msgstr "%s: Öffnen der Verbindung gescheitert." msgid "%s: wrong string: %s." msgstr "%s: Falsche Zeichenkette: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "%s: Wert der Unterfunktion %s kann nicht ermittelt werden: %s." -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: Falscher Funktionstyp." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: Initialisierung gescheitert: %s." @@ -139,48 +524,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Protokolldatei kann nicht geöffnet werden: %s" -#: src/lib/nvidia.c:58 -#, fuzzy, c-format +#: src/lib/nvidia.c:69 +#, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" -msgstr "Ermittlung der NVIDIA-Informationen gescheitert." +msgstr "%s: Unbekannter NVIDIA Produktname der GPU %d" -#: src/lib/nvidia.c:63 -#, fuzzy, c-format +#: src/lib/nvidia.c:74 +#, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" -msgstr "Ermittlung der NVIDIA-Informationen gescheitert." +msgstr "%s: Abrufen des NVIDIA Produktnamens der GPU %d gescheitert" -#: src/lib/nvidia.c:226 -#, fuzzy, c-format +#: src/lib/nvidia.c:240 +#, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" -msgstr "Ermittlung der NVIDIA-Informationen gescheitert." +msgstr "%s: Abrufen der Messung vom Typ %x der NVIDIA GPU %d gescheitert" -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, 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 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Ermittlung der NVIDIA-Informationen gescheitert." -#: src/lib/nvidia.c:370 -#, fuzzy, c-format +#: src/lib/nvidia.c:394 +#, c-format msgid "%s: Failed to retrieve number of fans." -msgstr "Ermittlung der NVIDIA-Informationen gescheitert." +msgstr "%s: Abrufen der Lüfteranzahl gescheitert." -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "U/min" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "N/V" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "HOME-Variable ist nicht festgelegt." @@ -204,7 +585,7 @@ msgstr "" "Sensorprotokolldatei ist nicht geöffnet und kann deswegen nicht geschlossen " "werden." -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -220,12 +601,12 @@ msgstr "" "weiterverbreiten.\n" "Sie wird OHNE JEGLICHE GEWÄHRLEISTUNG zur Verfügung gestellt.\n" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" -msgstr "Aufruf: %s [OPTION] …\n" +msgstr "Aufruf: %s [OPTION]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -233,11 +614,11 @@ msgstr "" "Psensor ist eine GTK+-Anwendung zur Überwachung von Hardware-Sensoren, " "inklusive Temperaturen und Lüftergeschwindigkeiten." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Optionen:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -245,7 +626,7 @@ msgstr "" " -h, --help Diese Hilfe anzeigen und beenden\n" " -v, --version Versionsinformationen anzeigen und beenden" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -253,73 +634,62 @@ msgstr "" " -u, --url=URL Die Adresse (URL) von psensor-server,\n" " Beispiel: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance Erzeugung einer neuen Psensor-Anwendung erzwingen" -#: src/main.c:110 +#: src/main.c:91 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=STUFE Fehlerdiagnosestufe festlegen, Ganzzahl zwischen 0 und " "3" -#: src/main.c:115 src/server/server.c:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Programmfehler melden an: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-Website: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor wurde ohne Unterstützung für entfernte Sensoren kompiliert." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Fehlerdiagnosemodus wird aktiviert." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, 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:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Es existiert bereits eine Psensor-Instanz." -#: src/main.c:631 -#, fuzzy +#: src/main.c:527 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" +msgstr "Erzeugung eines Threads zur Sensorenüberwachung fehlgeschlagen" -#: src/rsensor.c:107 +#: src/rsensor.c:115 #, c-format -msgid "Fail to connect to: %s" -msgstr "Herstellen der Verbindung gescheitert: %s" +msgid "%s: Fail to connect to: %s" +msgstr "%s: Herstellen der Verbindung mit %s gescheitert" -#: src/rsensor.c:144 +#: src/rsensor.c:152 #, c-format -msgid "Invalid content: %s" -msgstr "Ungültiger Inhalt: %s" +msgid "%s: Invalid content: %s" +msgstr "%s: Ungültiger Inhalt: %s" -#: src/rsensor.c:184 +#: src/rsensor.c:192 #, c-format -msgid "Invalid JSON: %s" -msgstr "Ungültiges JSON: %s" +msgid "%s: Invalid JSON: %s" +msgstr "%s: Ungültiges JSON: %s" #: src/server/server.c:58 msgid "

    Server stop requested

    " @@ -329,7 +699,7 @@ msgstr "

    Anhalten des Servers angefordert

    " msgid "" "

    Page not found - Go to Main page

    " msgstr "" -"

    Seite nicht gefunden – Gehen Sie zurück zur

    Seite nicht gefunden - Gehen Sie zurück zur Startseite

    " #: src/server/server.c:100 @@ -374,80 +744,100 @@ msgstr "" " --sensor-log-interval=S Sensorenprotokollierungsintervall auf S (Sekunden) " "festlegen" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "Zugriff auf Ressource verweigert, %s tatsächlicher Pfad ist %s" + +#: src/server/server.c:269 +#, c-format +msgid "Cannot get real path of %s" +msgstr "Tatsächlicher Pfad von %s kann nicht ermittelt werden" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP Abfrage: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Aktiviert den Fehlerdiagnosemodus: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" -msgstr "" +msgstr "Webserver-Ordner existiert nicht.\n" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Keine Sensoren erkannt." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Erzeugen des Webservers ist gescheitert." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" -msgstr "Web-Server wurde gestartet auf Port: %d" +msgstr "Webserver wurde gestartet auf Port: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW-Ordner: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "Adresse: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert." -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor ist eine GTK-Anwendung zur Überwachung von Hardware-Sensoren" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" -msgstr "Copyright © 2010-2014jeanfi@gmail.com" +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" +msgstr "Copyright(c) 2010-2016 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Info zu Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"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/ui.c:226 msgid "Psensor Homepage" msgstr "Psensor-Website" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Laden des Psensor-Symbols ist gescheitert." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" -msgstr "" +msgstr "Verstecken" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Einstellungen" - -#: src/ui_sensorlist.c:296 -#, fuzzy +#: src/ui_sensorlist.c:303 msgid "Select sensor color" -msgstr "Wählen Sie eine Vordergrundfarbe" +msgstr "Wählen Sie eine Sensorfarbe" + +#: src/ui_appindicator.c:148 +#, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Laden der Glade-Datei %s ist gescheitert: %s" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -458,173 +848,13 @@ msgid "Temperature alert" msgstr "Temperaturalarm" #: src/ui_notify.c:79 -#, fuzzy msgid "Fan speed alert" -msgstr "Lüfteralarm" +msgstr "Lüftergeschwindigkeitsalarm" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Unbekannt" -#~ msgid "About" -#~ msgstr "Info" - -#~ msgid "Sensor Preferences" -#~ msgstr "Sensoreinstellungen" - -#~ msgid "Quit" -#~ msgstr "Beenden" - -#~ msgid "Show" -#~ msgstr "Anzeigen" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor – Temperaturüberwachung" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Hilfe" - -#~ msgid "Sensor" -#~ msgstr "Sensor" - -#~ msgid "Value" -#~ msgstr "Wert" - -#~ msgid "Min" -#~ msgstr "Min." - -#~ msgid "Max" -#~ msgstr "Max." - -#~ msgid "Color" -#~ msgstr "Farbe" - -#~ msgid "Graph" -#~ msgstr "Graph" - -#~ msgid "Left" -#~ msgstr "links" - -#~ msgid "Top" -#~ msgstr "Oberseite" - -#~ msgid "Bottom" -#~ msgstr "Unterseite" - -#~ msgid "Edit Preferences" -#~ msgstr "Einstellungen bearbeiten" - -#~ msgid "Hide window decoration" -#~ msgstr "Keine Fensterdekorationen verwenden" - -#~ msgid "Keep window below" -#~ msgstr "Fenster unterhalb anheften" - -#~ msgid "Enable menu" -#~ msgstr "Menü aktivieren" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Wert im Starter von Unity anzeigen" - -#~ msgid "Temperature unit:" -#~ msgstr "Temperatureinheit:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Position der Sensorentabelle:" - -#~ msgid "Interface" -#~ msgstr "Benutzeroberfläche" - -#~ msgid "Hide window on startup" -#~ msgstr "Fenster beim Programmstart ausblenden" - -#~ msgid "Restore window position and size" -#~ msgstr "Fensterposition und -größe merken" - -#~ msgid "Foreground:" -#~ msgstr "Vordergrund:" - -#~ msgid "Background:" -#~ msgstr "Hintergrund:" - -#~ msgid "Background opacity:" -#~ msgstr "Hintergrunddeckkraft:" - -#~ msgid "Colors" -#~ msgstr "Farben" - -#~ msgid "Monitoring duration:" -#~ msgstr "Überwachungszeitraum:" - -#~ msgid "Update interval:" -#~ msgstr "Aktualisierungsintervall:" - -#~ msgid "Measures" -#~ msgstr "Messungen" - -#~ msgid "Min" -#~ msgstr "Min." - -#~ msgid "Max" -#~ msgstr "Max." - -#~ msgid "second(s)" -#~ msgstr "Sekunde(n)" - -#~ msgid "minute(s)" -#~ msgstr "Minute(n)" - -#~ msgid "Measure update interval:" -#~ msgstr "Messintervall:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Sensorenprotokollierung aktivieren" - -#~ msgid "seconds(s)" -#~ msgstr "Sekunde(n)" - -#~ msgid "Sensors" -#~ msgstr "Sensoren" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Sensoreinstellungen bearbeiten" - -#~ msgid "Name" -#~ msgstr "Name" - -#~ msgid "Type:" -#~ msgstr "Typ:" - -#~ msgid "Chip:" -#~ msgstr "Chip:" - -#~ msgid "Name:" -#~ msgstr "Name:" - -#~ msgid "Id:" -#~ msgstr "Id:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Sensorgraphen darstellen" - -#~ msgid "Color:" -#~ msgstr "Farbe:" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Benachrichtigungen aktivieren" - -#~ msgid "High threshold:" -#~ msgstr "Obere Grenze:" - -#~ msgid "Low threshold:" -#~ msgstr "Untere Grenze:" - -#~ msgid "Alarm" -#~ msgstr "Alarm" - #~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." #~ msgstr "" #~ "lmsensor: lmsensor_psensor_create gescheitert: Falscher Funktionstyp." diff --git a/po/el.gmo b/po/el.gmo new file mode 100644 index 0000000000000000000000000000000000000000..68b9bbc332da8dc30c63626f597e478cd036461a GIT binary patch literal 416 zcmZ9H%}N6?5P%gu?a{M`5j-e$YO-ouQ&+^=O2J|&tM|B_u3LALB}qje#Mkp#oK1+^#RtpnMP z+aj7#ZC${L&x<+Uu5yp5Rj?#&7R60o>7s0Bwu+{YDGnUzz$Nfb2T~9V*+n5SjzM0i zbJ-G72o`Zh??uyU<8@GU@JxX0DiOCt%-)0c0aK@qFLkg^0bKoWdd-r_S2`z5NmmN) z9nstRQ2~|FWIP#eR+GHYz?wjYYk$@}WT205T9>*oeaK$5^AwV&bcDT)*UYdWheMOu od0}z|y_X_H({kl>i6iSOufWv5SD(av_)C)`0|yDn<9@XD1A|a?YXATM literal 0 HcmV?d00001 diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..fc5ff3f --- /dev/null +++ b/po/el.po @@ -0,0 +1,821 @@ +# Greek translations for psensor package. +# Copyright (C) 2016 Free Software Foundation, Inc. +# This file is distributed under the same license as the psensor package. +# , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: psensor 1.2.0\n" +"Report-Msgid-Bugs-To: jeanfi@gmail.com\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" +"PO-Revision-Date: 2016-06-30 17:02+0200\n" +"Last-Translator: \n" +"Language-Team: Greek\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/cfg.c:501 +#, c-format +msgid "Failed to create the directory %s: %s" +msgstr "" + +#: src/cfg.c:548 +#, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "" + +#: src/cfg.c:573 +#, c-format +msgid "Failed to save configuration file %s." +msgstr "" + +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "" + +#: src/glade/psensor-pref.glade:190 +msgid "Psensor has not been build with Unity Launcher support" +msgstr "" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +msgid "Psensor has not been build with NVCtrl support" +msgstr "" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +msgid "Psensor has not been build with ATI ADL support" +msgstr "" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +msgid "Psensor has not been build with gtop2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +msgid "Psensor has not been build with libatasmart support" +msgstr "" + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +msgid "Psensor has not been build with udisks2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +msgid "Psensor has not been build with AppIndicator support" +msgstr "" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + +#: src/lib/amd.c:171 +msgid "AMD: cannot found ADL library." +msgstr "" + +#: src/lib/amd.c:198 +msgid "AMD: missing ADL's API." +msgstr "" + +#: src/lib/amd.c:208 +msgid "AMD: failed to initialize ADL." +msgstr "" + +#: src/lib/amd.c:214 +msgid "AMD: cannot get the number of adapters." +msgstr "" + +#: src/lib/amd.c:253 +#, c-format +msgid "Number of AMD/ATI adapters: %d" +msgstr "" + +#: src/lib/amd.c:254 +#, c-format +msgid "Number of active AMD/ATI adapters: %d" +msgstr "" + +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 +msgid "Disk" +msgstr "" + +#: src/lib/hdd_atasmart.c:153 +#, c-format +msgid "%s: sk_disk_open() failure: %s." +msgstr "" + +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "" + +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "" + +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 +#, c-format +msgid "%s: wrong string: %s." +msgstr "" + +#: src/lib/lmsensor.c:73 +#, c-format +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "" + +#: src/lib/lmsensor.c:174 +#, c-format +msgid "%s: Wrong feature type." +msgstr "" + +#: src/lib/lmsensor.c:203 +msgid "Intel CPU" +msgstr "" + +#: src/lib/lmsensor.c:207 +msgid "AMD CPU" +msgstr "" + +#: src/lib/lmsensor.c:209 +msgid "NVIDIA GPU" +msgstr "" + +#: src/lib/lmsensor.c:211 +msgid "VIA CPU" +msgstr "" + +#: src/lib/lmsensor.c:213 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:245 +#, c-format +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 +#, c-format +msgid "Cannot open log file: %s" +msgstr "" + +#: src/lib/nvidia.c:69 +#, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "" + +#: src/lib/nvidia.c:74 +#, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "" + +#: src/lib/nvidia.c:240 +#, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "" + +#: src/lib/nvidia.c:317 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "" + +#: src/lib/nvidia.c:325 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "" + +#: src/lib/nvidia.c:394 +#, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "" + +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 +msgid "RPM" +msgstr "" + +#: src/lib/psensor.c:428 +msgid "%" +msgstr "" + +#: src/lib/slog.c:87 +msgid "HOME variable not set." +msgstr "" + +#: src/lib/slog.c:96 +msgid "Sensor log file already open." +msgstr "" + +#: src/lib/slog.c:105 +#, c-format +msgid "Cannot open sensor log file: %s." +msgstr "" + +#: src/lib/slog.c:136 +msgid "Sensor log file not open." +msgstr "" + +#: src/lib/slog.c:192 +msgid "Sensor log not open, cannot close." +msgstr "" + +#: src/main.c:61 src/server/server.c:88 +#, c-format +msgid "" +"Copyright (C) %s jeanfi@gmail.com\n" +"License GPLv2: GNU GPL version 2 or later \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 "" + +#: src/main.c:72 src/server/server.c:98 +#, c-format +msgid "Usage: %s [OPTION]...\n" +msgstr "" + +#: src/main.c:74 +msgid "" +"Psensor is a GTK+ application for monitoring hardware sensors, including " +"temperatures and fan speeds." +msgstr "" + +#: src/main.c:78 +msgid "Options:" +msgstr "" + +#: src/main.c:79 +msgid "" +" -h, --help display this help and exit\n" +" -v, --version display version information and exit" +msgstr "" + +#: src/main.c:85 +msgid "" +" -u, --url=URL the URL of the psensor-server,\n" +" example: http://hostname:3131" +msgstr "" + +#: src/main.c:88 +msgid " -n, --new-instance force the creation of a new Psensor application" +msgstr "" + +#: src/main.c:91 +msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" +msgstr "" + +#: src/main.c:96 src/server/server.c:121 +#, c-format +msgid "Report bugs to: %s\n" +msgstr "" + +#: src/main.c:98 src/server/server.c:123 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "" + +#: src/main.c:390 +msgid "Psensor has not been compiled with remote sensor support." +msgstr "" + +#: src/main.c:460 +msgid "Enables debug mode." +msgstr "" + +#: src/main.c:472 src/server/server.c:422 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "" + +#: src/main.c:485 +msgid "A Psensor instance already exists." +msgstr "" + +#: src/main.c:527 +msgid "Failed to create thread for monitoring sensors" +msgstr "" + +#: src/rsensor.c:115 +#, c-format +msgid "%s: Fail to connect to: %s" +msgstr "" + +#: src/rsensor.c:152 +#, c-format +msgid "%s: Invalid content: %s" +msgstr "" + +#: src/rsensor.c:192 +#, c-format +msgid "%s: Invalid JSON: %s" +msgstr "" + +#: src/server/server.c:58 +msgid "

    Server stop requested

    " +msgstr "" + +#: src/server/server.c:64 +msgid "" +"

    Page not found - Go to Main page

    " +msgstr "" + +#: src/server/server.c:100 +msgid "" +"psensor-server is an HTTP server for monitoring hardware sensors remotely." +msgstr "" + +#: src/server/server.c:105 +msgid "" +" -h, --help\t\tdisplay this help and exit\n" +" -v, --version\t\tdisplay version information and exit" +msgstr "" + +#: src/server/server.c:109 +msgid "" +" -p,--port=PORT\twebserver port\n" +" -w,--wdir=DIR\t\tdirectory containing webserver pages" +msgstr "" + +#: src/server/server.c:113 +msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" +msgstr "" + +#: src/server/server.c:115 +msgid " -l, --log-file=PATH set the log file to PATH" +msgstr "" + +#: src/server/server.c:116 +msgid " --sensor-log-file=PATH set the sensor log file to PATH" +msgstr "" + +#: src/server/server.c:117 +msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" +msgstr "" + +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, c-format +msgid "Cannot get real path of %s" +msgstr "" + +#: src/server/server.c:339 +#, c-format +msgid "HTTP Request: %s" +msgstr "" + +#: src/server/server.c:402 +#, c-format +msgid "Enables debug mode: %d" +msgstr "" + +#: src/server/server.c:431 +#, c-format +msgid "Webserver directory does not exist.\n" +msgstr "" + +#: src/server/server.c:452 +msgid "No sensors detected." +msgstr "" + +#: src/server/server.c:459 +msgid "Failed to create Web server." +msgstr "" + +#: src/server/server.c:463 +#, c-format +msgid "Web server started on port: %d" +msgstr "" + +#: src/server/server.c:464 +#, c-format +msgid "WWW directory: %s" +msgstr "" + +#: src/server/server.c:465 +#, c-format +msgid "URL: http://localhost:%d" +msgstr "" + +#: src/server/server.c:475 +msgid "Failed to activate logging of sensors." +msgstr "" + +#: src/ui.c:213 +msgid "Psensor is a GTK+ application for monitoring hardware sensors" +msgstr "" + +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" +msgstr "" + +#: src/ui.c:222 +msgid "About Psensor" +msgstr "" + +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" + +#: src/ui.c:226 +msgid "Psensor Homepage" +msgstr "" + +#: src/ui.c:363 +msgid "Failed to load Psensor icon." +msgstr "" + +#: src/ui_sensorlist.c:259 +msgid "Hide" +msgstr "" + +#: src/ui_sensorlist.c:303 +msgid "Select sensor color" +msgstr "" + +#: src/ui_appindicator.c:148 +#, c-format +msgid "Failed to load glade file %s: %s" +msgstr "" + +#: src/ui_notify.c:48 +msgid "gettimeofday failed." +msgstr "" + +#: src/ui_notify.c:77 +msgid "Temperature alert" +msgstr "" + +#: src/ui_notify.c:79 +msgid "Fan speed alert" +msgstr "" + +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 +msgid "Unknown" +msgstr "" diff --git a/po/es.gmo b/po/es.gmo index f60bb624f5db03ff75e8f2ec9b95bf14c70b54bd..7e53918f13bd7dc6ad5f7fbd5737832e75cbe234 100644 GIT binary patch delta 4696 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\n" "Language-Team: Spanish \n" @@ -18,21 +18,415 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Fallo al crear el servidor Web" -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "Error al activar el registro de sensores" -#: src/cfg.c:580 +#: src/cfg.c:573 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Error al activar el registro de sensores" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Acerca de" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Ajustes" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Salir" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Ajustes de los Sensores" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Monitor de temperatura" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Ayuda" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Valor" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Mín" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Máx" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Color" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Gráfica" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Mostrar" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Derecha" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Izquierda" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Arriba" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Abajo" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Editar Ajustes" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Ocultar el marco de la ventana" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Mantener debajo del resto de ventanas" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Activar menú" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Inicio retardado al abrir sesión" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor no ha sido compilado con soporte para sensores remotos." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Unidad de temperatura" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Ubicación de los valores" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Interfaz" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Ocultar la ventana de gráficas al iniciar sesión." + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Restaurar tamaño y posición de la ventana" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Escalas y cuadrícula" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Fondo de gráfica" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Opacidad del fondo:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Colores" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Intervalo de la gráfica" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Intervalo de actualización:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Medidas" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Mín" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Máx" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "segundo(s)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minuto(s)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Medir sensores cada:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Activar registro de sensores" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Intervalo de registro de sensores:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Sensores" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor no ha sido compilado con soporte para sensores remotos." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor no ha sido compilado con soporte para sensores remotos." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor no ha sido compilado con soporte para sensores remotos." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor no ha sido compilado con soporte para sensores remotos." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor no ha sido compilado con soporte para sensores remotos." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Editar Ajustes Sensores" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Nombre" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Tipo:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "No disponible" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Chip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Nombre:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Identificativo:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Representar el sensor en la gráfica" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Color:" + +#: src/glade/sensor-edit.glade:448 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Mostrar sensor en el menú de aplicaciones" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Activar notificaciones en el escritorio" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Límite superior" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Límite inferior" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarma" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Mostrar sensor en el menú de aplicaciones" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor no ha sido compilado con soporte para sensores remotos." + +#: src/glade/sensor-edit.glade:719 +#, fuzzy +msgid "Display sensor in the label (experimental)" +msgstr "Mostrar sensor en el menú de aplicaciones" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Indicador de aplicación" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: no se ha encontrado la librería ADL" @@ -59,11 +453,11 @@ msgstr "Numero de adaptadores AMD/ATI: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Numero de adaptadores AMD/ATI: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: sk_disk_open() Error: %s" @@ -83,37 +477,37 @@ msgstr "%s: fallo al establecer conexión" msgid "%s: wrong string: %s." msgstr "%s: argumento erróneo:%s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "%s: imposible obtener el valor de subcaracterística %s:%s" -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: Fallo de inicialización:%s." @@ -139,48 +533,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Imposible abrir el archivo de registro: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, 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 +#: src/lib/nvidia.c:74 #, 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 +#: src/lib/nvidia.c:240 #, 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:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Imposible establecer conexión con el servidor X11." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Error al obtener la información de NVIDIA" -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, fuzzy, c-format msgid "%s: Failed to retrieve number of fans." msgstr "Error al obtener la información de NVIDIA" -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "No disponible" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "La variable HOME no ha sido definida" @@ -202,7 +592,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:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -218,12 +608,12 @@ msgstr "" "apoyada por el autor. \n" "No existe NINGUNA GARANTÍA hasta donde la ley lo permita.\n" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPTION]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -231,11 +621,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:97 +#: src/main.c:78 msgid "Options:" msgstr "Opciones" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -243,7 +633,7 @@ msgstr "" " -h, --help Muestra esta ayuda. \n" " -v, --versión Muestra información sobre la versión." -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -251,70 +641,61 @@ msgstr "" " -u, --url=URL La URL del servidor psensor,\n" " ejemplo: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance Fuerza el inicio de otro Psensor paralelo" -#: src/main.c:110 +#: src/main.c:91 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 valor entre 0 " "y 3" -#: src/main.c:115 src/server/server.c:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Comunicar fallos: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Página Oficial: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor no ha sido compilado con soporte para sensores remotos." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Activa el modo de depuración" -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Introducir `%s --ayuda' para obtener más información\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Ya existe un Psensor en ejecución." -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Error al conectar a:%s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Contenido no válido:%s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "JSON no válido:%s" #: src/server/server.c:58 @@ -369,83 +750,104 @@ msgstr " --sensor-log-file=PATH establecer el archivo de registro en PATH" 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:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Imposible abrir el archivo de registro: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "Petición HTTP:%s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Activa el modo de depuración:%d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "No se han detectado sensores." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Fallo al crear el servidor Web" -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Servidor web iniciado en el puerto:%d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "directorio WWW:%s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Error al activar el registro de sensores" -#: src/ui.c:87 +#: src/ui.c:213 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:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Sobre Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "Web de Psensor" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Error al cargar el icono de Psensor" -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Ajustes" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Seleccionar el color del primer plano" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Error al activar el registro de sensores" + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "Error en la adquisición del horario." @@ -459,190 +861,10 @@ msgstr "Alarma por temperatura." msgid "Fan speed alert" msgstr "Alarma por parada de ventilador." -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Desconocido" -#~ msgid "About" -#~ msgstr "Acerca de" - -#~ msgid "Sensor Preferences" -#~ msgstr "Ajustes de los Sensores" - -#~ msgid "Quit" -#~ msgstr "Salir" - -#~ msgid "Show" -#~ msgstr "Mostrar" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Monitor de temperatura" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Ayuda" - -#~ msgid "Sensor" -#~ msgstr "Sensor" - -#~ msgid "Value" -#~ msgstr "Valor" - -#~ msgid "Min" -#~ msgstr "Mín" - -#~ msgid "Max" -#~ msgstr "Máx" - -#~ msgid "Color" -#~ msgstr "Color" - -#~ msgid "Graph" -#~ msgstr "Gráfica" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Derecha" - -#~ msgid "Left" -#~ msgstr "Izquierda" - -#~ msgid "Top" -#~ msgstr "Arriba" - -#~ msgid "Bottom" -#~ msgstr "Abajo" - -#~ msgid "Edit Preferences" -#~ msgstr "Editar Ajustes" - -#~ msgid "Hide window decoration" -#~ msgstr "Ocultar el marco de la ventana" - -#~ msgid "Keep window below" -#~ msgstr "Mantener debajo del resto de ventanas" - -#~ msgid "Enable menu" -#~ msgstr "Activar menú" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Inicio retardado al abrir sesión" - -#~ msgid "Temperature unit:" -#~ msgstr "Unidad de temperatura" - -#~ msgid "Position of sensors table:" -#~ msgstr "Ubicación de los valores" - -#~ msgid "Interface" -#~ msgstr "Interfaz" - -#~ msgid "Hide window on startup" -#~ msgstr "Ocultar la ventana de gráficas al iniciar sesión." - -#~ msgid "Restore window position and size" -#~ msgstr "Restaurar tamaño y posición de la ventana" - -#~ msgid "Foreground:" -#~ msgstr "Escalas y cuadrícula" - -#~ msgid "Background:" -#~ msgstr "Fondo de gráfica" - -#~ msgid "Background opacity:" -#~ msgstr "Opacidad del fondo:" - -#~ msgid "Colors" -#~ msgstr "Colores" - -#~ msgid "Monitoring duration:" -#~ msgstr "Intervalo de la gráfica" - -#~ msgid "Update interval:" -#~ msgstr "Intervalo de actualización:" - -#~ msgid "Measures" -#~ msgstr "Medidas" - -#~ msgid "Min" -#~ msgstr "Mín" - -#~ msgid "Max" -#~ msgstr "Máx" - -#~ msgid "second(s)" -#~ msgstr "segundo(s)" - -#~ msgid "minute(s)" -#~ msgstr "minuto(s)" - -#~ msgid "Measure update interval:" -#~ msgstr "Medir sensores cada:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Activar registro de sensores" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Intervalo de registro de sensores:" - -#~ msgid "seconds(s)" -#~ msgstr "segundo(s)" - -#~ msgid "Sensors" -#~ msgstr "Sensores" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Editar Ajustes Sensores" - -#~ msgid "Name" -#~ msgstr "Nombre" - -#~ msgid "Type:" -#~ msgstr "Tipo:" - -#~ msgid "Chip:" -#~ msgstr "Chip:" - -#~ msgid "Name:" -#~ msgstr "Nombre:" - -#~ msgid "Id:" -#~ msgstr "Identificativo:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Representar el sensor en la gráfica" - -#~ msgid "Color:" -#~ msgstr "Color:" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Mostrar sensor en el menú de aplicaciones" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Activar notificaciones en el escritorio" - -#~ msgid "High threshold:" -#~ msgstr "Límite superior" - -#~ msgid "Low threshold:" -#~ msgstr "Límite inferior" - -#~ msgid "Alarm" -#~ msgstr "Alarma" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Mostrar sensor en el menú de aplicaciones" - -#, fuzzy -#~ msgid "Display sensor in the label (experimental)" -#~ msgstr "Mostrar sensor en el menú de aplicaciones" - -#~ msgid "Application Indicator" -#~ msgstr "Indicador de aplicación" - #~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." #~ msgstr "" #~ "lmsensor: lmsensor_psensor_create Fallo: tipo de funcion equivocada." diff --git a/po/fr.gmo b/po/fr.gmo index ce673d82789356450c54acb677297db4dfce867c..751bcccb3e55648d82a015532d006aee63a6f29f 100644 GIT binary patch delta 4791 zcmZvde{5CN9l#G-ilzK0h#*kfi&z0mp+!Y_0;4~$t&~zq3qugReeblr^4`6d`=k6= z+%x=PqFJ1JV{~y@bhtR#L(F0vThzJ4Y-VJ0pYOf*!RzA5 z``*tv=bn4M-}C)`&-b0(_SHb~()@~N6zwEZi+pmuQm5e?GkDOtW-7H2cEb*MD&@Pd zjq$8%r4GSe@CbYbHp3;el-dq=z(M#F9EE>@(_r6hrEXNJsQT&L&crZWEeq4}FJK+x zkKqzHeU4J~&`7xr-o*Gpcpn^t8{pdz+timSub->bEsWc5b~s`)iaRl+)m^Hc-88Lox~Y=g3IHl+n+y(2`w z8l&?c_%N)1-L*YPeG@K&??W-*3%C%f`H5kRpo|;gZLkeWXswiw zLTp#3VNo`ipd%K(1?9tELQ(iZI{q|e1;>^TmqIydBdmh!Qf`9SqS~PxWDpVsbw8B# z78K7E;0^H68;QTX_%0I*V3aOA10{y%pltLy6a(LYvhF;T4K6~-jSrz5#(ZH$ZmM*9Ie_i(H}_$=HFFT(=N;9sc? zXW&-2Vkt(#A((@2!5(-k87BAoD3oOLd33-h;a%|ea3ie7jg7Da-YNIrrE@D2KY}aZ zZ=l5VGq?*@aokS0A4*QVnDQJHSH2Eg;3X&uYA6zNzq_F*J_^M%FGKOvYf$w33Ra?D z{f&-<;2#j3YNnB7`6?(e+XzMRW+*Z5ge+ALLCKNFp@i-!D2l!ZB{@&SPF!*h%DOL> zC%JV6ik@0FTY`R-kq#V$Vz~?Dnmq^QglC|*^a2!5eF8VZc^pID?|^He2PMWYLaMC# zDHO$TL!zX9oxcAF%6I>QML9_wyUK@KVFla`B?iIKC5C^8^8U+o zyaFr4Gi#t2vISPay^w5H2Vf<95^{mmvv3A{4N3@q4kh;QLs|Dlk&a~L6(|1;~}U2r{89O98h_&#pr zR$OQfLXAibkS2L@5|Ow|O}CK~h=k!7avvf|D8@G<-$bNIB5pv2WkAa$Q1?JQT~uS~ z#BESwC8xX&xdRc8NUKI9(W;Q`$Yvx&)*zB6(heab$Tws_+k&_V6*z8kqe?ALNAhZ? z+<$2jQ)wo0H13g|PzumtL}J^GNV0jzMnsB>giaF4LfVmjL>lQ57cHu9+!|AsV;zH0 z(Jy~I(s~d{sty^@`jFj7lMHBkksQKpQu~kqktPW$?d}BeP4VeJgfygc6i0P`+L!z> z5J}wqlAVLd4TvOKdApZEDPcgd(PrO zo*veowzJw#CicV!oH}otLwRis+SqFJn4z5=)t-^%2!Zz0_V{gWq9qxmdVC}AjEq?J zNOW;lb5u9GFz;T+)5+O0s?#&w(dhBntBYM$P8-K8JLeq3pIOI?y{O8k9oz5&(+fhE z>5);6%bvTLeq;hPX_6-msa~YKPWtY1bj0caEtZJshYWl$3oFMLHNsGSZDa6HaqU>e)Pwi zcP;M=vzqtqPMBxU60gnp6Dt>YPm`N|G}Nkfn0g}@k*k?C-5@r@v^8 z7}_?bL{N2_A&S%OEnEDSZci~uHluhD1)Nc^d~Hm=U_6BXV^0>eR2m;Mb|$^Jv~+~H zJpO>U)nnSq#|||zQFZO|>RzY7`uG_&);8=bU2w@R(})Yolqkh#oD$IF;!t4rNaZi> zE|CqWI2=Gq&cyw-&C_N`siFKuk1bm<&_6jYyIZkCuGSSDBx>0vHhF4H;*`M0W%{QW z_jKLj=$&Pc5af8Jf7M~)E^(8M?<_z53z+gDrz)j97mxy^<Q>ao{~KQ)woG)kuD+7eM8-t# p)pboj+{zzTR8zlrUQ(NUDNY@pV+A@|RexY+QkA4+MW^b={|Dpj-B$nr delta 2134 zcmajfU2IfE6u|K*R4gmB+m?1KAPn0Uw$Lt1sTC?MEp4qW*sj>BP#{^i({`oZEqAvB zG`dEfKn%#lkHiO!R)K)}&_olXQK>|u5fi^qV*G$;d@x31G%rhZeaci?!ds+O6|nm z7{T+{j>UOO_2CvA#+NV$%VzU8rLt;1gXJuQu}UuV=KF9F^A~YGet?Vd2hTj8QYFko z*o944kNYu*Z=(GE0xrWD*G$isV}N-l&gK3p#$YB3DJ;V@YCMP+@dcC(PRvnClJYSU zx%wPS@kh^@bCp`kd_GDhTReAQ0rPuNu73#q_zceG{%X=&cpYWqGbjO_M}k-1<2?KY z$)1{(uM{z<0+fvw;99K4MjS+g6Da%mxV!9|kJn)kuf=A}N~*RpD8&0vp5PElCSFF4 zQGJLK`B{|fenLsD++6}&j9plVMVQ4WIpibQ%sk9uKc+B>@8hkwu$cUhGDs5MJ@_Ry z;T`O{4Ije+{1rFhogBCn&vPg#K8jM5Z{zhin<%AN*W(J@gLOE875D{~3s?4WayQjJxro zs3%YYe+ng_*Rl*GmEWSAp;|BtHd<#-aS@GNe?9HN&%+E7y6 zhf-VzP-lZ`reE3WnMg3X-r_oxpd_`@ zb~& ziMukLav91IaFT9of$E4WZ_1-G@g9AWkD)(wKtdIl8TmEkazr2t6?B@P)(Q0 zmL|s|O$tf=FG$)e>GH0xq06~b=&G4MgWf`~rIUHLXu{6N*>q+Q_O%4PSNoZWBumCYpyvV~LS)JTV!uBLmNj>$nc5~)0pRn(iuUs2-Qao+i zj62#*pOTd6#B~0Qd#!49lQ#a})gzTlY)xf_&zU+tICWf-HhHWvl4HMF8nh2CE3>I( z5BOUoFGgpEjWe2%Xtsvx?c<@K{VcS|{u$~BOzn>ko46h@`pVRV?XIeRd$#J>zfyiZ AkN^Mx diff --git a/po/fr.po b/po/fr.po index 883127c..d5e47f2 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-21 09:39+0000\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: French <>\n" @@ -18,21 +18,420 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 09:40+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:557 +#: src/cfg.c:548 #, c-format msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "À propos" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Préférences" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Quitter" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Préférences des capteurs" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Surveillance des températures" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Aide" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Capteur" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Valeur" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Couleur" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Graphe" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Afficher" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Droite" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Gauche" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Haut" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Bas" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Modifier les préférences" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Cacher les décorations de la fenêtre" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Garder la fenêtre en arrière-plan" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Activer le menu" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Activer le compteur du lanceur de Unity" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "" +"Psensor n'a pas été compilé avec le support de surveillance à distance." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Unité de température :" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Position de la table des capteurs :" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Interface" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Cacher la fenêtre au lancement" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Rétablir la position et la taille de la fenêtre" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Avant-plan :" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Arrière-plan :" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Opacité de l'arrière-plan :" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Couleurs" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Durée de surveillance :" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Intervalle de mise à jour :" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Mesures" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "seconde(s)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minutes(s)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Intervalle de mise à jour des mesures :" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Activer la journalisation des capteurs" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Interval de journallisation des capteurs :" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Capteurs" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "" +"Psensor n'a pas été compilé avec le support de surveillance à distance." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "" +"Psensor n'a pas été compilé avec le support de surveillance à distance." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "" +"Psensor n'a pas été compilé avec le support de surveillance à distance." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "" +"Psensor n'a pas été compilé avec le support de surveillance à distance." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "" +"Psensor n'a pas été compilé avec le support de surveillance à distance." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Préférences des capteurs" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Nom :" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Type :" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "N/A" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Puce :" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Nom :" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id :" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Dessiner la courbe du capteur" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Couleur :" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Activer les notifications du bureau" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Seuil supérieur :" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Seuil inférieur :" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarme" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Afficher le capteur dans le menu" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "" +"Psensor n'a pas été compilé avec le support de surveillance à distance." + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Indicateur d'application" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD : impossible de trouver la bibliothèque ADL." @@ -59,11 +458,11 @@ msgstr "" msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disque" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s : échec de sk_disk_open() : %s." @@ -83,37 +482,37 @@ msgstr "%s : échec de l'ouverture de la connexion." msgid "%s: wrong string: %s." msgstr "%s : mauvaise chaîne: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format 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:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "Processeur Intel" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "Processeur graphique NVIDIA" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s : échec de l'initialisation: %s." @@ -139,48 +538,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Impossible d'ouvrir le journal: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, 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 +#: src/lib/nvidia.c:74 #, 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:226 +#: src/lib/nvidia.c:240 #, 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 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s : Impossible d'ouvrir la connexion au serveur X11." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, 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 +#: src/lib/nvidia.c:394 #, 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:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "Tr/mn" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "N/A" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "Variable home non définie." @@ -202,7 +597,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:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -219,12 +614,12 @@ msgstr "" "Ce logiciel n'est accompagné d'ABSOLUMENT AUCUNE GARANTIE, dans les limites\n" "autorisées par la loi.\n" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Utilisation : %s [OPTION]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -232,11 +627,11 @@ msgstr "" "Psensor est une application GTK+ pour surveiller les capteurs thermiques et " "les vitesses de ventilateurs." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Options :" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -244,78 +639,70 @@ msgstr "" " -h, --help afficher cette aide et quitter\n" " -v, --version afficher les informations de version et quitter" -#: src/main.c:104 +#: src/main.c:85 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:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance forcer la création d'une nouvelle occurrence de " "l'application Psensor" -#: src/main.c:110 +#: src/main.c:91 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL assigner le niveau de débogage, nombre entier entre 0 " "et 3" -#: src/main.c:115 src/server/server.c:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Signaler les bogues à: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: src/main.c:473 +#: src/main.c:390 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:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Active le mode de débogage." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Essayez « %s --help » pour plus d'informations.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Une instance de Psensor existe déjà." -#: src/main.c:631 +#: src/main.c:527 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Échec de la connexion à : %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Contenu invalide : %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "JSON invalide : %s" #: src/server/server.c:58 @@ -372,82 +759,102 @@ msgstr "" " --sensor-log-interval=S assigne l'intervalle de journalisation du capteur " "à S (secondes)" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Impossible d'ouvrir le journal: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "Requête HTTP : %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Activation du mode de déboguage: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Aucun capteur détecté." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Échec de la création du serveur Web." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Le serveur Web a été démarré sur le port : %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW répertoire : %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL : http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Échec de l'activation de la journalisation des capteurs." -#: src/ui.c:87 +#: src/ui.c:213 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:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Copyright © 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "À propos de Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "Site internet de Psensor" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Échec du chargement de l’icône de Psensor." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Préférences" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 msgid "Select sensor color" msgstr "" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Échec du chargement de l’icône de Psensor." + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "Échec de gettimeofday." @@ -460,178 +867,9 @@ msgstr "Alerte thermique" msgid "Fan speed alert" msgstr "Alerte ventilateur" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Inconnu" -#~ msgid "About" -#~ msgstr "À propos" - -#~ msgid "Sensor Preferences" -#~ msgstr "Préférences des capteurs" - -#~ msgid "Quit" -#~ msgstr "Quitter" - -#~ msgid "Show" -#~ msgstr "Afficher" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Surveillance des températures" - -#~ msgid "_Help" -#~ msgstr "_Aide" - -#~ msgid "Sensor" -#~ msgstr "Capteur" - -#~ msgid "Value" -#~ msgstr "Valeur" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "Color" -#~ msgstr "Couleur" - -#~ msgid "Graph" -#~ msgstr "Graphe" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Droite" - -#~ msgid "Left" -#~ msgstr "Gauche" - -#~ msgid "Top" -#~ msgstr "Haut" - -#~ msgid "Bottom" -#~ msgstr "Bas" - -#~ msgid "Edit Preferences" -#~ msgstr "Modifier les préférences" - -#~ msgid "Hide window decoration" -#~ msgstr "Cacher les décorations de la fenêtre" - -#~ msgid "Keep window below" -#~ msgstr "Garder la fenêtre en arrière-plan" - -#~ msgid "Enable menu" -#~ msgstr "Activer le menu" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Activer le compteur du lanceur de Unity" - -#~ msgid "Temperature unit:" -#~ msgstr "Unité de température :" - -#~ msgid "Position of sensors table:" -#~ msgstr "Position de la table des capteurs :" - -#~ msgid "Interface" -#~ msgstr "Interface" - -#~ msgid "Hide window on startup" -#~ msgstr "Cacher la fenêtre au lancement" - -#~ msgid "Restore window position and size" -#~ msgstr "Rétablir la position et la taille de la fenêtre" - -#~ msgid "Foreground:" -#~ msgstr "Avant-plan :" - -#~ msgid "Background:" -#~ msgstr "Arrière-plan :" - -#~ msgid "Background opacity:" -#~ msgstr "Opacité de l'arrière-plan :" - -#~ msgid "Colors" -#~ msgstr "Couleurs" - -#~ msgid "Monitoring duration:" -#~ msgstr "Durée de surveillance :" - -#~ msgid "Update interval:" -#~ msgstr "Intervalle de mise à jour :" - -#~ msgid "Measures" -#~ msgstr "Mesures" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "second(s)" -#~ msgstr "seconde(s)" - -#~ msgid "minute(s)" -#~ msgstr "minutes(s)" - -#~ msgid "Measure update interval:" -#~ msgstr "Intervalle de mise à jour des mesures :" - -#~ msgid "Enable sensors logging" -#~ msgstr "Activer la journalisation des capteurs" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Interval de journallisation des capteurs :" - -#~ msgid "seconds(s)" -#~ msgstr "seconde(s)" - -#~ msgid "Sensors" -#~ msgstr "Capteurs" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Préférences des capteurs" - -#~ msgid "Name" -#~ msgstr "Nom :" - -#~ msgid "Type:" -#~ msgstr "Type :" - -#~ msgid "Chip:" -#~ msgstr "Puce :" - -#~ msgid "Name:" -#~ msgstr "Nom :" - -#~ msgid "Id:" -#~ msgstr "Id :" - -#~ msgid "Draw sensor curve" -#~ msgstr "Dessiner la courbe du capteur" - -#~ msgid "Color:" -#~ msgstr "Couleur :" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Activer les notifications du bureau" - -#~ msgid "High threshold:" -#~ msgstr "Seuil supérieur :" - -#~ msgid "Low threshold:" -#~ msgstr "Seuil inférieur :" - -#~ msgid "Alarm" -#~ msgstr "Alarme" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Afficher le capteur dans le menu" - -#~ msgid "Application Indicator" -#~ msgstr "Indicateur d'application" - #~ msgid "Sensor Information" #~ msgstr "Informations du capteur" diff --git a/po/hr.gmo b/po/hr.gmo index 759a3d5be1212769a09488615ac3b60b1fe4bbb3..acc84089a2b7857d3b9b305c9a6d4ff605c6d63f 100644 GIT binary patch literal 13394 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 diff --git a/po/hr.po b/po/hr.po index e4e76e1..5e58c93 100644 --- a/po/hr.po +++ b/po/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-21 06:25+0000\n" "Last-Translator: gogo \n" "Language-Team: Croatian \n" @@ -18,21 +18,413 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, c-format msgid "Failed to create the directory %s: %s" msgstr "Neuspjelo stvaranje direktorija %s: %s" -#: src/cfg.c:557 +#: src/cfg.c:548 #, c-format msgid "Failed to load configuration file %s: %s" msgstr "Neuspjelo učitavanje datoteke podešavanja %s: %s" -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "Neuspjelo spremanje datoteke podešavanja %s." +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "O programu" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Osobitosti" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Zatvori" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Osobitosti senzora" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Nadziratelj temperature" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Pomoć" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Senzor" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Vrijednost" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Maks" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Boja" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Grafikon" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Prikaži" + +#: 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:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Celzijus" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Farenhajt" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Jedinica temperature:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Položaj okvira senzora:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Sučelje" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Pokreni pri pokretanju sesije" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Sakrij prozor pri pokretanju" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Vrati položaj i veličinu prozora" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Pokretanje" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Prednji plan:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Pozadina:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Prozirnost pozadine:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Boje" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Trajanje nadziranja:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Razdoblje ažuriranja:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Mjere" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Maks" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "sekunda(i)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minuta(e)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "Zaglađene krivulje" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "Krivulje" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Razdoblje ažuriranja mjera:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Omogući zapisivanje sensora" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Razdoblje zapisivanja senzora:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Skripta za izvršavanje kada se alarm upali" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Senzori" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "Omogući podršku za lm-sensors" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "Omogući podršku za NVCtrl (NVidia)" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "Omogući podršku za ATI ADL" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "Omogući podršku za gtop2" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "Omogući podršku za hddtemp daemon" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "Omogući podršku za libatasmart" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "Omogući podršku za udisks2" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "Promjene će biti primjenjene nakon ponovnog pokretanja psensora." + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "Čvrsti disk" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "Korištenje CPU-a i memorije" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "GPU s vlasničkim upravljačkim programima" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "Matična ploča, CPU i GPU" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Uredi osobitosti senzora" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Naziv" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Vrsta:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "Nedostupno" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Čip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Naziv:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "Pojedinosti" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Iscrtavaj krivulju senzora" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Boja:" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "Prikaži senzor u popisu senzora" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Uključi obavijesti radne površine" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Gornja granica:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "0" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Donja granica:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarm" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Prikaži senzor u izbrniku" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "Prikaži senzor u oznaci (eksperimentalno)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Programičić pokazivača" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: nemogu pronaći ADL biblioteku." @@ -59,11 +451,11 @@ msgstr "Broj AMD/ATI adaptera: %d" 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 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disk" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: sk_disk_open() neuspjelo: %s." @@ -83,37 +475,37 @@ msgstr "%s: neuspjelo otvaranje povezivanja." msgid "%s: wrong string: %s." msgstr "%s: pogrešan string: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, 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 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: pogrešna vrsta značajki." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "Intel CPU" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "AMD CPU" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "NVIDIA GPU" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "VIA CPU" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "ACPI" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: neuspjeh pokretanja: %s." @@ -139,48 +531,44 @@ msgstr "memorija" msgid "Cannot open log file: %s" msgstr "Nemoguće otvaranje datoteke: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, 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 +#: src/lib/nvidia.c:74 #, 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 +#: src/lib/nvidia.c:240 #, 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 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Nemoguće povezivanje s X11 poslužiteljem." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Neuspjelo primanje NVIDIA informacija." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, 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 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "Okr/min" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "Nedostupno" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "HOME varijabla nije postavljena." @@ -202,7 +590,7 @@ msgstr "Datoteka zapisa senzora nije otvorena." msgid "Sensor log not open, cannot close." msgstr "Datoteka zapisa senzora nije otvorena, nemoguće zatvaranje." -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -217,12 +605,12 @@ msgstr "" "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:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Upotreba: %s [MOGUĆNOST]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -230,11 +618,11 @@ msgstr "" "Psensor je GTK+ aplikacija za nadziranje hardverskih senzora, koja uključuje " "temperature i brzinu okretaja ventilatora." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Mogućnosti:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -242,7 +630,7 @@ msgstr "" " -h, --help prikaz pomoći\n" " -v, --version prikaz informacije inačice" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -250,67 +638,60 @@ msgstr "" " -u, --url=URL URL psensor-poslužitelja,\n" " npr: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 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 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Prijavi grešku na: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s početna stranica: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Omogućava način otklanjanja greške." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pokušajte `%s --help` za više informacija.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Psensor primjerak je već pokrenut." -#: src/main.c:631 +#: src/main.c:527 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Neuspjelo povezivanje s: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Nevaljan sadržaj: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "Nevaljan JSON: %s" #: src/server/server.c:58 @@ -366,80 +747,99 @@ 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:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Nemoguće otvaranje datoteke: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP Zahtjev: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Omogućuje način otklanjanja greške: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Nema otkrivenih senzora." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Neuspjelo stvaranje Web poslužitelja." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Web poslužitelj pokrenut na ulazu: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW direktorij: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Neuspjelo aktiviranje zapisivanja senzora." -#: src/ui.c:87 +#: src/ui.c:213 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" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Autorsko pravo(c) 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "O Psensoru" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" gogo https://launchpad.net/~trebelnik-stefina" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "Psensor web stranica" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Neuspjelo učitavanje ikone Psensora." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "Sakrij" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Osobitosti" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 msgid "Select sensor color" msgstr "Odaberi boju senzora" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Neuspjelo učitavanje datoteke podešavanja %s: %s" + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "dobivanje-vremena-dana neuspjelo." @@ -452,250 +852,6 @@ msgstr "Upozorenje temperature" msgid "Fan speed alert" msgstr "Upozorenje brzine ventilatora" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Nepoznato" - -#~ msgid "About" -#~ msgstr "O programu" - -#~ msgid "Sensor Preferences" -#~ msgstr "Osobitosti senzora" - -#~ msgid "Quit" -#~ msgstr "Zatvori" - -#~ msgid "Show" -#~ msgstr "Prikaži" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Nadziratelj temperature" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Pomoć" - -#~ msgid "Sensor" -#~ msgstr "Senzor" - -#~ msgid "Value" -#~ msgstr "Vrijednost" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Maks" - -#~ msgid "Color" -#~ msgstr "Boja" - -#~ msgid "Graph" -#~ msgstr "Grafikon" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Desno" - -#~ msgid "Left" -#~ msgstr "Lijevo" - -#~ msgid "Top" -#~ msgstr "Vrh" - -#~ msgid "Bottom" -#~ msgstr "Dno" - -#~ msgid "Edit Preferences" -#~ msgstr "Uredi osobitosti" - -#~ msgid "Hide window decoration" -#~ msgstr "Sakrij ukras prozora" - -#~ msgid "Keep window below" -#~ msgstr "Drži prozor ispod" - -#~ msgid "Enable menu" -#~ msgstr "Omogući izbornik" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Omogući brojač Unity pokretača" - -#~ msgid "Celsius" -#~ msgstr "Celzijus" - -#~ msgid "Fahrenheit" -#~ msgstr "Farenhajt" - -#~ msgid "Temperature unit:" -#~ msgstr "Jedinica temperature:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Položaj okvira senzora:" - -#~ msgid "Interface" -#~ msgstr "Sučelje" - -#~ msgid "Launch on session startup" -#~ msgstr "Pokreni pri pokretanju sesije" - -#~ msgid "Hide window on startup" -#~ msgstr "Sakrij prozor pri pokretanju" - -#~ msgid "Restore window position and size" -#~ msgstr "Vrati položaj i veličinu prozora" - -#~ msgid "Startup" -#~ msgstr "Pokretanje" - -#~ msgid "Foreground:" -#~ msgstr "Prednji plan:" - -#~ msgid "Background:" -#~ msgstr "Pozadina:" - -#~ msgid "Background opacity:" -#~ msgstr "Prozirnost pozadine:" - -#~ msgid "Colors" -#~ msgstr "Boje" - -#~ msgid "Monitoring duration:" -#~ msgstr "Trajanje nadziranja:" - -#~ msgid "Update interval:" -#~ msgstr "Razdoblje ažuriranja:" - -#~ msgid "Measures" -#~ msgstr "Mjere" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Maks" - -#~ msgid "second(s)" -#~ msgstr "sekunda(i)" - -#~ msgid "minute(s)" -#~ msgstr "minuta(e)" - -#~ msgid "Smooth curves" -#~ msgstr "Zaglađene krivulje" - -#~ msgid "Curves" -#~ msgstr "Krivulje" - -#~ msgid "Measure update interval:" -#~ msgstr "Razdoblje ažuriranja mjera:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Omogući zapisivanje sensora" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Razdoblje zapisivanja senzora:" - -#~ msgid "seconds(s)" -#~ msgstr "sekunda(i)" - -#~ msgid "Script executed when an alarm is raised:" -#~ msgstr "Skripta za izvršavanje kada se alarm upali" - -#~ msgid "Sensors" -#~ msgstr "Senzori" - -#~ msgid "Enable support of lm-sensors" -#~ msgstr "Omogući podršku za lm-sensors" - -#~ msgid "Enable support of NVCtrl (NVidia)" -#~ msgstr "Omogući podršku za NVCtrl (NVidia)" - -#~ msgid "Enable support of ATI ADL" -#~ msgstr "Omogući podršku za ATI ADL" - -#~ msgid "Enable support of gtop2" -#~ msgstr "Omogući podršku za gtop2" - -#~ msgid "Enable support of hddtemp daemon" -#~ msgstr "Omogući podršku za hddtemp daemon" - -#~ msgid "Enable support of libatasmart" -#~ msgstr "Omogući podršku za libatasmart" - -#~ msgid "Enable support of udisks2" -#~ msgstr "Omogući podršku za udisks2" - -#~ msgid "The changes are applied after the restart of psensor." -#~ msgstr "Promjene će biti primjenjene nakon ponovnog pokretanja psensora." - -#~ msgid "Hard disk drive" -#~ msgstr "Čvrsti disk" - -#~ msgid "CPU and memory usage" -#~ msgstr "Korištenje CPU-a i memorije" - -#~ msgid "GPU with proprietary driver" -#~ msgstr "GPU s vlasničkim upravljačkim programima" - -#~ msgid "Motherboard, CPU and GPU" -#~ msgstr "Matična ploča, CPU i GPU" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Uredi osobitosti senzora" - -#~ msgid "Name" -#~ msgstr "Naziv" - -#~ msgid "Type:" -#~ msgstr "Vrsta:" - -#~ msgid "Chip:" -#~ msgstr "Čip:" - -#~ msgid "Name:" -#~ msgstr "Naziv:" - -#~ msgid "Id:" -#~ msgstr "Id:" - -#~ msgid "Details" -#~ msgstr "Pojedinosti" - -#~ msgid "Draw sensor curve" -#~ msgstr "Iscrtavaj krivulju senzora" - -#~ msgid "Color:" -#~ msgstr "Boja:" - -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Prikaži senzor u popisu senzora" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Uključi obavijesti radne površine" - -#~ msgid "High threshold:" -#~ msgstr "Gornja granica:" - -#~ msgid "0" -#~ msgstr "0" - -#~ msgid "-1" -#~ msgstr "-1" - -#~ msgid "Low threshold:" -#~ msgstr "Donja granica:" - -#~ msgid "Alarm" -#~ msgstr "Alarm" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Prikaži senzor u izbrniku" - -#~ msgid "Display sensor in the label (experimental)" -#~ msgstr "Prikaži senzor u oznaci (eksperimentalno)" - -#~ msgid "Application Indicator" -#~ msgstr "Programičić pokazivača" diff --git a/po/hu.gmo b/po/hu.gmo index fbf58b5cefc8eded4841e69f542b6913635e1d10..9c036adf77763e756040752c1663f7bfe0c36e13 100644 GIT binary patch literal 12067 zcmbuFdyrdKeaBD0ka!^pO-fs!lmo@Fovij@=V2>rC-Qo|UVC5Jl^=-{k}K&*x~r>u zm3yytEkR8}fhO&c!Nb6m5NNkA>P*via4{rJCo|Q!e{`4urZa6?Ak)$e6#i)b>1#UE zPCvhUucWKpbso)~J^JdN_xZigPy5mh+di*&9;5ss<^F9-eI0!28a{X$?@($V_%L`F zd^*8bz(c&>`c9=j0d2av6+e@xo{HL1V$XX5p51mzsNK}ezwfNuw9z_)^n z;4grAP=j?))_($&`M;3hQ=p9dodhp{|HJ#Ag0MvW@eMJZE`mFFe+d+NY-4e{s1JZ_ zO^t)H|3l#W!TUhj*IDrAz)ynwsV^n(e*y}f{tCPa{4OYR@L!;;^X{LG-|qzF{WK`^ zodae6zYfa0p9N+8uO{!`Oz_(vtWZA!g&zL_ZU_H6!EG>6_J1At9#DgF-Ykd+sJlQJ zHxCLOmp~ECT2dc^Or_2y@1FtXJm*1~=P6M3xeiLduY$t&=RrBo_duENDh?s^90KKh zJ3yh|I4I{@0QZ9rfd{}RK?A-B$~p%jy6kfjgmh{e)ZiI#7x*zy`1|`HtW$pk%KR^Y za_%31BA@>WihR76!%F>!K$(96l=>Vf^qNWV3@Gc?LE+!Spq%$NLH^WN_>ghm0OcGn zfNWWPC#nB2DE(gnW!`@Wg+5oaxYXYS3Vnt_q2Fzw@b4HXdXWc3?+Qu%GoYOB8{l&& z`d@=fynpI_N<9d^2+I3DglrM~4e%WJeeenJ3`Cg%e+tflV{FEN=MsDw6#H=uBOvFQ z1%)3EfOmmk0{4R716f*KuVcO04esDQ4>E;ngCgf&1jT+_0#Ad_f|KA4AB^SbWP%nb zd~`sO%g=-R!QTVNz?VR=U)RG#Sg7`cLbrQBk%#-h4}&f!^!pqreE2dba`$IR{kK8k z_uqpe$1j1h?oYry;0?bV^K%Lm{>&w~42pc+o3uX!j$eh%P1>Ji@jGe%ZSZ#R`=HS2 zMu@^!H4O?q9Pk$KaZuL#I*5v>e*uTV{{@*+-GZ=*ye;q{`&Xa zV0J_YQ0&D5DD7uJk&ia0!N-T`ih z8N#0&DC?9#kry8v2R{SSRlNWn1b+$&opwWf;oI$?>}M8~b*YJJ;6#je-6uN#3 zly$!g-Uq%2$~t>TpgDLDyb3%@LG+{NET2L0-AXVEeuQ#3c^BS&kRp5BM-drrQx+%> zQM!-VvKfl_rehT0#YZVMiaZZcPEbB6FFd~zLquEQ^P`jplRDA=hbh-mghsbfL`FS| zJY|aL9;{LKP~<@jRD*I8MffJq$0;F2=qb7+{E|obE3{jb7oIxhG0Hi4;WIYX&ZniP2ol%L~seWd~)Na)h!%5jomRc?ZRzY@>7^ zktvhB97-_XZA>ti;I0IV;BxZ)6e#vcp1Wd*?2LRBz3M)b$(Q}0=+m!KMkybr$TJ^9 z^eOtfO4&)7qr9IYw(Qdsc|<>y)|pIT+`#iQj#tT)ZO0r~%;k^jz=S%i8c-TFjanLY z=xJ%+IM8-OrZ%p;iJ9)%bz!x&6LL1)D5;e%%Ub?2VEg_NJHP#n0BfQE|k^a3<66{P4iy!cu116YbD!1aCl}(2PgFWy--(B2gJK+WYwTqC_|K{Z?tsT5saj}dJTk=L%Ez!!~mH;JwA?13pL`N zM=VsSBrU!PeH;1K^CxEx&*akb6L&r3dl06(T-a)uxW3$*V#9h{HV0m@X2Q4$QirzX z*zK6DG7%@~A7d?AF<@VAC9chktBGn@cMeVzyi)7nMC0HhRMJA1ve!fjGkV&S(@a>p z>YMU`oufMs&cV}&niHee!HLlZB^tePs^wTpg3xO~jfa~i2u&%~e_}LRT20tYd3Ivd zJ{Wzq-RNtsCyhPXwHze2)Y2$y5Wt( zk>E&7y4o*%9cb8K=3~B38Yi%ubgbHqteW&37LGoX7h1eV%eO1lQ16=D&76A0SZ>+A zyHZE0Mv7j2Xx1*`L5!YWoL$|M)zkAQ7TWej9Tx?=b)Ktk1 z^&&dQ0WjP_T(KNG?SXpND&W3Pp!_X8Yc<^>XU0r5#c`{txHVcN`5vDq5YJyhmXj_4 zvWl}M_oSMS%tWsCUw2dWB&mUMATk6VorRgUYP~sXf;zvB+#7dP_)4tWHs-p{YQ`mjq zj)*4)kGNt)9nI$#^-^rCB2_wSmyBMs-IBKkfr?%{vr1Rv32?4{*lbW;sUju53986- zR?SF(4^CvKTnwl(=_ek&MopI=U8n z<>WZ3+jZ+%#0qtH{^mwY=v#D}CE-rkKP4N%mX$4Jp^q7E0!mJ%s#bm=RT1a{k~<)UvlLd=~hVi!w#tqN_J-4Zt>#?iOzz#yuz zbxB~r_{1&!%R<)`i|-lf4(R%zhyj~gM8~9Zxa+Emju&8R;;Dl!cFj^spqHyC$a11$ zX=$(=GdPXPK5ek+dscP5M!XV4GivGjT3uB;;H?8T3cSF{`nBC{C0 z6K>7*)?9UBqmrEnqHvN0&MYkEXBOrk7#U%@lSF#rnomkZsZO0b)i-C6Iq6%!*k-^D zG(mV8snUZ-xs<2}6X{k&D$alrksd%Tl%*sSm~CnVAbJ zb}4fRAwU`?z#PzF`l7WD+n|B-d?l%7|}{*v1&VZqha&{cRJVB6A3pD z(%-E#VPGb2ta?@-ZMqe41+Jc`xLA}-wMk6Elu6incT_8JOMfWx(j1zbnVafUVSHq4 zXp%b*K|v;xE0p?dI7$#M;^SiuoX8)^?CbZFP2=M;Q*O}{Ly*<`3fxCeXJU`g zuu7S!vmziH2{5k5_GNEN2yi+xZCo*uo}W#E07mLvg{JM4^!Od)`)}VpB)6_jIf2fT z`I8Itxmn%0;I}&$YR0*IzNTHP;dCypbk<#~#=X3=?l_%i!p?eNX{)WfW0rCor|fzm zvIVL6lIhxvw{@ju)o@5bXT7r3^vk+VH?M@rN8)7uEfWb@CsADxe0q&fbH8&8|xZ$o~v{&>bj|{7{|Cmy9fRG!JnTBA6OEHoo{J zgKl$KLm;bm=eeNigv1WwlH%0Cys6W(%Iz4@41H7e+89hr*Q`b{@WcUxqWF^TNK=Ev zNisg20zH#YzjPC`gXLr|O=b1(`*-dI)*|FQQW7FfZ%fLqMJI^~w&ZF#A z9QY9q^h=#GUMezb?4lhDgsnx}`=^h0QnP%kMuhGlM8&vqbABY(){z8|FRLR0^mVFM zhy-QyiHa|>XbmJwj$A$;_4lpU$d=>=2n*r*HaEm}!O}OLItj3WEuDyy+p@&8aw&(y zrft{a1WLpAxLu+Oew;@UN$AlSr3^cl96TDr(3Y%+rhmn^>R3~^wF+DCIZ19L$)q52 z(0QFa!IcFdUMiV!19Jw1G?^NiU3Xh;$Shlk(k}Cz3#%&}PxTW;Zc=4bE@;CWTYON6 zi-@hSII={Z;ghA7Y>RGuB_Go_C6bA$b=GmD>L`FB`5J`LA;-EXZp+H{nzD>-IuaB0 zh&W*4($X7ImAjyEMYz!uo3}x} zql8TqG&p*(Ss(|aXOomp?1Al?-nD8WKn1v5H%?2$Ft~iaP_TFFRm3y&$TV6*|KIe^ zR67#SpluZhRgl1Ph{MV9O)3bB(Zv-5i!e*V%3w6wO}%rm3lCp3afl znViWDqkb!1MW$ebEw2Xe97I9PgCR@Ar4~~mVu67yaCaF}v!-s^s`Gd%`k`~$Z8N9X zYcZ&LSJ|vMvMKf>7pO4YogORe3=Sn)N(WXFR^t2+=k%~mURAU$<={x)be?Cs=`p&} zx#Sl*7gl0B?^`Rlvq-QHrECWj5Jy-`wrmDw7zpelbsg**=adrXdeIfjv3mJ@tlnbz z(8q|V_^VdzU`Rf&(@nJl)Qv*`@!PSt-Z;h4fzVFay>UMBG_TnQ9UI73z3LXQ`?g55 zkWX0H^^xR02F&50bKDRbUzeU~cJi|*qrFaU#{)0VauG40W*VYI zSL|!akxE3x9p6Dz#9T)vW{Ox|3|N%(D$8U^-b<9i6LZRsGsU1EdaYV<3M?ZI2MLd6 z$rT){Mtp_&iwr4?_+~{E07ENnsS1h2nnFfGe078@GvZR~JkQWeh-##Dn9R24MjG6? z*iDb6ybz;s??zJUGB+1#CyKR%cqG%3Ko6a)6Yr3@a#3mHkRx||3u_#3s!c1BFSF~- zx|)lRg^Mb414$f%t?d$b9bplVMbSzy(R9c%xxNM+rt z5Cw_$;DjCM?-0RYY8^w?L0Be|)t^Sfk~r0t^1S@SM0O1qkS3NbF>JgySip9Xx!!Kx z%rwJDJwX;SN!pmD2Z&+#O-(!w4XfxA_caL!Nct5Bl{y!=SfY~0yVtlVGnY%E!BAq$ z&U%fIlphtyecJgj zfcseYU3(Bt|33dP1HU%Ix6qs1&D8w zBw=h^qu`sAH?*nAo#=;;d__!n^gjhZeB{gg6dG~HSQfKghCzJ z$^;Qw!cZ5^Tapqay?8vgIJvwq+xgt_eu^<=F7az}lqlEO56WZ1z3K95oX9@oCnQNB zhQbd$2}eun!R07rafRgLfKQavj5_8O_+OtO&O+pXwilyyws6Gg#Zk8bPOzWAMs z+$;NeAl1u-Y00lezwbpqCU9XtB)^X7*(OF9PbR-K2K*C%6a5ZG3Ty=TFnZ2u)~sTX zA%ZHJaRyCW1=RUCx{3d|(jZb{(p;hcmg&SRthG|M8L?zbzOSU0y*d)ig>&nT`F1g| K8}fe=ZS{W;V|w8L delta 2289 zcma*nTWnNC7{Ku+5#yn$`>8)quD6?b9~zrs3f z%TQ`P#;_kx;Rxp3sZ<(1g?UOPRGda70|&4|ZcO!mzykW&nM&P_Wmt^saS=X&^KdtI z;Sp@YE4Ua7vy@^jY8A@!?YIoLrTQ;m0rRVI8ngMwS)7g+un@mQ3xB~$oIPvm1zFrI z!D&Etpqg<$cBdS`GWv0ph#tkIcskX;n(C)z^BnW5Wi;mCT4d9zH`RX_WrFP}3)_Wk zPVK>b+>f%eH&G@yi$q!dh^$%NM0xL@xB_SAD76MRq8#yan2;C$OhYERfeUduPZePa zN+?%hE^bBHSrjEgFQbI`1C$7SlImYTx&LdF1zty4a0Y{NR10w~j^q;mPsxU-8Q8)= z6RUU}_o4K!V;`>O>0P)V58x~gUXtrI+>BRHc2vtM#KR~__6IVznnc-oHVL&3yRiXZ zEFk`}(=!ZI;w4;)cd$KKc@@eTcHu)fjO};^%Q2mYiLUbD3S5nKIEs?Y?;)>L7m>ZF z>nKM!iSm3#f|OoPqaN#7@*ql<9=VG};At$y&rw4E6V_r5t7^h^=)+O0#m#76pm zVF@;Ht`dp)&YxB+`p z9>KlzFQdFyFPhp|0PE==LL#0}Ng8Vz_zj7w@>xo?;0BcbUX+l%f!w0rN16CM%EXsY zcK$08RaMM(AHhbviU%a%uyn=c!RnC}QdcT|!ZrOkoIkH*OV1Dl$<;*3lT~rA_QC2lnDP>cr z`%pqB<(?_Lqm$-3Y8ADaD#yhK<&{jXl7OvL`OzX6x64LaGQZ-p_sXV}f+U}JuDFsa zN!mu0(oXH9NbTSrf6W(sc7m&K^@g z=R}6p7t?ku;+Wpt7V}~5WOaKaI_3n1N8Iv(3Tt^?eVva>qqSZ8?V&)+aM&LR)eJDnE4{_gn22yd`+kA>X6mm*RMM5QGX~fXm#D+ z+atH!9^gq=+pag(Q`@R~9_;MsY_&G_^_zF+=}botX-C@wI%az2-z?bDw^?n`(TL+( z+jb1cQuAe+(*=*^KA^)_-IuBux;(NO&C40FnQ-GoZ6<+c73 zG0RSlk8an)W7=F^93XaO69-GP(tQ6nfZaN**0p4A9%RIlVp=~O_Q71xxV)2NhlKY&|\n" "Language-Team: Hungarian \n" @@ -19,21 +19,413 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, 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 +#: src/cfg.c:548 #, 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 +#: src/cfg.c:573 #, 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 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Névjegy" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Beállítások" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Kilépés" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Érzékelő beállításai" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - hőmérsékletfigyelő" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Súgó" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Érzékelő" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Érték" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Minimum" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Maximum" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Szín" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Grafikon" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Megjelenítés" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Jobbra" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Balra" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Felül" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Alul" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Beállítások szerkesztése" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Ablakdíszítés elrejtése" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Ablak alul tartása" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Menü engedélyezése" + +#: 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:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Celsius" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Fahrenheit" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Hőmérséklet mértékegysége:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Érzékelőtábla pozíciója:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Felület" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Indítás a munkamenettel" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Ablak elrejtése induláskor" + +#: src/glade/psensor-pref.glade:345 +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:374 +msgid "Startup" +msgstr "Indítás" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Előtér:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Háttér:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Háttér átlátszósága:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Színek" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Figyelés hossza:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Frissítési időköz:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Mérések" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "másodperc" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "perc" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Mérések frissítési időköze:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Érzékelők naplózásának engedélyezése" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Naplózás időköze:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Parancsfájl futtatás riasztáskor:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Érzékelők" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +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:97 +msgid "Name" +msgstr "Név" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Típus:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "---" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Chip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Név:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Azonosító:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Érzékelő görbéjének rajzolása" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Szín:" + +#: src/glade/sensor-edit.glade:448 +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:499 +msgid "Activate desktop notifications" +msgstr "Asztali értesítések bekapcsolása" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Felső küszöbérték:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Alsó küszöbérték:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Riasztás" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Érzékelők megjelenítése az alkalmazásmenüben" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "Érzékelők megjelenítése a címkén (fejlesztés alatt)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Alkalmazás Indikátor" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: Nem sikerült betölteni az ADL programkönyvtárat." @@ -60,11 +452,11 @@ msgstr "ADM/ATI adapterek száma: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Aktív ADM/ATI adapterek száma: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Lemez" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, fuzzy, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: sk_disk_open() hiba: %s." @@ -84,37 +476,37 @@ msgstr "%s: a kapcsolat megnyitása nem sikerült." msgid "%s: wrong string: %s." msgstr "%s: rossz karakterlánc: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format 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:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: rossz funkciótípus." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "Intel processzor" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "AMD processzor" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "NVIDIA videokártya" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "VIA processzor" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: előkészítési hiba: %s." @@ -140,48 +532,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "A naplófájl megnyitása sikertelen: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, 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 +#: src/lib/nvidia.c:74 #, 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 +#: src/lib/nvidia.c:240 #, 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 +#: src/lib/nvidia.c:317 #, 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:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: NVIDIA információinak lekérése meghiúsult." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, 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:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "---" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "HOME változó nincs beállítva." @@ -203,7 +591,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:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -218,12 +606,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:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Használat: %s [KAPCSOLÓK]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -231,11 +619,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:97 +#: src/main.c:78 msgid "Options:" msgstr "Kapcsolók:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -243,7 +631,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:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -251,69 +639,60 @@ msgstr "" " -u, --url=URL a psensor-server URL-címe,\n" " például: http://gepnev:3131" -#: src/main.c:107 +#: src/main.c:88 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" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, 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:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s honlap: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 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:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Hibakeresési mód engedélyezése." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, 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:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "A Psensors egy példánya már létezik." -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Nem sikerül kapcsolódni a következőhöz: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Érvénytelen tartalom: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "Érvénytelen JSON: %s" #: src/server/server.c:58 @@ -370,81 +749,102 @@ msgstr "" " --sensor-log-interval=S érzékelő naplózási gyakoriságának beállítása S " "másodpercre" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "A naplófájl megnyitása sikertelen: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP-kérés: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Hibakeresési mód engedélyezése: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Nem találhatók érzékelők." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Nem sikerült létrehozni a webkiszolgálót." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "A webkiszolgáló elindult ezen a porton: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW könyvtár: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Érzékelők naplózásának aktiválása meghiúsult." -#: src/ui.c:87 +#: src/ui.c:213 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:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "A Psensor névjegye" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "A Psensor honlapja" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Nem sikerült betölteni a Psensor ikonját." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Beállítások" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Előtérszín kiválasztása" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Nem sikerült a konfigurációs fájlt beolvasni: %s" + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "gettimeofday meghiúsult." @@ -458,206 +858,10 @@ msgstr "Hőmérséklet riasztás" msgid "Fan speed alert" msgstr "Ventilátor riasztás" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Ismeretlen" -#~ msgid "About" -#~ msgstr "Névjegy" - -#~ msgid "Sensor Preferences" -#~ msgstr "Érzékelő beállításai" - -#~ msgid "Quit" -#~ msgstr "Kilépés" - -#~ msgid "Show" -#~ msgstr "Megjelenítés" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - hőmérsékletfigyelő" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Súgó" - -#~ msgid "Sensor" -#~ msgstr "Érzékelő" - -#~ msgid "Value" -#~ msgstr "Érték" - -#~ msgid "Min" -#~ msgstr "Minimum" - -#~ msgid "Max" -#~ msgstr "Maximum" - -#~ msgid "Color" -#~ msgstr "Szín" - -#~ msgid "Graph" -#~ msgstr "Grafikon" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Jobbra" - -#~ msgid "Left" -#~ msgstr "Balra" - -#~ msgid "Top" -#~ msgstr "Felül" - -#~ msgid "Bottom" -#~ msgstr "Alul" - -#~ msgid "Edit Preferences" -#~ msgstr "Beállítások szerkesztése" - -#~ msgid "Hide window decoration" -#~ msgstr "Ablakdíszítés elrejtése" - -#~ msgid "Keep window below" -#~ msgstr "Ablak alul tartása" - -#~ msgid "Enable menu" -#~ msgstr "Menü engedélyezése" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Unity indítón lévő számláló engedélyezése" - -#~ msgid "Celsius" -#~ msgstr "Celsius" - -#~ msgid "Fahrenheit" -#~ msgstr "Fahrenheit" - -#~ msgid "Temperature unit:" -#~ msgstr "Hőmérséklet mértékegysége:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Érzékelőtábla pozíciója:" - -#~ msgid "Interface" -#~ msgstr "Felület" - -#~ msgid "Launch on session startup" -#~ msgstr "Indítás a munkamenettel" - -#~ msgid "Hide window on startup" -#~ msgstr "Ablak elrejtése induláskor" - -#~ msgid "Restore window position and size" -#~ msgstr "Ablak pozíciójának és méretének visszaállítása" - -#~ msgid "Startup" -#~ msgstr "Indítás" - -#~ msgid "Foreground:" -#~ msgstr "Előtér:" - -#~ msgid "Background:" -#~ msgstr "Háttér:" - -#~ msgid "Background opacity:" -#~ msgstr "Háttér átlátszósága:" - -#~ msgid "Colors" -#~ msgstr "Színek" - -#~ msgid "Monitoring duration:" -#~ msgstr "Figyelés hossza:" - -#~ msgid "Update interval:" -#~ msgstr "Frissítési időköz:" - -#~ msgid "Measures" -#~ msgstr "Mérések" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "second(s)" -#~ msgstr "másodperc" - -#~ msgid "minute(s)" -#~ msgstr "perc" - -#~ msgid "Measure update interval:" -#~ msgstr "Mérések frissítési időköze:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Érzékelők naplózásának engedélyezése" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Naplózás időköze:" - -#~ msgid "seconds(s)" -#~ msgstr "másodperc" - -#~ msgid "Script executed when an alarm is raised:" -#~ msgstr "Parancsfájl futtatás riasztáskor:" - -#~ msgid "Sensors" -#~ msgstr "Érzékelők" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Érzékelő beállításainak szerkesztése" - -#~ msgid "Name" -#~ msgstr "Név" - -#~ msgid "Type:" -#~ msgstr "Típus:" - -#~ msgid "Chip:" -#~ msgstr "Chip:" - -#~ msgid "Name:" -#~ msgstr "Név:" - -#~ msgid "Id:" -#~ msgstr "Azonosító:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Érzékelő görbéjének rajzolása" - -#~ msgid "Color:" -#~ msgstr "Szín:" - -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Érzékelő megjelenítése az érzékelők listáján" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Asztali értesítések bekapcsolása" - -#~ msgid "High threshold:" -#~ msgstr "Felső küszöbérték:" - -#~ msgid "-1" -#~ msgstr "-1" - -#~ msgid "Low threshold:" -#~ msgstr "Alsó küszöbérték:" - -#~ msgid "Alarm" -#~ msgstr "Riasztás" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Érzékelők megjelenítése az alkalmazásmenüben" - -#~ msgid "Display sensor in the label (experimental)" -#~ msgstr "Érzékelők megjelenítése a címkén (fejlesztés alatt)" - -#~ msgid "Application Indicator" -#~ msgstr "Alkalmazás Indikátor" - #~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." #~ msgstr "lmsensor: lmsensor_psensor_create hiba: rossz funkciótípus." diff --git a/po/it.gmo b/po/it.gmo index 8bf609672ca6bcef3e5901ecd30afe53073cc196..d43394df29ecee0f8b4abc8a1e42b5697f9e802b 100644 GIT binary patch literal 10891 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 delta 2160 zcmb8vTWl0n9LMp~3bp0Z%XZss#nLII?QWs%mLitYmM$&DtpWvHj3CBkJ6lF}XK;5Q zA|acop)pM~dV-0Dh%p*{kzndAA!uSS(HDpsQ4?%H4Dk|7)aa9l-~V(=2ydSB>}Te5 z_RN2O=gdsTCi-*JzBxw~?H>A_^oI(SisP|4e9(*{rMj^Jhj2&UA)Vx?ke;U4@L3ouxsRHafm)yhFD1N|713-jk11Dt<^i}5_(fq!8=md{hF z3d1;p!?+5c$0hg~QiJ*x<@O{zSjayf!`m>2HTV=7cnq)MX_N_0 zEl^6rxs3b*^%GX(KY1&eteNvxltj1WwNb8{#BzKMOSr$9$`71IneZ%1AwM8Rt1IZo z-;wlGQK?eYqRLPvT7;`{Ird=^O?(|?o_S?6^Oj;A=S#2_2QVj5?cksS52IB697+Q3 zqeOTPrSfm`=f9y`|2Ims#Z(~$w%`c%q7NtV6&CyD{P=1HA7K1x+=v%^dlU6jIKtR{bn z;ynho<2jTFo7s7C;TTE+M=*%b;tKo#CAnX)2^SIAq7k-h18<# zp*rN=Du}X&BKh&$2nRAz3Co7*Z*xUcs(-aO7b z$!o)Ww$o)Z&NeCjZh8;BU!H%S60afydBVK67x(sx0`JWzn@LiVChI4W^SFDBJ?U*$ zc_L&_$VQaJq{%NPK<`c2haL1r`Ubiz_Zsf+HCeOSwv+>jRN7ti_4L(riE*|`#1i*% z`m+3>Y$$26@nntJ3f`{o#csMRhb-X$y^t=;9FpB!PnS(1ZEyzfQywLG=SwS_x;ig3 zN7t4;soyC(QEZH6O*`vk^tti@-C1#M`Jl7!V8$BX;|3EUV@0?#+{VXB<54qiC#`|; zblgg{C!Dkzva);i=e~Bol`>q%NI14_CR`4CjHaxe4_^_Xd_|C$Lyw3fAe90l$CTbX_ZLI?1v4K_f}s=2*MF z9=K1(YTWWwZDIbpjLxo}mEFt2E2h4yIWt$ky7;KxT0gyDHWfwX`hrofzc$uQMH)&9 z+Wtp83Fn2z-nwXdpOej6ySe>LNUm#UvX&9|avE+tpucGB7~(#Lmz9!y4BN2{FD@@l zHR#x;y`PkC8JD=^n=_H=aMRL~jF~huru~FDb-Zaofj-&1NJm>HDkG^>Jd-vJ_eOGY qy*}7MX0`LTu>wvuVQ~X}Dp*f`YpQO^E|s!er(JIeZPjmwrvC%{13_j0 diff --git a/po/it.po b/po/it.po index 1923f94..eee8cce 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-20 11:24+0000\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Italian\n" @@ -18,21 +18,414 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Impossibile creare il Web server." -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "Attivazione registro dei sensori fallita." -#: src/cfg.c:580 +#: src/cfg.c:573 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Attivazione registro dei sensori fallita." +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Informazioni su..." + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Preferenze" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Esci" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Preferenze Sensore" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Monitor temperatura" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Aiuto" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Sensore" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Valore" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Minimo" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Massimo" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Colore" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Grafico" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Mostra" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Destra" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Sinistra" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "In Alto" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "In Basso" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Modifica le preferenze" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Nascondi le decorazioni della finestra" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Mantieni la finestra sotto" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Abilita il menù" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Abilita contatore nel Launcher Unity" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor è stato compilato senza il supporto per sensori remoti." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Celsius" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Fahrenheit" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Unità di misura della temperatura" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Posizione della tabella dei sensori" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Interfaccia" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Lancia all'avvio" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Nascondi la finestra all'avvio" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Ripristina posizione e dimensione della finestra" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Avvio" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Primo piano:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Sfondo:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Opacità dello sfondo:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Colori" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Durata del monitoraggio:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Intervallo di aggiornamento:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Misure" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Minimo" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Massimo" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "secondo/i" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minuto/i" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Intervallo di aggiornamento delle misure" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Abilita registrazione sensori" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Intervallo registrazione sensori:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Script eseguito quando un allarme viene attivato:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Sensori" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor è stato compilato senza il supporto per sensori remoti." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor è stato compilato senza il supporto per sensori remoti." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor è stato compilato senza il supporto per sensori remoti." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor è stato compilato senza il supporto per sensori remoti." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor è stato compilato senza il supporto per sensori remoti." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Modifica preferenze del sensore" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Nome" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Tipo:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "N/A" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Processore:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Nome:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Disegna curva" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Colore:" + +#: src/glade/sensor-edit.glade:448 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Mostra sensore nel menu" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Attiva le notifiche sul desktop" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Soglia verso l'alto" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Soglia verso il basso" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Avviso" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Mostra sensore nel menu" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor è stato compilato senza il supporto per sensori remoti." + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Indicatore Applicazione" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: impossibile trovare la libreria ADL" @@ -59,11 +452,11 @@ msgstr "" msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disco" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: errore sk_disk_open(): %s." @@ -83,37 +476,37 @@ msgstr "%s: impossibile aprire la connessione." msgid "%s: wrong string: %s." msgstr "%s: errore di stringa: %s" -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "%s: impossibile rilevare il valore della sotto funzione %s: %s." -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: tipo di funzione errata." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "CPU Intel" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "CPU AMD" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "CPU NVIDIA" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "CPU VIA" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, fuzzy, c-format msgid "%s: initialization failure: %s." msgstr "lmsensor: inizializzazione fallita: %s" @@ -139,48 +532,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Impossibile aprire il file di log: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, fuzzy, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "Impossibile recuperare informazioni da NVIDIA" -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, 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 +#: src/lib/nvidia.c:240 #, 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 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Impossibile connettersi al server X11." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Impossibile recuperare informazioni da NVIDIA" -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, fuzzy, c-format msgid "%s: Failed to retrieve number of fans." msgstr "Impossibile recuperare informazioni da NVIDIA" -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "N/A" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "Variabile HOME non impostata." @@ -202,7 +591,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:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -217,12 +606,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:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPZIONE]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -230,11 +619,11 @@ msgstr "" "Psensor è un'applicazione GTK+ per monitorare i sensori dell'hardware, " "incluse temperature e velocità delle ventole." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Opzioni:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -242,7 +631,7 @@ msgstr "" " -h, --help mostra questo help ed esce\n" " -v, --version mostra le informazioni sulla versione ed esce" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -250,70 +639,61 @@ msgstr "" " -u, --url=URL URL del server psensor,\n" " esempio: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance forza la creazione di una nuova applicazione Psensor" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Segnalare i bug a: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s home page: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor è stato compilato senza il supporto per sensori remoti." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Abilita la modalità debug." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Usare '%s --help' per maggiori informazioni.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Esiste già un'istanza di Psensor" -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Impossibile connettersi a: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Conenuto non valido: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "JSON non valido: %s" #: src/server/server.c:58 @@ -370,81 +750,102 @@ msgstr "" " --sensor-log-interval=S imposta l'intervallo del registro di sensori come " "S (secondi)" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Impossibile aprire il file di log: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP Request: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Abilita modalità di debug: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Nessun sensore rilevato." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Impossibile creare il Web server." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Web server inizializzato sulla porta: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW directory: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Attivazione registro dei sensori fallita." -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor è un'applicazione GTK+ per monitorare i sensori hardware" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Informazioni su Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "Psensor Homepage" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Impossibile caricare l'icona di Psensor." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Preferenze" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Colore di primo piano:" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Attivazione registro dei sensori fallita." + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "gettimeofday fallito." @@ -458,204 +859,10 @@ msgstr "Allarme temperatura" msgid "Fan speed alert" msgstr "Allarme ventola" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Sconosciuto" -#~ msgid "About" -#~ msgstr "Informazioni su..." - -#~ msgid "Sensor Preferences" -#~ msgstr "Preferenze Sensore" - -#~ msgid "Quit" -#~ msgstr "Esci" - -#~ msgid "Show" -#~ msgstr "Mostra" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Monitor temperatura" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Aiuto" - -#~ msgid "Sensor" -#~ msgstr "Sensore" - -#~ msgid "Value" -#~ msgstr "Valore" - -#~ msgid "Min" -#~ msgstr "Minimo" - -#~ msgid "Max" -#~ msgstr "Massimo" - -#~ msgid "Color" -#~ msgstr "Colore" - -#~ msgid "Graph" -#~ msgstr "Grafico" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Destra" - -#~ msgid "Left" -#~ msgstr "Sinistra" - -#~ msgid "Top" -#~ msgstr "In Alto" - -#~ msgid "Bottom" -#~ msgstr "In Basso" - -#~ msgid "Edit Preferences" -#~ msgstr "Modifica le preferenze" - -#~ msgid "Hide window decoration" -#~ msgstr "Nascondi le decorazioni della finestra" - -#~ msgid "Keep window below" -#~ msgstr "Mantieni la finestra sotto" - -#~ msgid "Enable menu" -#~ msgstr "Abilita il menù" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Abilita contatore nel Launcher Unity" - -#~ msgid "Celsius" -#~ msgstr "Celsius" - -#~ msgid "Fahrenheit" -#~ msgstr "Fahrenheit" - -#~ msgid "Temperature unit:" -#~ msgstr "Unità di misura della temperatura" - -#~ msgid "Position of sensors table:" -#~ msgstr "Posizione della tabella dei sensori" - -#~ msgid "Interface" -#~ msgstr "Interfaccia" - -#~ msgid "Launch on session startup" -#~ msgstr "Lancia all'avvio" - -#~ msgid "Hide window on startup" -#~ msgstr "Nascondi la finestra all'avvio" - -#~ msgid "Restore window position and size" -#~ msgstr "Ripristina posizione e dimensione della finestra" - -#~ msgid "Startup" -#~ msgstr "Avvio" - -#~ msgid "Foreground:" -#~ msgstr "Primo piano:" - -#~ msgid "Background:" -#~ msgstr "Sfondo:" - -#~ msgid "Background opacity:" -#~ msgstr "Opacità dello sfondo:" - -#~ msgid "Colors" -#~ msgstr "Colori" - -#~ msgid "Monitoring duration:" -#~ msgstr "Durata del monitoraggio:" - -#~ msgid "Update interval:" -#~ msgstr "Intervallo di aggiornamento:" - -#~ msgid "Measures" -#~ msgstr "Misure" - -#~ msgid "Min" -#~ msgstr "Minimo" - -#~ msgid "Max" -#~ msgstr "Massimo" - -#~ msgid "second(s)" -#~ msgstr "secondo/i" - -#~ msgid "minute(s)" -#~ msgstr "minuto/i" - -#~ msgid "Measure update interval:" -#~ msgstr "Intervallo di aggiornamento delle misure" - -#~ msgid "Enable sensors logging" -#~ msgstr "Abilita registrazione sensori" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Intervallo registrazione sensori:" - -#~ msgid "seconds(s)" -#~ msgstr "secondo(i)" - -#~ msgid "Script executed when an alarm is raised:" -#~ msgstr "Script eseguito quando un allarme viene attivato:" - -#~ msgid "Sensors" -#~ msgstr "Sensori" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Modifica preferenze del sensore" - -#~ msgid "Name" -#~ msgstr "Nome" - -#~ msgid "Type:" -#~ msgstr "Tipo:" - -#~ msgid "Chip:" -#~ msgstr "Processore:" - -#~ msgid "Name:" -#~ msgstr "Nome:" - -#~ msgid "Id:" -#~ msgstr "Id:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Disegna curva" - -#~ msgid "Color:" -#~ msgstr "Colore:" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Mostra sensore nel menu" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Attiva le notifiche sul desktop" - -#~ msgid "High threshold:" -#~ msgstr "Soglia verso l'alto" - -#~ msgid "-1" -#~ msgstr "-1" - -#~ msgid "Low threshold:" -#~ msgstr "Soglia verso il basso" - -#~ msgid "Alarm" -#~ msgstr "Avviso" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Mostra sensore nel menu" - -#~ msgid "Application Indicator" -#~ msgstr "Indicatore Applicazione" - #~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." #~ msgstr "lmsensor: lmsensor_psensor_create fallito: tipo di funzione errata." diff --git a/po/lv.gmo b/po/lv.gmo index 2e7248cad62436164e21b467ea479da36695a98a..dd09b60c0d74d8f791c083b9630f67bf2d624488 100644 GIT binary patch literal 10443 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 fo;(=Xbm+_XcF9-s8{McJlauZH>`5sIZ2 delta 2011 zcmYk+e@sJ>3C9b^5QE$S%%DJ+s)t!~C z+S+PQzuaiK{xFMafAE*Bj2VBlsDCWo+RF7ut3R5xV3GgT`vX_-84s`LIp^GSzR&mh zo-^HZc}x6eM)KQ+)<$1P-?z+|5RN7DkLIj2rVjJ51@|WW0GpWqicezkJ;oftm$3?G za3>b7GNup1co@ILBrLhtm`r2hri?)u2X=;BwX`O!hGfvKJu?rT<1VP{)Ito zWx4v{E2s>7gv!*Xs2g2F-Cz#OFo#OjmNcVM-i12fi#mTCSKv8ZkLOXDo{lrnp3Gnc zrjd7@*nxVGi+T7e@+|W)s)#00DgFjotoa%B;2Bg6%^_JaTX1WUOPE&Pj+f-boiGwOIHSM$ZSm{@> zsXnx|%C5Gkk-m(sLNC>~S_P(}xx4LRqJ3^j988_?tu9Tr!PFP*kExedIo+Nc@uDO4 z-?WD0mauok&Zbvpg@>G2)Hx81MBD>0hV@Rsv!xkN+xIg{wzo%O?vT^m-Dlb(qoJYj zpwrRY)u~Gs5Ae&F8;Q*y>)a4Do&D`C?LlW(cb}cebZt#mrX9@s-FEwO?6?OMHPQFPIXQFrn>T~ zjT4PI->tA|xo7Rw+$&29n#p@?g%;%5J^7EW>vY2>2i?)B)1KpnM#F9-8VkFg6B;2# zJDz{aZZFu}xU{lPchDV~8b9PMt!?R$r%1iT;=1o%+}XnYYua5e7K%-cKXZIIY+Kgf zwoL)YUJJzS8%2IQU9`=n6bEb<{rTceIfvX>EIjN+4-SS-IFZE|EA4D?uk9&0`9DA= B6y5*; diff --git a/po/lv.po b/po/lv.po index 54ee3d9..791a3f1 100644 --- a/po/lv.po +++ b/po/lv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-20 11:26+0000\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Latvian \n" @@ -18,21 +18,415 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Neizdevās izveidot tīmekļa serveri." -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "Neizdevās aktivizēt sensoru žurnalēšanu." -#: src/cfg.c:580 +#: src/cfg.c:573 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Neizdevās aktivizēt sensoru žurnalēšanu." +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Par" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Iestatījumi" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Iziet" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Sensoru iestatījumi" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - temperatūras pārraugs" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Palīdzība" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Sensors" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Vērtība" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min." + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Maks." + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Krāsa" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Grafiks" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Rādīt" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Pa labi" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Pa kreisi" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Augšā" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Lejā" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Rediģēt iestatījumus" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Slēpt loga apdari" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Turēt logu apakšā" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Aktivizēt izvēlni" + +#: 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:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Celsijs" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Fārenheits" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Temperatūras mērvienība:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Sensoru tabulas novietojums:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Saskarne" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Palaist pieteicoties sistēmā" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Slēpt logu pieteicoties sistēmā" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Atjaunot loga pozīciju un izmēru" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Palaišana" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Priekšplāns:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Fons:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Fona necaurspīdība:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Krāsas" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Pārraudzības ilgums:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Atjaunināšanas intervāls:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Mērījumi" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min." + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Maks." + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "sekunde(s)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minūte(s)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Mērījumu atjaunināšanas intervāls:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Aktivizēt sensora žurnalēšanu" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Sensoru žurnalēšanas intervāls:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Skrips izpildīts, kad trauksme ir aktivizēta:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Sensori" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Rediģēt sensoru iestatījumus" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Nosaukums" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Tips:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "N/P" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Mikroshēma:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Nosaukums:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Zīmēt sensora līkni" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Krāsa:" + +#: src/glade/sensor-edit.glade:448 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Aktivizēt darbvirsmas paziņojumus" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Augsts slieksnis:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Zems slieksnis:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Trauksme" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." + +#: src/glade/sensor-edit.glade:719 +#, fuzzy +msgid "Display sensor in the label (experimental)" +msgstr "Attēlot sensoru etiķetē (eksperimentāls)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Aplikāciju indikators" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: nevar atrast ADL bibliotēku." @@ -59,11 +453,11 @@ msgstr "AMD/ATI adapteru skaits: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Aktīvo AMD/ATI adapteru skaits: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disks" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, fuzzy, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "atasmart: sk_disk_open() atteice: %s." @@ -83,37 +477,37 @@ msgstr "%s: neizdevās atvērt savienojumu." msgid "%s: wrong string: %s." msgstr "%s: nepareiza virkne: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format 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:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: nepareis īpašības tips." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "Intel CPU" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "AMD CPU" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "NVIDIA GPU" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "VIA CPU" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: inicializācijas kļūda: %s." @@ -139,48 +533,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Nevar atvērt žurnāla failu: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, fuzzy, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "Neizdevās saņemt NVIDIA informāciju." -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, 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:226 +#: src/lib/nvidia.c:240 #, 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/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Nevar atvērt savienojumu ar X11 server." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Neizdevās saņemt NVIDIA informāciju." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, 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 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "N/P" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "HOME mainīgais nav iestatīts." @@ -202,7 +592,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:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -212,12 +602,12 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Lietošana: %s [OPCIJAS]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -225,11 +615,11 @@ msgstr "" "Psensor ir GTK+ lietotne aparatūras sensoru pārraudzībai, ieskaitot " "temperatūras un ventilatoru ātrumus." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Opcijas:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -237,7 +627,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:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -245,66 +635,59 @@ msgstr "" " -u, --url=SAITE psensor-server adrese,\n" " piemērs: http://saimniekdatoravārds:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance piespiest izveidot jaunu Psensor lietotni" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Ziņojiet kļūdas uz: %s.\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s mājas lapa: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Aktivizēt atkļūdošanas režīmu." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, 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:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Psensor instance jau eksistē." -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Neizdevās savienoties ar: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Nederīgs saturs: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "Nederīgs JSON: %s" #: src/server/server.c:58 @@ -359,84 +742,102 @@ 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:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Nevar atvērt žurnāla failu: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP pieprasījums: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Aktivizē atkļūdošanas režīmu: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Sensori nav atklāti." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Neizdevās izveidot tīmekļa serveri." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Tīmekļa serveris sākts uz porta: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW mape: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "Saite: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Neizdevās aktivizēt sensoru žurnalēšanu." -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor ir GTK+ lietotne aparatūras sensoru pārraudzībai" -#: src/ui.c:90 +#: src/ui.c:216 #, fuzzy -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" "Autortiesības(c) 2010-2014\n" "jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Par Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" tuxmaniack https://launchpad.net/~tuxmaniack" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "Psensor mājas lapa" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Neizdevās ielādēt Psensor ikonu." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Iestatījumi" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Izvēlieties priekšplāna krāsu" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Neizdevās aktivizēt sensoru žurnalēšanu." + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "gettimeofday neizdevās." @@ -450,208 +851,10 @@ msgstr "Temperatūras trauksme" msgid "Fan speed alert" msgstr "Ventilatora trauksme" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Nezināms" -#~ msgid "About" -#~ msgstr "Par" - -#~ msgid "Sensor Preferences" -#~ msgstr "Sensoru iestatījumi" - -#~ msgid "Quit" -#~ msgstr "Iziet" - -#~ msgid "Show" -#~ msgstr "Rādīt" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - temperatūras pārraugs" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Palīdzība" - -#~ msgid "Sensor" -#~ msgstr "Sensors" - -#~ msgid "Value" -#~ msgstr "Vērtība" - -#~ msgid "Min" -#~ msgstr "Min." - -#~ msgid "Max" -#~ msgstr "Maks." - -#~ msgid "Color" -#~ msgstr "Krāsa" - -#~ msgid "Graph" -#~ msgstr "Grafiks" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Pa labi" - -#~ msgid "Left" -#~ msgstr "Pa kreisi" - -#~ msgid "Top" -#~ msgstr "Augšā" - -#~ msgid "Bottom" -#~ msgstr "Lejā" - -#~ msgid "Edit Preferences" -#~ msgstr "Rediģēt iestatījumus" - -#~ msgid "Hide window decoration" -#~ msgstr "Slēpt loga apdari" - -#~ msgid "Keep window below" -#~ msgstr "Turēt logu apakšā" - -#~ msgid "Enable menu" -#~ msgstr "Aktivizēt izvēlni" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Aktivizēt Unity palaidēja skaitītāju" - -#~ msgid "Celsius" -#~ msgstr "Celsijs" - -#~ msgid "Fahrenheit" -#~ msgstr "Fārenheits" - -#~ msgid "Temperature unit:" -#~ msgstr "Temperatūras mērvienība:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Sensoru tabulas novietojums:" - -#~ msgid "Interface" -#~ msgstr "Saskarne" - -#~ msgid "Launch on session startup" -#~ msgstr "Palaist pieteicoties sistēmā" - -#~ msgid "Hide window on startup" -#~ msgstr "Slēpt logu pieteicoties sistēmā" - -#~ msgid "Restore window position and size" -#~ msgstr "Atjaunot loga pozīciju un izmēru" - -#~ msgid "Startup" -#~ msgstr "Palaišana" - -#~ msgid "Foreground:" -#~ msgstr "Priekšplāns:" - -#~ msgid "Background:" -#~ msgstr "Fons:" - -#~ msgid "Background opacity:" -#~ msgstr "Fona necaurspīdība:" - -#~ msgid "Colors" -#~ msgstr "Krāsas" - -#~ msgid "Monitoring duration:" -#~ msgstr "Pārraudzības ilgums:" - -#~ msgid "Update interval:" -#~ msgstr "Atjaunināšanas intervāls:" - -#~ msgid "Measures" -#~ msgstr "Mērījumi" - -#~ msgid "Min" -#~ msgstr "Min." - -#~ msgid "Max" -#~ msgstr "Maks." - -#~ msgid "second(s)" -#~ msgstr "sekunde(s)" - -#~ msgid "minute(s)" -#~ msgstr "minūte(s)" - -#~ msgid "Measure update interval:" -#~ msgstr "Mērījumu atjaunināšanas intervāls:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Aktivizēt sensora žurnalēšanu" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Sensoru žurnalēšanas intervāls:" - -#~ msgid "seconds(s)" -#~ msgstr "sekunde(s)" - -#~ msgid "Script executed when an alarm is raised:" -#~ msgstr "Skrips izpildīts, kad trauksme ir aktivizēta:" - -#~ msgid "Sensors" -#~ msgstr "Sensori" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Rediģēt sensoru iestatījumus" - -#~ msgid "Name" -#~ msgstr "Nosaukums" - -#~ msgid "Type:" -#~ msgstr "Tips:" - -#~ msgid "Chip:" -#~ msgstr "Mikroshēma:" - -#~ msgid "Name:" -#~ msgstr "Nosaukums:" - -#~ msgid "Id:" -#~ msgstr "Id:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Zīmēt sensora līkni" - -#~ msgid "Color:" -#~ msgstr "Krāsa:" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Aktivizēt darbvirsmas paziņojumus" - -#~ msgid "High threshold:" -#~ msgstr "Augsts slieksnis:" - -#~ msgid "-1" -#~ msgstr "-1" - -#~ msgid "Low threshold:" -#~ msgstr "Zems slieksnis:" - -#~ msgid "Alarm" -#~ msgstr "Trauksme" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē" - -#, fuzzy -#~ msgid "Display sensor in the label (experimental)" -#~ msgstr "Attēlot sensoru etiķetē (eksperimentāls)" - -#~ msgid "Application Indicator" -#~ msgstr "Aplikāciju indikators" - #~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." #~ msgstr "lmsensor: lmsensor_psensor_create atteice: nepareis īpašības tips." diff --git a/po/nl.gmo b/po/nl.gmo index b1a54d2012fad32a39d52384d955f914d24e6d35..d10d005817cc2756c159302bbe246024ef74c077 100644 GIT binary patch delta 4615 zcmZ{leQ;D)6~J%gOTtI^lJJ%GSxQWR1cC+17HE?Y8X$x~5~wW!-tOM)KC=7X@;(wk z>`v`it^JVlO8;<*Qyr@vbsRhV;SAP}wSVAL?a;Bd9kdS0sCBHJj*P7zL-BXsdkc$$ zclNyBz3;wz&$;KEd-nK-clye|n>GHVqWQ=o{>unYbQ4#N3UmC8d0*1)&mY^BQTJe{Sycn>zqhtuM5C#+{| z!<*nkZ~=T4-VA>NKLIbmt?&c52DVSfNO(BmgYXu{k3-q#dH5-KE*h7W`X?PxR9~mm z1h@jSms$;FL1*$l4Y63|A%{}O;5_&xXuz*SS^v|7KZ6q)znbvZ@G|4yLOIC!8A{DW zzxoFqernRp*pPX!f$>TxihAK(crO$K4khC+z(&STLkZo>2`@ldcNvO7lV`>2>!9dq zOvYNyVXD7`j{!8dIaxB@X2a0P3p`4%u#S_P%SpHSG4t^JIfPaJ;dKk(9 z9*0b+6VQO)f=%!&l#sj+u|a(}2mgzLS~6)qY=V+39Z)WSPTm)xDEJ~2k35?2YfwV) z11Kka6N+cvhO+(xD29Io#nW{>F`z#m#iz_xJ6GKouk%1Vg3Q$7v0F*3$BpJT} z#ZD+Oy9Zu@2jFc&BR4-~jg5sLRP-5N;MR7ZnSesA`eHfB1>Io>N_Ir@21>|23zx#Lz=`k-lxzA@BmS2S&htV}bP>wJkKjZ&7j06A z8X)6?wNHUh;Abb>xXZ`?>!oR^9cpoCyZv@$h3`zWNN2H}=L@}3c zDjDAa#cjPv2H|3;B624p;gOb&5&a`dD5Od9N)r!mK{{oSv;*)UQWmSFtw5$DlMp%S zdPJI!d>WA=au>1-k>ruK6T;`K4c#v`6T)k$#}JGy4s8X zSR@CQAgd8cI4P}_wug=+*8tLnEJvjEAXH=JBA-FJkvvjql8Dk)Aq9!&Er{F#azyP% zrXlj@uot-(kwhAgNO2)A)i5H>K_m&KsBA{08HgmTBw?k6GiNP4{htYsji0mL+PK|3 zyncnXQAyXb>4p#0KG(0>(@x+UeV(>G$5rha-x@W2ZDh4K;yWe7c6@8t%9y_8*q&-H zm~K&Zn3<8B>jZYza7t#z@{gpd-lf7dQ`XPRTcwohbPDVlJ(GbKmZn@OZ?e2n!8~Hb zN)5|4{Jb`b+78qv*Bq<7&jjwMR$W;O`&>P&U2SKy7r*F_?7jZIZKey_7_>3S=rIF3 zlh>}1!A@Vhsw*yO5N?6rF^(f5e% z>5}96Mmor`lan%*c(uIqu;r?sN)@Fh$>Lc@wd&8fR>?Q?VVwzloi)bt+BQsnl3Ir4 z8Lnx08fV23PEZx-8t+8i-mUShmrP#`VU>^i^LVxT3}!*Q{&jBx9G41`*!pVY}wH})Y{rwt9F}(K!?AmTh+3^TNg@df8`eC zwC`I*?F?s0@?p~|=xnPhS~dr6@|we0GkPX_B#@nz(a?IK3T-qJvt>YfG zGI^iO)K=CQ6|XbYF1c>w@%E}gc%{C7L1%P}w-t2Ys_2=Dq3zQ<=hf7dlS}A3cBInC zYd^Zh(bim+0Y{fi&%-1nD^-MY5HD(pF1O+95zS(?8{0-u!#-&}rs>5NjqvIDOT*vK z4`!k$aT4`l*wQ26z=Ad9-F%AsoMOQ`==pL1iAx%P%8BAR(L|Mu&9kfKH@R}X3bD?- z@z@juZZwPA&5>xnw{^7DZ>4aU#ppo|)Htf*7Xsv!2vxQRa%?PCu5b|SrTweIsF@0~8Wc2^1z+6i+Dse76 zzNkLDf6<|?{v;W0GM5T#fL(Me}E0twbcbw&en*!if#bC-#$C z6rr|;#q0iW_#^^pH?T&o)u67p1nn_RH><;uhUL@ucL!B9D154+d8(A0rl8qx(spzB RV#A)=xa#O8hI4K@_Frjw!lD2G delta 1998 zcmajfUrbw79Ki9zWUzt4C{SPuTwu_`pp-w3KQe`FERM~=FAJJxHR-a7%nz+>6F!iAEFS!*pgbnVOu8-pq?EMukIxOrvXi+Rjn#UgwQx8fx%#;-9K z|G+LxNmFVE9>P*QiSmC7=)$iO^ZO|4W~D3j2+voQ4Dz|qga-ED5>BA}qy2C^QgsfU z%oh?~#R}#>pk$8K;ufOZ*NR*4P{JW($0~{s;T-1he07?EM0y^}@d}a*^$QY%x{I>V z-`Ilb8A|QMPBif~lm&l9dB7bk#H3863a}U@BQ2PPgD8PpI4e6p%Yb82AEQKm8Rf=n zD1rTiIk=2nm`yYeJc8#r%n9sZ?%?78_F*?J;4}CS9>sk`7sZdT6^nAn{{aTivw9C+ zKpX!;DUu)uEN2zMdOU$1{1oMAZldfkov5WI%F)11lz@j(GI1RH@NI0zySN=|^T@vp z4)YXQcn%G`jE~~?$nmN_QBo*{BKMWyzxXUxi9})GD_Dl_p%m*?Y{KivpUUN;9C0nm zef_fx$ex-(vZPL-ME)-FMyZR)v(;xPJNyP^=l4*KtbiyfXjOu8Uo}3BdvGtF!72O> zrAGEssj_}Ix^XtZKo&fMEqDoKq2EzAetS%hXL%h)%r^YCWtsjM!&aj_s^7^P(wPpod!IGs3x@(m zS8w-0`9iH;;Qp9t#p2fv)^_N74pUELXY2Q~Z|V7*e4UniIIGVb8#g1q*kr^sd|@*Z z)1TzJ_2(4@sr}ZdWlvi=!;nn&ChwXs)GT?NZ1Zu_ps7Iq*z*Vjk@-3#AR% zc4U+=Ol$GmG9yVZZ7a}kmY>dhkdDd7w9glb`bQ?GLsn4FS5%XfQoUSJpo?5p`Z\n" "Language-Team: Dutch \n" @@ -18,21 +18,423 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Kon geen webserver maken." -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren." -#: src/cfg.c:580 +#: src/cfg.c:573 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren." +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Over" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Voorkeuren" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Afsluiten" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Sensorvoorkeuren" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Temperatuurbewaker" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Hulp" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Waarde" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Kleur" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Grafiek" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Tonen" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Voorkeuren bewerken" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Vensteromlijsting verbergen" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Houd venster eronder" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Menu inschakelen" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Teller voor Unity-starter inschakelen" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "" +"Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Temperatuureenheid:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Positie van sensorentabel:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Bedieningsschil" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Venster bij opstarten verbergen" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Vensterpositie en -grootte herstellen" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Voorgrond:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Achtergrond:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Ondoorzichtigheid van achtergrond:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Kleuren" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Duur van bewaking:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Tussenpoze voor bijwerken:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Metingen" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "seconde(n)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minu(u)t(en)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Tussenpoze voor bijwerken van meting:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Logboeken bijhouden inschakelen voor sensoren" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Tussenpoze voor bijhouden van logboeken voor sensoren:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Script dat wordt uitgevoerd wanneer er een alarm plaatsvindt:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Sensoren" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "" +"Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "" +"Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "" +"Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "" +"Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "" +"Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Sensorvoorkeuren bewerken" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Naam" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Soort:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "N.v.t." + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Chip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Naam:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Sensor-curve tekenen" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Kleur:" + +#: src/glade/sensor-edit.glade:448 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Sensor tonen in het menu van de Toepassingsindicator" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Bureaubladmeldingen inschakelen" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Drempel voor hoog:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Drempel voor laag:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarm" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Sensor tonen in het menu van de Toepassingsindicator" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "" +"Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." + +#: src/glade/sensor-edit.glade:719 +#, fuzzy +msgid "Display sensor in the label (experimental)" +msgstr "Sensor tonen in het menu van de Toepassingsindicator" + +#: src/glade/sensor-edit.glade:752 +#, fuzzy +msgid "Application Indicator" +msgstr "Ubuntu Toepassingsindicator" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: kan ADL-bibliotheekbestand niet vinden" @@ -59,11 +461,11 @@ msgstr "Aantal AMD/ATI-videokaarten: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Aantal actieve AMD/ATI-videokaarten: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, fuzzy, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "atasmart: sk_disk_open() mislukking: %s." @@ -83,37 +485,37 @@ msgstr "%s: kon verbinding niet openen." msgid "%s: wrong string: %s." msgstr "%s: verkeerde tekenreeks: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "%s: kan waarde van subfunctie %s niet bepalen: %s." -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: verkeerd functietype." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: opstartfout: %s." @@ -139,48 +541,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Kan logboekbestand niet openen: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, fuzzy, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "Kon Nvidia-informatie niet ophalen." -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, fuzzy, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "Kon Nvidia-informatie niet ophalen." -#: src/lib/nvidia.c:226 +#: src/lib/nvidia.c:240 #, fuzzy, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "Kon Nvidia-informatie niet ophalen." -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Kan verbinding met X11-server niet openen." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Kon Nvidia-informatie niet ophalen." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, 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 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "N.v.t." - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "Variabele voor HOME niet ingesteld." @@ -202,7 +600,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:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -217,12 +615,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:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Gebruik: %s [OPTIE]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -230,11 +628,11 @@ msgstr "" "Psensor is een GTK+ toepassing voor het bewaken van apparatuursensoren, " "inclusief temperaturen en ventilatorsnelheden." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Opties:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -242,7 +640,7 @@ msgstr "" " -h, --help toon deze hulpinformatie en sluit af\n" " -v, --version toon versie-informatie en sluit af" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -250,69 +648,62 @@ msgstr "" " -u, --url=URL het webadres van de psensor-server,\n" " voorbeeld: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance forceer het aanmaken van een nieuwe Psensor-toepassing" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Meld fouten aan: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "Webpagina van %s: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "" "Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Schakelt foutopsporingsmodus in." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer '%s --help' voor meer informatie.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Er bestaat reeds een instantie van Psensor." -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Kon niet verbinden met: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Ongeldige inhoud: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "Ongeldige JSON: %s" #: src/server/server.c:58 @@ -369,81 +760,100 @@ msgstr "" " --sensor-log-interval=S stel de tussenpoze voor het sensorlogboek in op S " "(seconden)" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Kan logboekbestand niet openen: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP-verzoek: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Schakelt foutopsporingsmodus in: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Geen sensoren bespeurd." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Kon geen webserver maken." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Webserver gestart op poort: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW-map: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren." -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor is een GTK+ toepassing voor het bewaken van apparatuursensoren" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Auteursrecht(c) 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Over Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Pjotr12345 https://launchpad.net/~computertip" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "Thuispagina van Psensor" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Kon pictogram van Psensor niet laden." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Voorkeuren" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Kies voorgrondkleur" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren." + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "gettimeofday (tijdbepaling) is mislukt." @@ -457,181 +867,10 @@ msgstr "Temperatuurwaarschuwing" msgid "Fan speed alert" msgstr "Ventilatorwaarschuwing" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Onbekend" -#~ msgid "About" -#~ msgstr "Over" - -#~ msgid "Sensor Preferences" -#~ msgstr "Sensorvoorkeuren" - -#~ msgid "Quit" -#~ msgstr "Afsluiten" - -#~ msgid "Show" -#~ msgstr "Tonen" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Temperatuurbewaker" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Hulp" - -#~ msgid "Sensor" -#~ msgstr "Sensor" - -#~ msgid "Value" -#~ msgstr "Waarde" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "Color" -#~ msgstr "Kleur" - -#~ msgid "Graph" -#~ msgstr "Grafiek" - -#~ msgid "Edit Preferences" -#~ msgstr "Voorkeuren bewerken" - -#~ msgid "Hide window decoration" -#~ msgstr "Vensteromlijsting verbergen" - -#~ msgid "Keep window below" -#~ msgstr "Houd venster eronder" - -#~ msgid "Enable menu" -#~ msgstr "Menu inschakelen" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Teller voor Unity-starter inschakelen" - -#~ msgid "Temperature unit:" -#~ msgstr "Temperatuureenheid:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Positie van sensorentabel:" - -#~ msgid "Interface" -#~ msgstr "Bedieningsschil" - -#~ msgid "Hide window on startup" -#~ msgstr "Venster bij opstarten verbergen" - -#~ msgid "Restore window position and size" -#~ msgstr "Vensterpositie en -grootte herstellen" - -#~ msgid "Foreground:" -#~ msgstr "Voorgrond:" - -#~ msgid "Background:" -#~ msgstr "Achtergrond:" - -#~ msgid "Background opacity:" -#~ msgstr "Ondoorzichtigheid van achtergrond:" - -#~ msgid "Colors" -#~ msgstr "Kleuren" - -#~ msgid "Monitoring duration:" -#~ msgstr "Duur van bewaking:" - -#~ msgid "Update interval:" -#~ msgstr "Tussenpoze voor bijwerken:" - -#~ msgid "Measures" -#~ msgstr "Metingen" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "second(s)" -#~ msgstr "seconde(n)" - -#~ msgid "minute(s)" -#~ msgstr "minu(u)t(en)" - -#~ msgid "Measure update interval:" -#~ msgstr "Tussenpoze voor bijwerken van meting:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Logboeken bijhouden inschakelen voor sensoren" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Tussenpoze voor bijhouden van logboeken voor sensoren:" - -#~ msgid "seconds(s)" -#~ msgstr "seconden(s)" - -#~ msgid "Script executed when an alarm is raised:" -#~ msgstr "Script dat wordt uitgevoerd wanneer er een alarm plaatsvindt:" - -#~ msgid "Sensors" -#~ msgstr "Sensoren" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Sensorvoorkeuren bewerken" - -#~ msgid "Name" -#~ msgstr "Naam" - -#~ msgid "Type:" -#~ msgstr "Soort:" - -#~ msgid "Chip:" -#~ msgstr "Chip:" - -#~ msgid "Name:" -#~ msgstr "Naam:" - -#~ msgid "Id:" -#~ msgstr "Id:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Sensor-curve tekenen" - -#~ msgid "Color:" -#~ msgstr "Kleur:" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Sensor tonen in het menu van de Toepassingsindicator" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Bureaubladmeldingen inschakelen" - -#~ msgid "High threshold:" -#~ msgstr "Drempel voor hoog:" - -#~ msgid "Low threshold:" -#~ msgstr "Drempel voor laag:" - -#~ msgid "Alarm" -#~ msgstr "Alarm" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Sensor tonen in het menu van de Toepassingsindicator" - -#, fuzzy -#~ msgid "Display sensor in the label (experimental)" -#~ msgstr "Sensor tonen in het menu van de Toepassingsindicator" - -#, fuzzy -#~ msgid "Application Indicator" -#~ msgstr "Ubuntu Toepassingsindicator" - #~ msgid "Sensor Information" #~ msgstr "Sensorinformatie" diff --git a/po/pl.gmo b/po/pl.gmo new file mode 100644 index 0000000000000000000000000000000000000000..dd9c0425bf10777278bf032fd376cfb44cbebff3 GIT binary patch literal 15359 zcmbuFd5|1eea9cR!Io@{F$Nn0@iSPKgm!kdvL(x7N%neoC9SlVwJQmXub%1N+1{Dy z9(VU>G~>j8Kq!G22Z9qDW56~?d?Xw;5F1rN@NSAgpn#(?{0hYp9S{mr-M-S78)*ZcK;@4~b0Q+%F*UJd=|g-ZPfeDYkr_}u>zrM7|(fJ5N7 zEM9zpQaAGZ7VtLkLtq*F9k>ykd#O^x;Dg|P@CV>5c+G`My#V|$_%iSj@b%zl!S&z| zz)Qh%sg&|7!Oh@J;C0|J@JjGG@FMUh;Kktog3|tC3g!2W;2(fDgEC$dybOGw#izlS z^ZTE{Gr*sKvaX+jd%&NATfjVxR)cq1{6p}y{5}Sr1wIa*4SoWY`924(1;1^7{|=P( zyyg{3!CJK$d@*<(DD6jV`7B6N6@Y9-y&aSzxF38G_!00-@ClHmsZW5bzIjj;9Egy|0t-z&x6wMJD|wpuR;FQ z#Y`rA=?7(;VNlNH7Et7&1WNmNgR;ISz+Uj1wp_hRsdfB*4XDALptLK2h_t!~lyyD? z@~0l-OZc_`%6wl1Wq&^erTs5J;mes!D)r}BybP53Eufs&PEgKikHu+F_;nj7`>KI5 z&O5>L!FxgJ_d#3!2nb8n$H8;JFWUNlu=QU9MIOEdO1poz^} zUkXaU9#G_P02F@Q0m?k@0AZcF7Zkoc4$3}03-YJF$d~Zrdte{) zw}CnES@0_GKR{{!YLxL>a1`7Qz612Yc~I8-dY$s250rDi3gl1i;!DnP7L@Y$fFiFS z1u-4!Nsy(eFMz_|?}DPQ{{xCVUy9I4`D;O$XB#N`H~>oh1StGDXwe5Z^ZPDP&gD~} z$lGT?;pcZi;rkCk>Hiy0_;Mzbid_K2Z4n zK~T==aa;cdQ1-h3%6a@FDC_?=xCi`^E$@3>%8zTo$rr$9aDe)Um~0&UJ~#~au2E_X zOu*Z~FM(z7ayEGbcn^3z_;s)Xp1(G=<9C4!t9}F`a_ZkeIsY>`9O2hikSSFF%DKN6 zl==T290Jc-j|~FHKvYQ`1zEa!7|en5pq$fxgB!r}Fg`3nZ3S7Py4~VYQ09LEJOlhP zDC_zvDEs*uDDu_AAgjSSi*-=*`z_#E;KSf~;Kx9wR8N62-*-WVP-pd|_PGx{m*2yn z$lp!i<)8#GL<@y&BG$K72E_mptOG< zDC0k5@lo(a{C>>hC&3r9@y~%Ag<3!frT%B2toN6o>{FCa^zVgyNxRLU$nUKd4}qdb z_kyBFkANblUj)wszYhw({}Yt+S+z0U|LZ{6$1teDTS4i6Hz@5t080C3K;g?j+4}zi ztm(SuWMfJPXQt z{tmnV{01oJ_yf@F8#Mby8D)J}fU@7~L6N7uAf{GLgR-s!gth8^a18tk$kC`vVER^Y z1mwuo5s*LiX}+ZWk3q2yui_Af!8d_*@L^E)c`==3zRN)2>pD=@cLRt>sv`Ib@V%h4 zf6V^=6exQ4W$+5{7ohOvl55lPra;lVTR_?8-QY{WqoDBZKJcaBBcP1`G${SQ3JM=z z#1EFJ&I9FqhCq??5m44U3%(M(6O?to3zTsm1?Bud3CeuWg0jx9fTF*@0%iQmuS>^S z3(7fd1T}cQEx*H}Z!rR;-(BD|_*PKn`8Fu)`d9D;pp=O`$XV`!5@-rS%*{S}z&Ao~ zfaD{*ehTs-8As0W&mqyRA~X)|g^oel=TCVUfNsqSz|Y#}TfhQ@c&ip9Jh>YZ9(a)O zd@UrOeNYpMAkkTow;EJ}ZRf2ixX$b{&Nd_;cc%u{-1 z5Au9J^l@7z`h7Me=eow0J#O(~(1o71zeU&H3^`B*`V1uYC;J@Y;SOll7TgHl1@%HV zK*Lb>8Lz6C#4!-8M+d>2igjW-h3Jwgsz6<^Dzh!H=hsl{XqJtJ^>zvK4*Ww3%nfq zE9ir^>;U*4=nCkMp_fCOp-E^DlzraE!vu6Qw80kMX7T;tBhaPLPUsa-9eNogpBd-^ zs474Bh_8{)x)jt+;0K_7=pDA~A&VJ2%ELDM<1H5Vg9o7ydK2_+=t)Rvoy)~u5QkB& z5|(l^e#P59IWWCj$6lh7Sr3#-O{JDforGHImv;1n#ET9&mF-h2^~`Fe_mo~2d&Mwt z-A00k0JgViBO>W9{#XICxdbA8u@*-XEl7{C6dZTs%S6_94L7wjr zv$Bp^uTopJ%Jt(~#c8sAKh{!YCh`vZ$!ZpSNE#mUqSz0EPFq{RB4@&=>LgUQd&vsh z!^`&4&*@LIq{FG^f>*gEr`ciYN(UK8hrny({2)%8py+AME&vgLV&tXU31_sUX{9Hv zOgOb##V?vl#TIKlxm+!blI@cd`=(blyh4mba9&a-jB8NeaQ$fe(8xYvT;vs#FluUK zA#wb`4@$bLlT-3y8MQ8Jt4EdX`}d`?q0Oq~7YmXF)~x)d)AcabN+0jAQ>|6Jyq-;x zTE4GuHjIxCJZ zQja_>P1eM{-A%(9!pWur_9tS1%)g<(ADI?zq%C(kenrY{D;{MOGl*1qu2e=|68VU} z9zQTLG&0aFTAfi=Zd!{%w_Z%NY*3C;@0#4N*SIH|pz1lXY(^N`tg)%Xrjwobog)GOx`i5Ci%s~aEv{$a5 zfOgw#QmyRRRtVkZj%~FalgN}7DVhoEn5>-M70Ll`bM$QF&1_%Ww|2)E8en8^Tc5LI zTVD+_y_XI(mFiTSgf#@@&bk*Tp4-)aTc4R)ZSxuO@U}jGhk5h^^ElAf-L|GX74+L} zYRp@laDD@WlOt+iY)B7I?ibAKVyXe@+6RV4b;U14PSm7rSG6dJXk$kn9M`Gg6l6?k z*Eys%(>={_wz}%av6ui#*2a2Za)k0iSWnXLY~5-AojT+so_4*sEKGo{{*1Lku^Om2 zQB@6e43i!ST&WEsb)!=(mm+flVa+M}Ni*M7#&eh?VO7b#A!EI(UR5kqJ>~#Sp?&Ju z1ejOh+>%+*094qT3nPb_sWqbBU9rTcrh+r*Rbs!+2(x}IuLi>kOE%y32Q^`>8TqBz zM6VlM&t!VebAlQFhEf%=>@9}X)uVn9ckQ9>qlY%-^{(;#@~AV1u}O<3hkKDmLX8=0 zG#b67pxzrsr9ORUAR4O3qD__Q=TgIbmGFQbZcon_Q zJIri;m1&*I`V%!}3&!%BXvmDZ!hnoXS3{B0$fBmAtVIpGexfJQboPyNjnjguG_YD! z9ykR;to<0JrXF?bK@nErBEF?Fc41S#8oFsR;sPqh!aMnTk2YG zUCeEq%^IWTM25N=x|sU3b$1z>V2t4G6rwA6S?p$E~nkqZr}CH7vl$R z*x+c3VY?slA?8%SJ_|!-h(g zN6T0qex+;7QEw(uqfFm5E}l|Bc{OGOp?b{~ACp~M+7+=H^8+DDI*07qvywuDB`Sn$ zy+_t)3?M93<9!3F6Hcjd;xhApJ;XF zUX2cPs*T{|SXXK_QImi)&a25VChmbNScq({M9!0{E;}_Dg@-t`C{~%k=JYh0?{RDr zFIpb7Yj+bsOZ?m}m~~5p`wYlri@3X z%49sc6~Pu|0Ug7oL9>K;y;+BLt=Pn6HCbU#7Ec!|VT@BthmJGMTzQx6nVQ9*O;tl| zi#7oTjje&~R>stpcbC+0LwPlg`%1$xm<{jDk&Er0kvLGC8}?Pk6JucS(!FXrtf^^C z{~d&xX+;+D=y^iyLBZjIu*HK=W);Wey8>?wW<3hsuowF-!w5f zJu)$VYi}>Z9pI`fG57(wZL5O^4|bfd@hcr)o%#v3f*})GF_w^On|J8=Y&Y~$J7g|7 z%yIi}vO4N^Yt@tqX46<-agRv|2E!Sb3{ZM!=~X6DRJKLc50I^Oq^~Tu&e|tIdG?Fo z#-u$&$pUTMqAih&cvoz&RKYk0(b@_Zt299-QzQ|$YC?AMbA%%VlGx%XoI`eVBW~_M znuf|}=cfC63DsAps*@XwOTL@C5e3RklVDhOTbP`f&J7~S;t6s?IJ~^X)z{=U_UATj z(*2wBSNCrq&fd6saw50SJLHQW?X=sH+qgBiX|wL{&u_eT!^Tat8+GC&H{D(_^58Ve zUeoLE-*WXe*Kp_P{@J;+#EV?Y4X`2>i0Mbc8H!AQ_tWF1F?$z;Z1-IDbqOJZw0D z@91KyK1cWGo@$V&N%Nv*@&ilLqLULhk4%hdJ5()f`C&DUi_>v>xR4iH1;%q0j+8?j zfTK6&mgYrIbCmf9I>XE#)uBt8l?|KG+BwWss~XLP2OC6(+$FDajfH;2JRTAU)g&Fl@EU7Rd6o(?MkR~#IfSM=#w3KwNf_YO=Cj85!Y zwW`eBN_D8{xNw|C^;R=3JLm&3hG<67N0i)|dQcWl zb*ELkI)#R}O?uVBg(GZS`0R*)X1gHMnr8N-SKUP;sPmEPtOK2m8<82LO$~(!-FCBd zSpgMo5%O(nvNP@p`v^;#a&>a+<)ogaG~Ei(Rwn^_(piyn--*N|klw6ICN}GBuMakh zd(uJtO3Kg%IgO@q9t_xCevJf$FFR(bi!!u~*{O3xzS5&v%&}JBaD3+QPqot-%hX3q9h%vFQcl;1B$>-~ zoCUeyv~)t`jmvV?_f*$&wk0)CPMVGSoEhJ7Q6ys=IEz}nQuB-SO4Gv!F+2;;;(0r! zS&fVAx4ae{z%W@?onY?>piz~)8hY-jg(DJs84js~%`#S=mK=w?G^(-_Oc+MYws4j< zX_qrq#?v;ZMDGYE#9fFf^cIf8+%>T*D{I@OB8#IBW6n;eVHR*WsVqyvd9EI}Y{q%7 zxdWN+yfV=2X0Kd7aM zrx&+qf}%+i!!oxy;}Z*sgYk6~wvf5F#+g7i~RGz_~4!q-9Wv{ zxI{X;VT)n#rd19Tk>J~DgwG=by%)h~a2IXio=PG%O*MqGLm;xC$wq$6>Ltyx_f%en{sBgEY~yV zuTYdVH&dkE)Y%MQvt~cCK$q)hJJ4;n3=8qXk$MUB&ob0mw@%H{4E6FB zX@+`vxhsij-mayI>J=vK%EPQw+sRNbA3MuX+ZsnFQM1q;kN0LHF0VrI7Uio&Ycp$T zju)GA0WtDPR=sG_w0D{^Kk-IePR)>E(Hm z^wAhA%e~hIRZfqHR~pN#Bbl_m%P~v3ofpO}L~tF4vtH!gcwf zO>H8#nK3@vHq)oyqmhMKPAAUN>v%WcPUWv}@8Q(*r_SJcbXek|PJi90Q#t+iUA{y= zkM(7KWTlDXvPtKQyE!QCi!s=zNypz;7)*{O_;OtF)|0HIbjC+I@a!W@j+w1g-b#iNE$US_JJoXF&#ABw_4bihRX3x+D3VSuV7z%W{}{EJxSI$D zBV}&>q9$^0kho4vL~7zBA`hB|V=xHJFAfOlV)%6IOQgTul;sck+H&jgyXSu2h8Sm;iFPCu%C9{(KtsXz7t%!h~V- zM+srGmHIrKJh>>Ag$vJdwM%?39w&_lz0`Dba}j@Mom$t)sXd+>U=qrNG3^&N{L2h( z%1EVH3zj0+QprQPt&rfnCjYiZMI;ez+uGFP^v%ky=bnljH6`ArKv;T5=iNe&cKAn+ z_I0Qsw<+#Iog7U1o*}OWvbvjPxy#aW z=1|+$Zv&NY*AG2R_7k@|KHI{p$Y!G{s}W literal 0 HcmV?d00001 diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..370aff9 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,849 @@ +# Polish translations for psensor package. +# Copyright (C) 2016 Free Software Foundation, Inc. +# This file is distributed under the same license as the psensor package. +# Maintained by Jean-Philippe Orsini +# Translators: +# hawkeye116477 , 2016. +msgid "" +msgstr "" +"Project-Id-Version: psensor 1.2.0\n" +"Report-Msgid-Bugs-To: jeanfi@gmail.com\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" +"PO-Revision-Date: 2016-08-25 11:09+0200\n" +"Last-Translator: hawkeye116477 \n" +"Language-Team: Polish\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/cfg.c:501 +#, c-format +msgid "Failed to create the directory %s: %s" +msgstr "Nie powiodło się utworzenie katalogu %s: %s" + +#: src/cfg.c:548 +#, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Nie powiodło się załadowanie pliku konfiguracyjnego %s: %s" + +#: src/cfg.c:573 +#, c-format +msgid "Failed to save configuration file %s." +msgstr "Nie powiodło się zapisanie pliku konfiguracyjnego %s." + +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "O programie" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Preferencje" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Zamknij" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Preferencje czujników" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - kontroler temperatury" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "Pomoc" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Czujnik" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Wartość" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Kolor" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Wykres" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Pokaż" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Prawo" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Lewo" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Góra" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Dół" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Edycja preferencji" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Ukryj dekorację okna" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Utrzymaj okno poniżej" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Włącz menu" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Włącz licznik Unity Launcher" + +#: src/glade/psensor-pref.glade:190 +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor nie został zbudowany z obsługą Unity Launcher" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Celsjusz" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Fahrenheit" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Jednostka temperatury:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Pozycja tabeli czujników:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Interfejs" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Uruchom przy starcie sesji" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Ukryj okno przy starcie" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Przywróć pozycję i rozmiar okna" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Uruchamianie" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Pierwszy plan:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Tło:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Nieprzezroczystość tła:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Kolory" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Czas trwania monitorowania:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Częstość aktualizacji:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Pomiary" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "sekund(y)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minut(y)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "Gładkie krzywe" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "Krzywe" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Częstość aktualizacji pomiarów:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Włącz logowanie czujników" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Częstość logowania czujników:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Wykonywany skrypt, gdy podniesiony jest alarm:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Czujniki" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "Włącz obsługę lm-sensors" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "Włącz obsługę NVCtrl (NVidia)" + +#: src/glade/psensor-pref.glade:974 +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor nie został zbudowany z obsługą NVCtrl" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "Włącz obsługę ATI ADL" + +#: src/glade/psensor-pref.glade:993 +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor nie został zbudowany z obsługą ATI ADL" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "Włącz obsługę gtop2" + +#: src/glade/psensor-pref.glade:1012 +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor nie został zbudowany z obsługą gtop2" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "Włącz obsługę demona hddtemp" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "Włącz obsługę libatasmart" + +#: src/glade/psensor-pref.glade:1049 +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor nie został zbudowany z obsługą libatasmart " + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "Włącz obsługę udisks2" + +#: src/glade/psensor-pref.glade:1068 +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor nie został zbudowany z obsługą udisks2" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "Zmiany zostaną zatwierdzone po restarcie programu psensor" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "Dysk twardy" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "Wykorzystanie pamięci i procesora" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "GPU z własnościowym sterownikiem" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "Płyta główna, procesor (CPU) i procesor graficzny (GPU)" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "Dostawcy" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Edycja preferencji czujników" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Nazwa" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Typ:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "Niedostępne" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Chip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Nazwa:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "Min:" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "Max:" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "etykieta" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "Szczegóły" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Narysuj krzywą czujnika" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Kolor:" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "Wyświetl czujnik na liście czujników" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Aktywuj powiadomienia na pulpicie" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Wysoki próg:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "0" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Niski próg:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarm" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Wyświetl czujnik w menu" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +msgid "Psensor has not been build with AppIndicator support" +msgstr "" +"Psensor nie został zbudowany z obsługą wskaźnika aplikacji (AppIndicator)" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "Wyświetl czujnik w etykiecie (eksperymentalne)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Wskaźnik aplikacji" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "Brak wykresów" + +#: src/lib/amd.c:171 +msgid "AMD: cannot found ADL library." +msgstr "AMD: nie można znaleźć biblioteki ADL." + +#: src/lib/amd.c:198 +msgid "AMD: missing ADL's API." +msgstr "AMD: brakuje API ADL." + +#: src/lib/amd.c:208 +msgid "AMD: failed to initialize ADL." +msgstr "AMD: nie powiodła się inicjalizacja ADL." + +#: src/lib/amd.c:214 +msgid "AMD: cannot get the number of adapters." +msgstr "AMD: nie można uzyskać ilości kart." + +#: src/lib/amd.c:253 +#, c-format +msgid "Number of AMD/ATI adapters: %d" +msgstr "Ilość kart AMD/ATI: %d" + +#: src/lib/amd.c:254 +#, c-format +msgid "Number of active AMD/ATI adapters: %d" +msgstr "Ilość aktywnych kart AMD/ATI: %d" + +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 +msgid "Disk" +msgstr "Dysk" + +#: src/lib/hdd_atasmart.c:153 +#, c-format +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: sk_disk_open() niepowodzenie: %s." + +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: nie udało się otworzyć gniazdo." + +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: nie udało się otworzyć połączenie." + +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 +#, c-format +msgid "%s: wrong string: %s." +msgstr "%s: błędne wyrażenie: %s." + +#: src/lib/lmsensor.c:73 +#, c-format +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: Nie można uzyskać wartości podfunkcji %s: %s." + +#: src/lib/lmsensor.c:174 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: Błędny typ funkcji." + +#: src/lib/lmsensor.c:203 +msgid "Intel CPU" +msgstr "Procesor Intel" + +#: src/lib/lmsensor.c:207 +msgid "AMD CPU" +msgstr "Procesor AMD" + +#: src/lib/lmsensor.c:209 +msgid "NVIDIA GPU" +msgstr "GPU NVIDIA" + +#: src/lib/lmsensor.c:211 +msgid "VIA CPU" +msgstr "Procesor VIA" + +#: src/lib/lmsensor.c:213 +msgid "ACPI" +msgstr "ACPI" + +#: src/lib/lmsensor.c:245 +#, c-format +msgid "%s: initialization failure: %s." +msgstr "%s: nie powodzenie inicjalizacji: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "Wykorzystanie procesora" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "Procesor" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "wolna pamięć" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "pamięć" + +#: src/lib/plog.c:43 +#, c-format +msgid "Cannot open log file: %s" +msgstr "Nie można otworzyć pliku dziennika: %s" + +#: src/lib/nvidia.c:69 +#, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "%s: Nieznana nazwa produktu NVIDIA dla GPU %d" + +#: src/lib/nvidia.c:74 +#, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "%s: Nie powiodło się uzyskanie nazwy produktu NVIDIA dla GPU %d" + +#: src/lib/nvidia.c:240 +#, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "%s: Nie powiodło się uzyskanie pomiarów typu %x dla GPU NVIDIA %d" + +#: src/lib/nvidia.c:317 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Nie można otworzyć połączenia do serwera X11." + +#: src/lib/nvidia.c:325 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Nie powiodło się uzyskanie informacji NVIDIA." + +#: src/lib/nvidia.c:394 +#, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "%s: Nie powiodło się uzyskanie ilości wentylatorów." + +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 +msgid "RPM" +msgstr "obr./min" + +#: src/lib/psensor.c:428 +msgid "%" +msgstr "%" + +#: src/lib/slog.c:87 +msgid "HOME variable not set." +msgstr "Zmienna HOME nie jest ustawiona." + +#: src/lib/slog.c:96 +msgid "Sensor log file already open." +msgstr "Plik dziennika czujnika jest już otwarty." + +#: src/lib/slog.c:105 +#, c-format +msgid "Cannot open sensor log file: %s." +msgstr "Nie można otworzyć pliku dziennika czujnika: %s." + +#: src/lib/slog.c:136 +msgid "Sensor log file not open." +msgstr "Plik dziennika czujnika nie otwarty." + +#: src/lib/slog.c:192 +msgid "Sensor log not open, cannot close." +msgstr "Plik dziennika czujnika nie otwarty, nie można zamknąć." + +#: src/main.c:61 src/server/server.c:88 +#, c-format +msgid "" +"Copyright (C) %s jeanfi@gmail.com\n" +"License GPLv2: GNU GPL version 2 or later \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 "" +"Copyright (C) %s jeanfi@gmail.com\n" +"Licencja GPLv2: GNU GPL wersja 2 lub nowsza \n" +"To jest wolne oprogramowanie: możesz je dowolnie modyfikować i " +"rozpowszechniać.\n" +"NIE MA GWARANCJI w zakresie dozwolonym przez prawo.\n" + +#: src/main.c:72 src/server/server.c:98 +#, c-format +msgid "Usage: %s [OPTION]...\n" +msgstr "Użycie: %s [OPCJA]...\n" + +#: src/main.c:74 +msgid "" +"Psensor is a GTK+ application for monitoring hardware sensors, including " +"temperatures and fan speeds." +msgstr "" +"Psensor jest aplikacją GTK+ do monitorowania czujników sprzętowych, w tym " +"temperatury i prędkości wentylatorów." + +#: src/main.c:78 +msgid "Options:" +msgstr "Opcje:" + +#: src/main.c:79 +msgid "" +" -h, --help display this help and exit\n" +" -v, --version display version information and exit" +msgstr "" +" -h, --help wyświetl pomoc i wyjdź\n" +" -v, --version wyświetl informacje o wersji i wyjdź" + +#: src/main.c:85 +msgid "" +" -u, --url=URL the URL of the psensor-server,\n" +" example: http://hostname:3131" +msgstr "" +" -u, --url=URL adres URL serwera psensor,\n" +" przykład: http://nazwahosta:3131" + +#: src/main.c:88 +msgid " -n, --new-instance force the creation of a new Psensor application" +msgstr " -n, --new-instance wymuś utworzenie nowej aplikacji Psensor" + +#: src/main.c:91 +msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" +msgstr "" +" -d, --debug=POZIOM ustaw poziom debugowania, liczbę całkowitą od 0 do 3" + +#: src/main.c:96 src/server/server.c:121 +#, c-format +msgid "Report bugs to: %s\n" +msgstr "Zgłoś błędy do: %s\n" + +#: src/main.c:98 src/server/server.c:123 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Strona internetowa %s: <%s>\n" + +#: src/main.c:390 +msgid "Psensor has not been compiled with remote sensor support." +msgstr "Psensor nie został skompilowany z obsługą zdalnego czujnika." + +#: src/main.c:460 +msgid "Enables debug mode." +msgstr "Włącza tryb debugowania." + +#: src/main.c:472 src/server/server.c:422 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Spróbuj `%s --help', aby uzyskać więcej informacji.\n" + +#: src/main.c:485 +msgid "A Psensor instance already exists." +msgstr "Instancja Psensor już istnieje." + +#: src/main.c:527 +msgid "Failed to create thread for monitoring sensors" +msgstr "Nie powiodło się utworzenie wątku do monitorowania czujników" + +#: src/rsensor.c:115 +#, c-format +msgid "%s: Fail to connect to: %s" +msgstr "%s: Nie udało się połączyć: %s" + +#: src/rsensor.c:152 +#, c-format +msgid "%s: Invalid content: %s" +msgstr "%s: Nieprawidłowa zawartość: %s" + +#: src/rsensor.c:192 +#, c-format +msgid "%s: Invalid JSON: %s" +msgstr "%s: Nieprawidłowy JSON: %s" + +#: src/server/server.c:58 +msgid "

    Server stop requested

    " +msgstr "

    Żądano zatrzymania serwera

    " + +#: src/server/server.c:64 +msgid "" +"

    Page not found - Go to Main page

    " +msgstr "" +"

    Strona nie znaleziona - Przejdź do strony " +"głównej

    " + +#: src/server/server.c:100 +msgid "" +"psensor-server is an HTTP server for monitoring hardware sensors remotely." +msgstr "" +"psensor-server jest serwerem HTTP do zdalnego monitorowania czujników " +"sprzętowych." + +#: src/server/server.c:105 +msgid "" +" -h, --help\t\tdisplay this help and exit\n" +" -v, --version\t\tdisplay version information and exit" +msgstr "" +" -h, --help\t\twyświetl pomoc i wyjdź\n" +" -v, --version\t\twyświetl informacje o wersji i wyjdź" + +#: src/server/server.c:109 +msgid "" +" -p,--port=PORT\twebserver port\n" +" -w,--wdir=DIR\t\tdirectory containing webserver pages" +msgstr "" +" -p,--port=PORT\tport serwera sieciowego\n" +" -w,--wdir=KATALOG\t\tkatalog zawierający strony serwera sieciowego" + +#: src/server/server.c:113 +msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" +msgstr " -d, --debug=POZIOM ustaw poziom debugowania, liczba całkowita 0-3" + +#: src/server/server.c:115 +msgid " -l, --log-file=PATH set the log file to PATH" +msgstr " -l, --log-file=ŚCIEŻKA ustaw ŚCIEŻKĘ do pliku dziennika" + +#: src/server/server.c:116 +msgid " --sensor-log-file=PATH set the sensor log file to PATH" +msgstr " --sensor-log-file=ŚCIEŻKA ustaw ŚCIEŻKĘ do pliku dziennika" + +#: src/server/server.c:117 +msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" +msgstr "" +" --sensor-log-interval=S ustaw częstość logowania czujników na S (sekund)" + +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, c-format +msgid "Cannot get real path of %s" +msgstr "Nie można uzyskać prawdziwej ścieżki %s" + +#: src/server/server.c:339 +#, c-format +msgid "HTTP Request: %s" +msgstr "Żądanie HTTP: %s" + +#: src/server/server.c:402 +#, c-format +msgid "Enables debug mode: %d" +msgstr "Włącza tryb debugowania: %d" + +#: src/server/server.c:431 +#, c-format +msgid "Webserver directory does not exist.\n" +msgstr "Ścieżka serwera sieciowego nie istnieje.\n" + +#: src/server/server.c:452 +msgid "No sensors detected." +msgstr "Brak czujników." + +#: src/server/server.c:459 +msgid "Failed to create Web server." +msgstr "Nie powiodło się utworzenie serwera sieciowego." + +#: src/server/server.c:463 +#, c-format +msgid "Web server started on port: %d" +msgstr "Serwer sieciowy uruchomiony pod portem: %d" + +#: src/server/server.c:464 +#, c-format +msgid "WWW directory: %s" +msgstr "Katalog WWW: %s" + +#: src/server/server.c:465 +#, c-format +msgid "URL: http://localhost:%d" +msgstr "Adres URL: http://localhost:%d" + +#: src/server/server.c:475 +msgid "Failed to activate logging of sensors." +msgstr "Nie powiodło się włączenie logowania czujników." + +#: src/ui.c:213 +msgid "Psensor is a GTK+ application for monitoring hardware sensors" +msgstr "Psensor jest aplikacją GTK+ do monitorowania czujników sprzętowych" + +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" +msgstr "Copyright(c) 2010-2016 jeanfi@gmail.com" + +#: src/ui.c:222 +msgid "About Psensor" +msgstr "O programie Psensor" + +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"Contributions:\n" +" hawkeye116477" + +#: src/ui.c:226 +msgid "Psensor Homepage" +msgstr "Strona internetowa programu Psensor" + +#: src/ui.c:363 +msgid "Failed to load Psensor icon." +msgstr "Nie powiodło się załadowanie ikony programu Psensor" + +#: src/ui_sensorlist.c:259 +msgid "Hide" +msgstr "Ukryj" + +#: src/ui_sensorlist.c:303 +msgid "Select sensor color" +msgstr "Wybierz kolor czujnika" + +#: src/ui_appindicator.c:148 +#, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Nie powiodło się załadowanie pliku glade %s: %s" + +#: src/ui_notify.c:48 +msgid "gettimeofday failed." +msgstr "gettimeofday nie powiodło się." + +#: src/ui_notify.c:77 +msgid "Temperature alert" +msgstr "Alarm temperatury" + +#: src/ui_notify.c:79 +msgid "Fan speed alert" +msgstr "Alarm prędkości wentylatora" + +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 +msgid "Unknown" +msgstr "Nieznany" + +#~ msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#~ msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" diff --git a/po/psensor.pot b/po/psensor.pot index c3e440c..2f9efd0 100644 --- a/po/psensor.pot +++ b/po/psensor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,21 +17,406 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:557 +#: src/cfg.c:548 #, c-format msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "" + +#: src/glade/psensor-pref.glade:190 +msgid "Psensor has not been build with Unity Launcher support" +msgstr "" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +msgid "Psensor has not been build with NVCtrl support" +msgstr "" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +msgid "Psensor has not been build with ATI ADL support" +msgstr "" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +msgid "Psensor has not been build with gtop2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +msgid "Psensor has not been build with libatasmart support" +msgstr "" + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +msgid "Psensor has not been build with udisks2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +msgid "Psensor has not been build with AppIndicator support" +msgstr "" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "" @@ -58,11 +443,11 @@ msgstr "" msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "" @@ -82,37 +467,37 @@ msgstr "" msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "" @@ -138,48 +523,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:226 +#: src/lib/nvidia.c:240 #, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "" -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "" -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "" -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, c-format msgid "%s: Failed to retrieve number of fans." msgstr "" -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "" @@ -201,7 +582,7 @@ msgstr "" msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -211,89 +592,85 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" msgstr "" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:110 +#: src/main.c:91 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:115 src/server/server.c:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "" -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:631 +#: src/main.c:527 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 +#: src/rsensor.c:115 #, c-format -msgid "Fail to connect to: %s" +msgid "%s: Fail to connect to: %s" msgstr "" -#: src/rsensor.c:144 +#: src/rsensor.c:152 #, c-format -msgid "Invalid content: %s" +msgid "%s: Invalid content: %s" msgstr "" -#: src/rsensor.c:184 +#: src/rsensor.c:192 #, c-format -msgid "Invalid JSON: %s" +msgid "%s: Invalid JSON: %s" msgstr "" #: src/server/server.c:58 @@ -338,78 +715,93 @@ msgstr "" msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, c-format +msgid "Cannot get real path of %s" +msgstr "" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "" -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "" -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "" -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" +#: src/ui_sensorlist.c:303 +msgid "Select sensor color" msgstr "" -#: src/ui_sensorlist.c:296 -msgid "Select sensor color" +#: src/ui_appindicator.c:148 +#, c-format +msgid "Failed to load glade file %s: %s" msgstr "" #: src/ui_notify.c:48 @@ -424,6 +816,6 @@ msgstr "" msgid "Fan speed alert" msgstr "" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index f9755042d26f74a0ba046897004704db5d56233e..41210dc6b6be8758cc4f1cfc600f73b92806c8e1 100644 GIT binary patch literal 7799 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 BNwEL` delta 1690 zcma*mTWH%=9Ki9@tq~5auTQP5)^#o1`XL z=}?Ix%snUw$2o=%ZXg4vcnhpDe2aS%w74PcVX*n&!`?*eli>IFZ|cLIJmma8=lpLu zzu)it|2|wEDBTa#UQ)C%dWimGjZ#zi#!e2jtF=nKiq~)nJx?gbEov1TaSi+NJ?z8v z>ihxjWA5Ii)LtCG4m?&hh0{uv)CC4zT-ZQ);7{zq#wWMthp?IXDfD0-TktK^cm;d# z7RrJiViRsw_0(+zcA)AJlFLKP%6+G>2S1SfJ1gRZ=EPkL;wDO} z+=MNe=|_!oDA)5S5nn{v8y};jx?G*FqwJ}lun+%0vaUirM9?aXvaoo7{7*7C%8A$U zBFc+uDVUU^4x`vvbq-|#Z{r|dM!D}cl5KUrdi@ddDpfl zfX+pNcG9^6A8)eJ_R}RAdGS;97@bNuZJ??|Ckxtctix$-9LMORTT^EvOQ}ko9Qah7 zCMlA%%kJiLcOsQKO9T-*U#1$S%jWE*OX;?oL@!OsB~8;MliN+cecAQ0frsdleqs-+ zI0I>tPH9q4*&LM2Nxf_wS2WOz__7tH(aL*|~lw|6SLYAvT1 z^z@0Dgj`VDC%C_8XN%6cMD&RH-ebG+cFNA%*`!@C3k^3-hquM#y%T1`+h{huVbkU7 z3KpzITb|J`&CI?qHIq0Ki9}px#W!re@deG#zT>9bU-XR)#`ulsp^<~}iGkQ~`7{5G zohBXJaOvECL4MMd{J%kd)I908wB3BzdU3TX|<@D-l;i<4w-v+Ro@jyI4$T>|AQWIv+8++FvX$ IwR>y+1=UjgJ^%m! diff --git a/po/pt_BR.po b/po/pt_BR.po index 42c720c..b76875d 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-11 21:22+0000\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Brazilian Portuguese\n" @@ -18,21 +18,406 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Falhou ao criar servidor web." -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "Falhou ao criar servidor web." -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Sobre" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Preferências" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Sair" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Preferências de sensores" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Monitor de temperatura" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "Ajuda" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Valor" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Cor" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Grafo" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Mostrar" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Editar Preferências" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Ocultar decoração da janela" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Manter janela abaixo" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Habilitar menu" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "" + +#: src/glade/psensor-pref.glade:190 +msgid "Psensor has not been build with Unity Launcher support" +msgstr "" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Unidade de temperatura:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Posição da tabela de sensores:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Interface" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Ocultar janela na inicialização" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Restaurar posição e tamanho da janela" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Primeiro plano:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Plano de fundo:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Opacidade do plano de fundo:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Cores" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Duração do monitoramento:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Intervalo de atualização:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Medidas" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "segundo(s)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minuto(s)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Intervalo de atualização das medições:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Habilitar registro (log) de sensores" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Intervalo de registro dos sensores:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Sensores" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +msgid "Psensor has not been build with NVCtrl support" +msgstr "" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +msgid "Psensor has not been build with ATI ADL support" +msgstr "" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +msgid "Psensor has not been build with gtop2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +msgid "Psensor has not been build with libatasmart support" +msgstr "" + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +msgid "Psensor has not been build with udisks2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Editar preferências do sensor" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Nome" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Tipo:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "N/D" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Chip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Nome:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "ID:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Desenhar curva do sensor" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Cor:" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Ativar notificações de desktop" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Limite superior:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Limite inferior:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarme" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +msgid "Psensor has not been build with AppIndicator support" +msgstr "" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: não foi possível encontrar a biblioteca ADL." @@ -59,11 +444,11 @@ msgstr "Número de adaptadores AMD/ATI: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Número de adaptadores AMD/ATI ativos: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: falha em sk_disk_open(): %s." @@ -83,37 +468,37 @@ msgstr "%s: falha em abrir conexão." msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format 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:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: falha na inicialização: %s." @@ -139,48 +524,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Não é possível abrir arquivo de log: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, fuzzy, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "Falha ao recuperar informações de NVIDIA." -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, 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:226 +#: src/lib/nvidia.c:240 #, 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/nvidia.c:293 +#: src/lib/nvidia.c:317 #, 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 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Falha ao recuperar informações de NVIDIA." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, 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 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "N/D" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "Variável HOME não configurada." @@ -202,7 +583,7 @@ msgstr "Arquivo de registros do sensor não foi aberto." msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -212,12 +593,12 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPÇÃO]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -225,11 +606,11 @@ msgstr "" "Psensor é um aplicativo GTK+ para monitoramento de sensores de hardware, " "incluindo temperatura e velocidade de ventoinhas." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Opções:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -237,7 +618,7 @@ msgstr "" " -h, --help exibir esta ajuda e sair\n" " -v, --version exibir informação de versão e sair" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -245,69 +626,59 @@ msgstr "" " -u, --url=URL a URL do psensor-server,\n" " exemplo: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:110 +#: src/main.c:91 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:115 src/server/server.c:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Relatar falhas para: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "Página inicial de %s: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Ativar o modo de depuração" -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Utilize `%s --help' para mais informações.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Uma instancia de Psensor já existe." -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Falha ao conectar: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Conteúdo inválido: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "JSON inválido: %s" #: src/server/server.c:58 @@ -356,81 +727,103 @@ msgstr "" msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Não é possível abrir arquivo de log: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "Requisição HTTP: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Habilita modo de depuração: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Nenhum sensor detectado" -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Falhou ao criar servidor web." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Servidor web iniciado na porta: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "Diretório WWW: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor é uma aplicação GTK+ para monitorar sensores de hardware" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Sobre o Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "Site do Psensor" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Falha ao carregar o ícone do Psensor." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Preferências" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Selecionar cor do primeiro plano" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Falhou ao criar servidor web." + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "falha em gettimeofday." @@ -444,159 +837,9 @@ msgstr "Alerta de temperatura" msgid "Fan speed alert" msgstr "Alenta do ventilador" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Desconhecido" -#~ msgid "About" -#~ msgstr "Sobre" - -#~ msgid "Sensor Preferences" -#~ msgstr "Preferências de sensores" - -#~ msgid "Quit" -#~ msgstr "Sair" - -#~ msgid "Show" -#~ msgstr "Mostrar" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Monitor de temperatura" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "Ajuda" - -#~ msgid "Sensor" -#~ msgstr "Sensor" - -#~ msgid "Value" -#~ msgstr "Valor" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "Color" -#~ msgstr "Cor" - -#~ msgid "Graph" -#~ msgstr "Grafo" - -#~ msgid "Edit Preferences" -#~ msgstr "Editar Preferências" - -#~ msgid "Hide window decoration" -#~ msgstr "Ocultar decoração da janela" - -#~ msgid "Keep window below" -#~ msgstr "Manter janela abaixo" - -#~ msgid "Enable menu" -#~ msgstr "Habilitar menu" - -#~ msgid "Temperature unit:" -#~ msgstr "Unidade de temperatura:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Posição da tabela de sensores:" - -#~ msgid "Interface" -#~ msgstr "Interface" - -#~ msgid "Hide window on startup" -#~ msgstr "Ocultar janela na inicialização" - -#~ msgid "Restore window position and size" -#~ msgstr "Restaurar posição e tamanho da janela" - -#~ msgid "Foreground:" -#~ msgstr "Primeiro plano:" - -#~ msgid "Background:" -#~ msgstr "Plano de fundo:" - -#~ msgid "Background opacity:" -#~ msgstr "Opacidade do plano de fundo:" - -#~ msgid "Colors" -#~ msgstr "Cores" - -#~ msgid "Monitoring duration:" -#~ msgstr "Duração do monitoramento:" - -#~ msgid "Update interval:" -#~ msgstr "Intervalo de atualização:" - -#~ msgid "Measures" -#~ msgstr "Medidas" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "second(s)" -#~ msgstr "segundo(s)" - -#~ msgid "minute(s)" -#~ msgstr "minuto(s)" - -#~ msgid "Measure update interval:" -#~ msgstr "Intervalo de atualização das medições:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Habilitar registro (log) de sensores" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Intervalo de registro dos sensores:" - -#~ msgid "seconds(s)" -#~ msgstr "segundo(s)" - -#~ msgid "Sensors" -#~ msgstr "Sensores" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Editar preferências do sensor" - -#~ msgid "Name" -#~ msgstr "Nome" - -#~ msgid "Type:" -#~ msgstr "Tipo:" - -#~ msgid "Chip:" -#~ msgstr "Chip:" - -#~ msgid "Name:" -#~ msgstr "Nome:" - -#~ msgid "Id:" -#~ msgstr "ID:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Desenhar curva do sensor" - -#~ msgid "Color:" -#~ msgstr "Cor:" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Ativar notificações de desktop" - -#~ msgid "High threshold:" -#~ msgstr "Limite superior:" - -#~ msgid "Low threshold:" -#~ msgstr "Limite inferior:" - -#~ msgid "Alarm" -#~ msgstr "Alarme" - #~ msgid "Sensor Information" #~ msgstr "Informações do sensor" diff --git a/po/ru.gmo b/po/ru.gmo index b86f0536dda729257b82e49afa3512a71e192a97..6f9228f292dcc7b00b2bf9ee5dd14dc93ef95542 100644 GIT binary patch literal 17049 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 Z@P7rY=6`v~XOB1bwxKK|rv6IA`+uqVZW;gp delta 1988 zcmYk*TWnNC7{KvCF4k5G+Y4QUsQhWL{IIoO2zu!Z-l^E6ES8)bt2dnYH1;zIhn zu?UZ%L_Cfzyo9pQYbcS;AxsIxjq-adN@mufEGU5;xDRtMg<~h!jPGd-GO%}!QqSSf zD1C?J#_?N}g|1=N1Nb>^z=xT|!PB@07mv(vZ(=px!nNpT6>=tapq#f4^JM>N z++e_qHEi@=+=OyyuAod1BrJLEFQJ+woS{9C-q2v zvp!jvqhBp7*6+CT^{0hl-B^^XFBiFc+N~Xt;n;xDvA!!TQ>fbm{c+1NEhjw|u5DA{ zxG_1MZ48)>+3%PGUe%RwVsXn3sqUmXXeLdo-?a6Y#lIEwbgxxCW+I++jIEDC zQKs%$_=v0597&kTh%=frjmWT>boA;Hw?5liG_TK&L``|n*woeC+ujx4?Dcvx^%o_9 zyr}6ou@N&qI1t%o3`SzZyk2*fcIuO*&RB!T$EVKl*M)+O)xLnwm)YIr=`nZ2Y?kL) z8F833;PVGPz9x^~Zv_0IKwY(ulGz!t9ZzpEV%ftHC!P!$9cIMxbPvUbV~K=mbS3SW z6*HFgS=+4mPHQ>OThUQg>FG5iBO#+_)V5>#tZ}NKGcs!R4<#Z4hI{L1Y # Translators: # Dmitry Serov, 2014 +# Grigorii Chirkov , 2016. msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" -"PO-Revision-Date: 2014-09-11 21:23+0000\n" -"Last-Translator: Jean-Philippe Orsini \n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" +"PO-Revision-Date: 2016-02-07 23:08+0300\n" +"Last-Translator: Grigorii Chirkov \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-09-21 08:56+0000\n" -"X-Generator: Launchpad (build 17196)\n" +"X-Generator: Poedit 1.8.4\n" -#: src/cfg.c:510 -#, fuzzy, c-format +#: src/cfg.c:501 +#, c-format msgid "Failed to create the directory %s: %s" -msgstr "Не удалось создать веб-сервер." +msgstr "Не удалось создать каталог %s: %s" -#: src/cfg.c:557 -#, fuzzy, c-format +#: src/cfg.c:548 +#, c-format msgid "Failed to load configuration file %s: %s" -msgstr "Не удалось включить журналирование датчиков." +msgstr "Не удалось загрузить файл конфигурации %s: %s" -#: src/cfg.c:580 -#, fuzzy, c-format +#: src/cfg.c:573 +#, c-format msgid "Failed to save configuration file %s." -msgstr "Не удалось включить журналирование датчиков." +msgstr "Не удалось сохранить файл конфигурации %s." + +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "О программе" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Параметры" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Выход" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Параметры датчиков" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - монитор температуры" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Справка" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Датчик" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Значение" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Мин." + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Цвет" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Диаграмма" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Показать" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Справа" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Слева" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Сверху" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Снизу" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Изменить параметры" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Скрывать рамку окна" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Удерживать окно под другими" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Включить меню" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Включить счетчик в панели запуска Unity" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor не был собран с поддержкой удалённых датчиков." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Цельсия" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Фаренгейта" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Единицы измерения температуры:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Положение таблицы датчиков:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Внешний вид" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Запускать автоматически при старте сессии" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Скрывать окно при запуске" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Восстанавливать положение и размер окна" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Автозапуск" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Передний план:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Фон:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Непрозрачность фона:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Цвета" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Время мониторинга:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Интервал обновления:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Замеры" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Мин." + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "сек." + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "мин." + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "Сглаживать графики" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "Графики" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Интервал обновления замеров:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Вести журнал событий датчиков" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Интервал ведения журнала событий датчиков:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Скрипт, выполняемый при выдаче уведомления:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Датчики" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "Включить поддержку lm-sensors" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "Включить поддержку NVCtrl (NVidia)" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor не был собран с поддержкой удалённых датчиков." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "Включить поддержку ATI ADL" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor не был собран с поддержкой удалённых датчиков." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "Включить поддержку gtop2" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor не был собран с поддержкой удалённых датчиков." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "Включить поддержку демона hddtemp" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "Включить поддержку libatasmart" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor не был собран с поддержкой удалённых датчиков." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "Включить поддержку udisks2" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor не был собран с поддержкой удалённых датчиков." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "Изменения будут применены после перезапуска psensor." + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "Жесткий диск" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "Использование ЦП и ОЗУ" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "ГП (проприетарный драйвер)" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "Материнская плата, ЦП и ГП" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "Поддержка" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Изменить параметры датчика" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Название" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Тип:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "Н/Д" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Микросхема:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Название:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Идентификатор:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "Подробности" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Рисовать график датчика" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Цвет:" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "Показать датчик в списке датчиков" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Включить уведомления" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Высший порог:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "0" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Низший порог:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Уведомление" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Показать датчик в индикаторе меню приложений" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor не был собран с поддержкой удалённых датчиков." + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "Показать датчик в области уведомлений (экспериментально)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Индикатор приложения" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." @@ -53,21 +447,21 @@ msgstr "AMD: ошибка определения количества адапт #: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" -msgstr "" +msgstr "Количество адаптеров AMD/ATI: %d" #: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" -msgstr "" +msgstr "Количество активных адаптеров AMD/ATI: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" -msgstr "" +msgstr "Диск" -#: src/lib/hdd_atasmart.c:141 -#, fuzzy, c-format +#: src/lib/hdd_atasmart.c:153 +#, c-format msgid "%s: sk_disk_open() failure: %s." -msgstr "atasmart: ошибка sk_disk_open(): %s." +msgstr "%s: ошибка sk_disk_open(): %s." #: src/lib/hdd_hddtemp.c:62 #, c-format @@ -84,104 +478,100 @@ msgstr "%s: не удалось открыть соединение." msgid "%s: wrong string: %s." msgstr "%s: неправильная строка: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." -msgstr "" +msgstr "%s: Не удалось получить значение подмодуля %s: %s." -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." -msgstr "" +msgstr "%s: Неверный тип модуля." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" -msgstr "" +msgstr "ЦП Intel" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" -msgstr "" +msgstr "ЦП AMD" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" -msgstr "" +msgstr "ГП NVIDIA" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" -msgstr "" +msgstr "ЦП VIA" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" -msgstr "" +msgstr "ACPI" -#: src/lib/lmsensor.c:201 -#, fuzzy, c-format +#: src/lib/lmsensor.c:245 +#, c-format msgid "%s: initialization failure: %s." -msgstr "lmsensor: ошибка инициализации: %s." +msgstr "%s: ошибка инициализации: %s." #: src/lib/pgtop2.c:42 msgid "CPU usage" -msgstr "" +msgstr "Загрузка ЦП" #: src/lib/pgtop2.c:47 msgid "CPU" -msgstr "" +msgstr "ЦП" #: src/lib/pgtop2.c:63 msgid "free memory" -msgstr "" +msgstr "Использование ОЗУ" #: src/lib/pgtop2.c:64 msgid "memory" -msgstr "" +msgstr "ОЗУ" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Ошибка открытия файла журнала: %s" -#: src/lib/nvidia.c:58 -#, fuzzy, c-format +#: src/lib/nvidia.c:69 +#, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" -msgstr "Не удалось получить информацию NVIDIA." +msgstr "%s: Неизвестное название продукта ГП NVIDIA %d" -#: src/lib/nvidia.c:63 -#, fuzzy, c-format +#: src/lib/nvidia.c:74 +#, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" -msgstr "Не удалось получить информацию NVIDIA." +msgstr "%s: Не удалось получить информацию о названии продукта ГП NVIDIA %d" -#: src/lib/nvidia.c:226 -#, fuzzy, c-format +#: src/lib/nvidia.c:240 +#, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" -msgstr "Не удалось получить информацию NVIDIA." +msgstr "%s: Не удалось получить информацию о типе %x ГП NVIDIA %d" -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Ошибка открытия соединения к серверу X11." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Не удалось получить информацию NVIDIA." -#: src/lib/nvidia.c:370 -#, fuzzy, c-format +#: src/lib/nvidia.c:394 +#, c-format msgid "%s: Failed to retrieve number of fans." -msgstr "Не удалось получить информацию NVIDIA." +msgstr "%s: Не удалось получить информацию о количестве вентиляторов." -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "об/мин" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "Н/Д" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "Переменная HOME не установлена." @@ -203,7 +593,7 @@ msgstr "Файл журнала датчика не открыт." msgid "Sensor log not open, cannot close." msgstr "Файл журнала датчика не открыт, не удалось закрыть." -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -212,13 +602,20 @@ msgid "" "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 "" +"Copyright (C) %s jeanfi@gmail.com\n" +"Лицензия GPLv2: GNU GPL версии 2 или выше \n" +"Это свободное программное обеспечение, вы можете модифицировать и " +"распространять его.\n" +"На него не предоставляется никаких гарантий в мере, предусмотренной " +"законодательством.\n" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Использование: %s [КЛЮЧ]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -226,11 +623,11 @@ msgstr "" "Psensor — это GTK+ приложение для мониторинга аппаратных датчиков, включая " "температуру и скорость вентилятора." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Опции:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -238,77 +635,68 @@ msgstr "" " -h, --help показать эту справку и выйти\n" " -v, --version показать версию и выйти" -#: src/main.c:104 +#: src/main.c:85 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:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance принудительно запускает новую копию программы Psensor" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Сообщайте об ошибках на: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s домашняя страница: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor не был собран с поддержкой удалённых датчиков." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Включает режим отладки." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Попробуйте `%s --help' для дополнительной информации.↵\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Копия Psensor уже запущена." -#: src/main.c:631 +#: src/main.c:527 #, 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 +#: src/rsensor.c:115 #, c-format -msgid "Fail to connect to: %s" -msgstr "Ошибка подключения к: %s" +msgid "%s: Fail to connect to: %s" +msgstr "%s: Ошибка подключения к: %s" -#: src/rsensor.c:144 +#: src/rsensor.c:152 #, c-format -msgid "Invalid content: %s" -msgstr "Неправильное содержимое: %s" +msgid "%s: Invalid content: %s" +msgstr "%s: Неправильное содержимое: %s" -#: src/rsensor.c:184 +#: src/rsensor.c:192 #, c-format -msgid "Invalid JSON: %s" -msgstr "Неправильный JSON: %s" +msgid "%s: Invalid JSON: %s" +msgstr "%s: Неправильный JSON: %s" #: src/server/server.c:58 msgid "

    Server stop requested

    " @@ -362,80 +750,100 @@ msgstr "" " --sensor-log-interval=ПЕРИОД установить ПЕРИОД журналирования датчиков (в " "секундах)" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Ошибка открытия файла журнала: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP запрос: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Включает режим отладки: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Датчики не обнаружены." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Не удалось создать веб-сервер." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Веб-сервер запущен на порту: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW-каталог: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Не удалось включить журналирование датчиков." -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" -msgstr "Psensor — это GTK+ приложения для мониторинга аппаратных сенсоров" +msgstr "Psensor — это приложение GTK+ для мониторинга аппаратных сенсоров" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "О Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"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\n" +" Grigorii Chirkov" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "Домашняя страница Psensor" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Не удалось загрузить значок Psensor." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" -msgstr "" - -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Параметры" +msgstr "Скрыть" -#: src/ui_sensorlist.c:296 -#, fuzzy +#: src/ui_sensorlist.c:303 msgid "Select sensor color" -msgstr "Выберите цвет переднего плана" +msgstr "Выбор цвета датчика" + +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Не удалось включить журналирование датчиков." #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -446,173 +854,12 @@ msgid "Temperature alert" msgstr "Уведомление температуры" #: src/ui_notify.c:79 -#, fuzzy msgid "Fan speed alert" msgstr "Уведомление вентилятора" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" -msgstr "" - -#~ msgid "About" -#~ msgstr "О программе" - -#~ msgid "Sensor Preferences" -#~ msgstr "Параметры датчиков" - -#~ msgid "Quit" -#~ msgstr "Выход" - -#~ msgid "Show" -#~ msgstr "Показать" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - монитор температуры" - -#~ msgid "_Help" -#~ msgstr "_Справка" - -#~ msgid "Sensor" -#~ msgstr "Датчик" - -#~ msgid "Value" -#~ msgstr "Значение" - -#~ msgid "Min" -#~ msgstr "Мин." - -#~ msgid "Max" -#~ msgstr "Макс." - -#~ msgid "Color" -#~ msgstr "Цвет" - -#~ msgid "Graph" -#~ msgstr "Диаграмма" - -#~ msgid "Edit Preferences" -#~ msgstr "Изменить параметры" - -#~ msgid "Hide window decoration" -#~ msgstr "Спрятать рамку окна" - -#~ msgid "Keep window below" -#~ msgstr "Держать окно позади" - -#~ msgid "Enable menu" -#~ msgstr "Включить меню" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Включить счётчик в панеле запуска Unity" - -#~ msgid "Temperature unit:" -#~ msgstr "Единица измерения температуры:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Положение таблицы датчиков:" - -#~ msgid "Interface" -#~ msgstr "Внешний вид" - -#~ msgid "Hide window on startup" -#~ msgstr "Скрыть окно при запуске" - -#~ msgid "Restore window position and size" -#~ msgstr "Восстанавливать положение и размер окна" - -#~ msgid "Foreground:" -#~ msgstr "Передний план:" - -#~ msgid "Background:" -#~ msgstr "Фон:" - -#~ msgid "Background opacity:" -#~ msgstr "Непрозрачность фона:" - -#~ msgid "Colors" -#~ msgstr "Цвета" - -#~ msgid "Monitoring duration:" -#~ msgstr "Время мониторинга:" - -#~ msgid "Update interval:" -#~ msgstr "Интервал обновления:" - -#~ msgid "Measures" -#~ msgstr "Замеры" - -#~ msgid "Min" -#~ msgstr "Мин." - -#~ msgid "Max" -#~ msgstr "Макс." - -#~ msgid "second(s)" -#~ msgstr "сек." - -#~ msgid "minute(s)" -#~ msgstr "мин." - -#~ msgid "Measure update interval:" -#~ msgstr "Интервал обновления замеров:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Вести журнал событий датчиков" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Интервал ведения журнала событий датчиков:" - -#~ msgid "seconds(s)" -#~ msgstr "секунд(с)" - -#~ msgid "Sensors" -#~ msgstr "Датчики" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Изменить параметры датчика" - -#~ msgid "Name" -#~ msgstr "Название" - -#~ msgid "Type:" -#~ msgstr "Тип:" - -#~ msgid "Chip:" -#~ msgstr "Микросхема:" - -#~ msgid "Name:" -#~ msgstr "Название:" - -#~ msgid "Id:" -#~ msgstr "Идентификатор:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Рисовать график датчика" - -#~ msgid "Color:" -#~ msgstr "Цвет:" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Показать датчик в индикаторе меню приложений" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Включить уведомления" - -#~ msgid "High threshold:" -#~ msgstr "Высший порог:" - -#~ msgid "Low threshold:" -#~ msgstr "Нижний порог:" - -#~ msgid "Alarm" -#~ msgstr "Уведомление" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Показать датчик в индикаторе меню приложений" - -#~ msgid "Application Indicator" -#~ msgstr "Индикатор приложения" +msgstr "Неизвестно" #~ msgid "Sensor Information" #~ msgstr "Информация датчика" diff --git a/po/sl.gmo b/po/sl.gmo index 3c9daee25192bc010c6c1238ad8ce1826980efdc..b1886dfd6aa8d87f1b0278f3a512b363936df2c7 100644 GIT binary patch delta 27 icmeBV?PQ&>SHN7?z);u7NWsw5%EVCHz;NT)J&XWn-Uqw@ delta 27 hcmeBV?PQ&>SHMiy0Emng42`W!EVK=bHlE$X2moj{2gLvY diff --git a/po/sl.po b/po/sl.po index a89974c..bd3188f 100644 --- a/po/sl.po +++ b/po/sl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-11 21:22+0000\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Slovenian \n" @@ -18,21 +18,406 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:557 +#: src/cfg.c:548 #, c-format msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "" + +#: src/glade/psensor-pref.glade:190 +msgid "Psensor has not been build with Unity Launcher support" +msgstr "" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +msgid "Psensor has not been build with NVCtrl support" +msgstr "" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +msgid "Psensor has not been build with ATI ADL support" +msgstr "" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +msgid "Psensor has not been build with gtop2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +msgid "Psensor has not been build with libatasmart support" +msgstr "" + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +msgid "Psensor has not been build with udisks2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +msgid "Psensor has not been build with AppIndicator support" +msgstr "" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "" @@ -59,11 +444,11 @@ msgstr "" msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "" @@ -83,37 +468,37 @@ msgstr "" msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "" @@ -139,48 +524,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:226 +#: src/lib/nvidia.c:240 #, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "" -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "" -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "" -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, c-format msgid "%s: Failed to retrieve number of fans." msgstr "" -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "" @@ -202,7 +583,7 @@ msgstr "" msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -212,92 +593,85 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" msgstr "" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:110 +#: src/main.c:91 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:115 src/server/server.c:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "" -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:631 +#: src/main.c:527 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 +#: src/rsensor.c:115 #, c-format -msgid "Fail to connect to: %s" +msgid "%s: Fail to connect to: %s" msgstr "" -#: src/rsensor.c:144 +#: src/rsensor.c:152 #, c-format -msgid "Invalid content: %s" +msgid "%s: Invalid content: %s" msgstr "" -#: src/rsensor.c:184 +#: src/rsensor.c:192 #, c-format -msgid "Invalid JSON: %s" +msgid "%s: Invalid JSON: %s" msgstr "" #: src/server/server.c:58 @@ -342,78 +716,96 @@ msgstr "" msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, c-format +msgid "Cannot get real path of %s" +msgstr "" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "" -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "" -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Sasa Batistic https://launchpad.net/~sasa-batistic" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "" -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" +#: src/ui_sensorlist.c:303 +msgid "Select sensor color" msgstr "" -#: src/ui_sensorlist.c:296 -msgid "Select sensor color" +#: src/ui_appindicator.c:148 +#, c-format +msgid "Failed to load glade file %s: %s" msgstr "" #: src/ui_notify.c:48 @@ -428,6 +820,6 @@ msgstr "" msgid "Fan speed alert" msgstr "" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "" diff --git a/po/sr.gmo b/po/sr.gmo index 2ba6b94e6d159f486d57d6a4214679a4ef2e6ac4..901cfa96ab8142dd7a3cf3ef33f54fed22da70b5 100644 GIT binary patch delta 745 zcmZ9|O=uHQ5Ww--CRQ68tx-xTR`yauiNPc)LT{pi9tu@&qF_Tqsl;sQCg3fVf*&Wr zMW{t9eq5>`(GmL;!W@%2>PFNi`9Ymes3Oc=e^n0#LHy;b1ME&hy#p+ zj5cG0am8UG6!&9@JMar8@mrMt#9s2>xEp(WL}HkV9E=>sUF;u1JD0`*k-8jX5ohBJ z+C}Hl3SPyXIE{y~jDr|p3SZ%KF5SRU@@o{a?{7ygqh0hSavix)KH?ty)U_`1m4$Wx z1Ff?JZQ8*h%;6X&@G_2J3H$MWQ9mJ zK3gcb`4i*E^O;jYT>lU*Xh+wW8`=&RMOR#X8s5^TZs>dMgbTL!!qvB|m$dcY zTGzuz;bM5Fd%Pq1L>ruXr>*d=Hn-9?o6Fh^R$?=KOB8K{5407;;zx#_{k=wXTM}gB Gzy1J*OQ;e6 delta 367 zcmXZWzb^zq7{>A0U!0Z8?cIq)LNd*sa3RYIa+Ok{5WPmMDsUn}Eex@O zE2w+d(8CSX_qVZyM>vkx*uY1;Ap_zI(H9ZZbi*Z%VTSslXVe1+7~mJqplu7Wj`KK; zCwPGwGV{M&_TlpElxp;cN5~N2Iv=mGmt~@*K8>l0+)Sc_B<`sRv)$Z^4&z=bcaFP> zOyiF96Ibn<58m=zzzXF;*jZX_2a8WFYuBh{#aaH6zvZv_dvRKvs~@|o_MBOD@BID& D(>OE` diff --git a/po/sr.po b/po/sr.po index f461392..c665c4c 100644 --- a/po/sr.po +++ b/po/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-11 21:25+0000\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Serbian \n" @@ -18,21 +18,406 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:557 +#: src/cfg.c:548 #, c-format msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "О програму" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Поставке" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Изађи" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Сензор" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Најмање" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Највише" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "У боји" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Укључено" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "" + +#: src/glade/psensor-pref.glade:190 +msgid "Psensor has not been build with Unity Launcher support" +msgstr "" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "У боји" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Сензор" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +msgid "Psensor has not been build with NVCtrl support" +msgstr "" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +msgid "Psensor has not been build with ATI ADL support" +msgstr "" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +msgid "Psensor has not been build with gtop2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +msgid "Psensor has not been build with libatasmart support" +msgstr "" + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +msgid "Psensor has not been build with udisks2 support" +msgstr "" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "Недоступно" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +msgid "Psensor has not been build with AppIndicator support" +msgstr "" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "" @@ -59,11 +444,11 @@ msgstr "" msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "" @@ -83,37 +468,37 @@ msgstr "" msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "" @@ -139,48 +524,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:226 +#: src/lib/nvidia.c:240 #, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "" -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "" -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "" -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, c-format msgid "%s: Failed to retrieve number of fans." msgstr "" -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "Недоступно" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "" @@ -202,7 +583,7 @@ msgstr "" msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -212,92 +593,85 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Употреба: %s [ОПЦИЈА]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Опције:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" msgstr "" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:110 +#: src/main.c:91 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:115 src/server/server.c:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Пријавите грешку на: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s матична страна: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "" -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Покушајте„%s --help“ за више информација.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:631 +#: src/main.c:527 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 +#: src/rsensor.c:115 #, c-format -msgid "Fail to connect to: %s" +msgid "%s: Fail to connect to: %s" msgstr "" -#: src/rsensor.c:144 +#: src/rsensor.c:152 #, c-format -msgid "Invalid content: %s" +msgid "%s: Invalid content: %s" msgstr "" -#: src/rsensor.c:184 +#: src/rsensor.c:192 #, c-format -msgid "Invalid JSON: %s" +msgid "%s: Invalid JSON: %s" msgstr "" #: src/server/server.c:58 @@ -342,81 +716,99 @@ msgstr "" msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, c-format +msgid "Cannot get real path of %s" +msgstr "" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "" -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "" -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "О Псензору" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Мирослав Николић https://launchpad.net/~lipek" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "Матична страница Псензора" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "" -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Поставке" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Одаберите боју текста" +#: src/ui_appindicator.c:148 +#, c-format +msgid "Failed to load glade file %s: %s" +msgstr "" + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "" @@ -429,37 +821,10 @@ msgstr "" msgid "Fan speed alert" msgstr "" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "" -#~ msgid "About" -#~ msgstr "О програму" - -#~ msgid "Quit" -#~ msgstr "Изађи" - -#~ msgid "Sensor" -#~ msgstr "Сензор" - -#~ msgid "Min" -#~ msgstr "Најмање" - -#~ msgid "Max" -#~ msgstr "Највише" - -#~ msgid "Color" -#~ msgstr "У боји" - -#~ msgid "Enable menu" -#~ msgstr "Укључено" - -#~ msgid "Colors" -#~ msgstr "У боји" - -#~ msgid "Sensors" -#~ msgstr "Сензор" - #~ msgid "_Preferences" #~ msgstr "_Поставке" diff --git a/po/sv.gmo b/po/sv.gmo index 813faf7aefba599dc7680a9b15592b4b37255415..e39bc2e0a5f0867982c7336618525b2ecf48c53b 100644 GIT binary patch literal 11133 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 Dq9+)^ diff --git a/po/sv.po b/po/sv.po index 2b393ad..0f39603 100644 --- a/po/sv.po +++ b/po/sv.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor 1.0.0.0\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2016-06-03 13:48+0200\n" +"POT-Creation-Date: 2017-01-22 15:41+0100\n" "PO-Revision-Date: 2014-09-20 11:26+0000\n" "Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Swedish\n" @@ -21,21 +21,414 @@ msgstr "" "X-Generator: Launchpad (build 17196)\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, c-format msgid "Failed to create the directory %s: %s" msgstr "Misslyckades med att skapa katalogen %s: %s" -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "Misslyckades med att tolka konfigurationsfilen: %s" -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "Misslyckades med att spara konfigurationsfilen %s." +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Om" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Inställningar" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Avsluta" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Sensorinställningar" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Temperaturövervakare" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Hjälp" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Värde" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Färg" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Graf" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Visa" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Höger" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Vänster" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Toppen" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Botten" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Redigera inställningar" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Göm fönsterdekoration" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Håll fönster under" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Aktivera meny" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Aktivera räknare för Unity-programstartare" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor har inte kompilerats med fjärrsensorstöd." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Celsius" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Fahrenheit" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Temperaturenhet:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Sensortabellens position:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Gränssnitt" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Starta vid sessionsuppstart" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Göm fönster vid uppstart" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Återställ fönsterposition och storlek" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Uppstart" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Förgrund:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Bakgrund:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Bakgrundsgenomskinlighet:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Färger" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Övervakningstid:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Uppdateringsintervall:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Mätningar" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "sekund(er)" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "minut(er)" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Uppdateringsintervall för mätning:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Aktivera sensorlogging" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Loggintervall för sensor:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Skript att köra vid alarm:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Sensorer" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor har inte kompilerats med fjärrsensorstöd." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor har inte kompilerats med fjärrsensorstöd." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor har inte kompilerats med fjärrsensorstöd." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor har inte kompilerats med fjärrsensorstöd." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor har inte kompilerats med fjärrsensorstöd." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Redigera sensorinställningar" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "Namn" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Typ:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "Ej tillgänglig" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Chip:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Namn:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Rita sensorkurva" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Färg:" + +#: src/glade/sensor-edit.glade:448 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Visa sensor i meny" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Aktivera skrivbordsnotifiering" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Högt tröskelvärde:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Lågt tröskelvärde:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarm" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Visa sensor i meny" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor har inte kompilerats med fjärrsensorstöd." + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "Visa sensor i etiketten (experimentell)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Programindikator" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: kan inte hitta ADL-bibliotek." @@ -62,11 +455,11 @@ msgstr "Antal AMD/ATI-adaptrar: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Antal aktiva AMD/ATI-adaptrar: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disk" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: sk_disk_open()-fel: %s." @@ -86,37 +479,37 @@ msgstr "%s: misslyckades med att öppna anslutning." msgid "%s: wrong string: %s." msgstr "%s: fel sträng: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format 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:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: fel egenskapstyp." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "Intel CPU" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "AMD CPU" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "NVIDIA GPU" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "VIA CPU" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: initialiseringsfel: %s." @@ -142,48 +535,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Kan inte öppna loggfil: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, 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 +#: src/lib/nvidia.c:74 #, 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 +#: src/lib/nvidia.c:240 #, 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:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Kan inte öppna anslutning till X11-server." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Misslyckades med att hämta NVIDIA-information." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, fuzzy, c-format msgid "%s: Failed to retrieve number of fans." msgstr "Misslyckades med att hämta NVIDIA-information." -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "Ej tillgänglig" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "HOME-variabel inte inställd." @@ -205,7 +594,7 @@ msgstr "Sensorloggfil ej öppen." msgid "Sensor log not open, cannot close." msgstr "Sensorloggfil ej öppen, kan inte stänga." -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -220,12 +609,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:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Användning: %s [FLAGGA]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -233,11 +622,11 @@ msgstr "" "Psensor är ett GTK+-program för att övervaka hårdvarusensorer, inklusive " "temperaturer och fläkthastigheter." -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Alternativ:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -245,7 +634,7 @@ msgstr "" " -h, --help visa denna hjälp och avsluta\n" " -v, --version visa versionsinformation och avsluta" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -253,67 +642,60 @@ msgstr "" " -u, --url=URL URL för psensor-server,\n" " exempelvis: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance tvinga fram att skapa ett nytt Psensor-program" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Rapportera fel till: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s webbplats <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor har inte kompilerats med fjärrsensorstöd." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Aktivera felsökningsläge." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prova`%s --help' för mer information.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Det finns redan en Psensor-instans." -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Misslyckades med att ansluta till: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Ogiltigt innehåll: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "Ogiltig JSON: %s" #: src/server/server.c:58 @@ -366,84 +748,102 @@ 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:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Kan inte öppna loggfil: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP-begäran: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Aktiverar felsökningsläge: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Inga sensorer hittades." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Misslyckades med att skapa webbserver." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Webbserver startade på port: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW-katalog: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Misslyckades med att aktivera sensorloggning." -#: src/ui.c:87 +#: src/ui.c:213 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:90 +#: src/ui.c:216 #, fuzzy -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" "Copyright(c) 2010-2014\n" "jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Om Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Josef Andersson https://launchpad.net/~northar" + +#: src/ui.c:226 msgid "Psensor Homepage" msgstr "Psensor-webbplats" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Misslyckades med att läsa in Psensor-ikon." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Inställningar" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Välj förgrundsfärg" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Misslyckades med att tolka konfigurationsfilen: %s" + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "gettimeofday misslyckades." @@ -457,207 +857,10 @@ msgstr "Temperaturlarm" msgid "Fan speed alert" msgstr "Fläktlarm" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Okänd" -#~ msgid "About" -#~ msgstr "Om" - -#~ msgid "Sensor Preferences" -#~ msgstr "Sensorinställningar" - -#~ msgid "Quit" -#~ msgstr "Avsluta" - -#~ msgid "Show" -#~ msgstr "Visa" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Temperaturövervakare" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Hjälp" - -#~ msgid "Sensor" -#~ msgstr "Sensor" - -#~ msgid "Value" -#~ msgstr "Värde" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "Color" -#~ msgstr "Färg" - -#~ msgid "Graph" -#~ msgstr "Graf" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Höger" - -#~ msgid "Left" -#~ msgstr "Vänster" - -#~ msgid "Top" -#~ msgstr "Toppen" - -#~ msgid "Bottom" -#~ msgstr "Botten" - -#~ msgid "Edit Preferences" -#~ msgstr "Redigera inställningar" - -#~ msgid "Hide window decoration" -#~ msgstr "Göm fönsterdekoration" - -#~ msgid "Keep window below" -#~ msgstr "Håll fönster under" - -#~ msgid "Enable menu" -#~ msgstr "Aktivera meny" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Aktivera räknare för Unity-programstartare" - -#~ msgid "Celsius" -#~ msgstr "Celsius" - -#~ msgid "Fahrenheit" -#~ msgstr "Fahrenheit" - -#~ msgid "Temperature unit:" -#~ msgstr "Temperaturenhet:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Sensortabellens position:" - -#~ msgid "Interface" -#~ msgstr "Gränssnitt" - -#~ msgid "Launch on session startup" -#~ msgstr "Starta vid sessionsuppstart" - -#~ msgid "Hide window on startup" -#~ msgstr "Göm fönster vid uppstart" - -#~ msgid "Restore window position and size" -#~ msgstr "Återställ fönsterposition och storlek" - -#~ msgid "Startup" -#~ msgstr "Uppstart" - -#~ msgid "Foreground:" -#~ msgstr "Förgrund:" - -#~ msgid "Background:" -#~ msgstr "Bakgrund:" - -#~ msgid "Background opacity:" -#~ msgstr "Bakgrundsgenomskinlighet:" - -#~ msgid "Colors" -#~ msgstr "Färger" - -#~ msgid "Monitoring duration:" -#~ msgstr "Övervakningstid:" - -#~ msgid "Update interval:" -#~ msgstr "Uppdateringsintervall:" - -#~ msgid "Measures" -#~ msgstr "Mätningar" - -#~ msgid "Min" -#~ msgstr "Min" - -#~ msgid "Max" -#~ msgstr "Max" - -#~ msgid "second(s)" -#~ msgstr "sekund(er)" - -#~ msgid "minute(s)" -#~ msgstr "minut(er)" - -#~ msgid "Measure update interval:" -#~ msgstr "Uppdateringsintervall för mätning:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Aktivera sensorlogging" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Loggintervall för sensor:" - -#~ msgid "seconds(s)" -#~ msgstr "sekund(er)" - -#~ msgid "Script executed when an alarm is raised:" -#~ msgstr "Skript att köra vid alarm:" - -#~ msgid "Sensors" -#~ msgstr "Sensorer" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Redigera sensorinställningar" - -#~ msgid "Name" -#~ msgstr "Namn" - -#~ msgid "Type:" -#~ msgstr "Typ:" - -#~ msgid "Chip:" -#~ msgstr "Chip:" - -#~ msgid "Name:" -#~ msgstr "Namn:" - -#~ msgid "Id:" -#~ msgstr "Id:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Rita sensorkurva" - -#~ msgid "Color:" -#~ msgstr "Färg:" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Visa sensor i meny" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Aktivera skrivbordsnotifiering" - -#~ msgid "High threshold:" -#~ msgstr "Högt tröskelvärde:" - -#~ msgid "-1" -#~ msgstr "-1" - -#~ msgid "Low threshold:" -#~ msgstr "Lågt tröskelvärde:" - -#~ msgid "Alarm" -#~ msgstr "Alarm" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Visa sensor i meny" - -#~ msgid "Display sensor in the label (experimental)" -#~ msgstr "Visa sensor i etiketten (experimentell)" - -#~ msgid "Application Indicator" -#~ msgstr "Programindikator" - #~ msgid "" #~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " #~ "temperature." diff --git a/po/tr.gmo b/po/tr.gmo index f1f2b1f9701f98128683208cfd3dca9f063a86c0..fbe0ec8699dd8b1ba399e01b1784ac0587d06eaf 100644 GIT binary patch literal 11328 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\n" "Language-Team: Turkish \n" @@ -18,21 +18,415 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Web sunucusu oluşturulamadı." -#: src/cfg.c:557 +#: src/cfg.c:548 #, 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 +#: src/cfg.c:573 #, 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 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Hakkında" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Tercihler" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Çıkış" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Algılayıcı Tercihleri" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Sıcaklık Gözlemleyici" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Yardım" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Algılayıcı" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Değer" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Asgari" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Azami" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Renk" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Grafik" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Göster" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Sağ" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Sol" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Üstte" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Alt" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Tercihleri Düzenle" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Pencere çubuğunu gizle" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Pencereyi aşağıda tut" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Menüyü etkinleştir" + +#: 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:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "Celsius" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "Fahrenhayt" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Sıcaklık birimi:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Gözlemleyici tablosunun konumu:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Arayüz" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "Oturum başlangıcında başlat" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Başlangıçta pencereyi gizle" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Pencere konumunu ve boyutunu yeniden yükle" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "Başlangıç" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Önplan:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Arkaplan:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Arkaplan saydamlığı:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Renk" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Gözlemleme süresi:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Güncelleme aralığı:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Ölçümler" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Asgari" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Azami" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "saniye" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "dakika" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Ölçüm güncelleştirme aralığı:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "Algılayıcı günlük kaydını etkinleştir" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "Algılayıcı günlük kaydı aralığı:" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "Alarm çaldığında betik çalıştırılır:" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Algılayıcılar" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +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:97 +msgid "Name" +msgstr "Ad" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Tür:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "Bilinmeyen" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "Yonga:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "İsim:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Kimlik:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Algılayıcı eğrisini çiz" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Renk :" + +#: src/glade/sensor-edit.glade:448 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Algılayıcıları menüde göster" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Masaüstü bildirimlerini etkinleştir" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Yüksek eşik:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Düşük eşik:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Alarm" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "Algılayıcıları menüde göster" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." + +#: src/glade/sensor-edit.glade:719 +#, fuzzy +msgid "Display sensor in the label (experimental)" +msgstr "Etikette algılayıcı göster (deneysel)" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "Uygulama Göstergesi" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: ADL kütüphanesi bulunamadı." @@ -59,11 +453,11 @@ msgstr "AMD/ATI bağdaştırıcı sayısı: %d" msgid "Number of active AMD/ATI adapters: %d" msgstr "Etkin AMD/ATI bağdaştırıcı sayısı: %d" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disk" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s: sk_disk_open() hatası: %s." @@ -83,37 +477,37 @@ msgstr "%s: bağlantı açılamadı." msgid "%s: wrong string: %s." msgstr "%s: yanlış dizi: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format 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:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "%s: yanlış özellik tipi." -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "İntel işlemci" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "AMD işlemci" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "NVIDIA Ekran Kartı" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "VIA İşlemci" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s: başlatma hatası: %s." @@ -139,48 +533,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Günlükleme dosyası açılamadı: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, fuzzy, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "NVIDIA bilgisi alınamıyor." -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, fuzzy, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "NVIDIA bilgisi alınamıyor." -#: src/lib/nvidia.c:226 +#: src/lib/nvidia.c:240 #, 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 +#: src/lib/nvidia.c:317 #, 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 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: NVIDIA bilgisi alınamıyor." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, fuzzy, c-format msgid "%s: Failed to retrieve number of fans." msgstr "NVIDIA bilgisi alınamıyor." -#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "Bilinmeyen" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "HOME değişkeni ayarlanmamış." @@ -202,7 +592,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:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -217,12 +607,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:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Kullanım: %s [SEÇENEK]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -230,11 +620,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:97 +#: src/main.c:78 msgid "Options:" msgstr "Seçenekler:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -242,7 +632,7 @@ msgstr "" " -h, --help yardımı göster ve çık\n" " -v, --version sürüm bilgisini göster ve çık" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -250,69 +640,61 @@ msgstr "" " -u, --url=URL psensor sunucusunun bağlantısı,\n" " example: http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance yeni bir Psensor uygulaması oluşturulmasını zorla" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Hataları rapor et:%s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ana sayfa: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Hata ayıklama modunu etkinleştirir." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' yazın.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "Bir Psensor örneği zaten mevcut." -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Şuna bağlanamadı: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "Geçersiz içerik: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "Geçersiz JSON: %s" #: src/server/server.c:58 @@ -370,82 +752,102 @@ msgstr "" " --sensor-log-interval=S algılayıcı günlük kaydı aralığını S (saniye) " "olarak ayarla" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Günlükleme dosyası açılamadı: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP İsteği: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "Hata ayıklama modunu etkinleştirir: %d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Hiçbir algılayıcı bulunamadı." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Web sunucusu oluşturulamadı." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "Web sunucusu şu noktadan başlatıldı: %d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW dizini: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi." -#: src/ui.c:87 +#: src/ui.c:213 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:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +#, fuzzy +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "Telif Hakkı(c) 2010-2014 jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Psensor Hakkında" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "Psensor Anasayfası" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Psensor simgesi yüklenemedi." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Tercihler" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Önplan rengini seçin" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi." + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "gettimeofday başarısız." @@ -459,208 +861,10 @@ msgstr "Sıcaklık uyarısı" msgid "Fan speed alert" msgstr "Fan uyarısı" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "Bilinmeyen" -#~ msgid "About" -#~ msgstr "Hakkında" - -#~ msgid "Sensor Preferences" -#~ msgstr "Algılayıcı Tercihleri" - -#~ msgid "Quit" -#~ msgstr "Çıkış" - -#~ msgid "Show" -#~ msgstr "Göster" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - Sıcaklık Gözlemleyici" - -#~ msgid "_Psensor" -#~ msgstr "_Psensor" - -#~ msgid "_Help" -#~ msgstr "_Yardım" - -#~ msgid "Sensor" -#~ msgstr "Algılayıcı" - -#~ msgid "Value" -#~ msgstr "Değer" - -#~ msgid "Min" -#~ msgstr "Asgari" - -#~ msgid "Max" -#~ msgstr "Azami" - -#~ msgid "Color" -#~ msgstr "Renk" - -#~ msgid "Graph" -#~ msgstr "Grafik" - -#~ msgctxt "psensor" -#~ msgid "Right" -#~ msgstr "Sağ" - -#~ msgid "Left" -#~ msgstr "Sol" - -#~ msgid "Top" -#~ msgstr "Üstte" - -#~ msgid "Bottom" -#~ msgstr "Alt" - -#~ msgid "Edit Preferences" -#~ msgstr "Tercihleri Düzenle" - -#~ msgid "Hide window decoration" -#~ msgstr "Pencere çubuğunu gizle" - -#~ msgid "Keep window below" -#~ msgstr "Pencereyi aşağıda tut" - -#~ msgid "Enable menu" -#~ msgstr "Menüyü etkinleştir" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Unity Başlatıcı sayacını etkinleştir" - -#~ msgid "Celsius" -#~ msgstr "Celsius" - -#~ msgid "Fahrenheit" -#~ msgstr "Fahrenhayt" - -#~ msgid "Temperature unit:" -#~ msgstr "Sıcaklık birimi:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Gözlemleyici tablosunun konumu:" - -#~ msgid "Interface" -#~ msgstr "Arayüz" - -#~ msgid "Launch on session startup" -#~ msgstr "Oturum başlangıcında başlat" - -#~ msgid "Hide window on startup" -#~ msgstr "Başlangıçta pencereyi gizle" - -#~ msgid "Restore window position and size" -#~ msgstr "Pencere konumunu ve boyutunu yeniden yükle" - -#~ msgid "Startup" -#~ msgstr "Başlangıç" - -#~ msgid "Foreground:" -#~ msgstr "Önplan:" - -#~ msgid "Background:" -#~ msgstr "Arkaplan:" - -#~ msgid "Background opacity:" -#~ msgstr "Arkaplan saydamlığı:" - -#~ msgid "Colors" -#~ msgstr "Renk" - -#~ msgid "Monitoring duration:" -#~ msgstr "Gözlemleme süresi:" - -#~ msgid "Update interval:" -#~ msgstr "Güncelleme aralığı:" - -#~ msgid "Measures" -#~ msgstr "Ölçümler" - -#~ msgid "Min" -#~ msgstr "Asgari" - -#~ msgid "Max" -#~ msgstr "Azami" - -#~ msgid "second(s)" -#~ msgstr "saniye" - -#~ msgid "minute(s)" -#~ msgstr "dakika" - -#~ msgid "Measure update interval:" -#~ msgstr "Ölçüm güncelleştirme aralığı:" - -#~ msgid "Enable sensors logging" -#~ msgstr "Algılayıcı günlük kaydını etkinleştir" - -#~ msgid "Sensors logging interval:" -#~ msgstr "Algılayıcı günlük kaydı aralığı:" - -#~ msgid "seconds(s)" -#~ msgstr "saniye" - -#~ msgid "Script executed when an alarm is raised:" -#~ msgstr "Alarm çaldığında betik çalıştırılır:" - -#~ msgid "Sensors" -#~ msgstr "Algılayıcılar" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Algılayıcı Tercihlerini Düzenle" - -#~ msgid "Name" -#~ msgstr "Ad" - -#~ msgid "Type:" -#~ msgstr "Tür:" - -#~ msgid "Chip:" -#~ msgstr "Yonga:" - -#~ msgid "Name:" -#~ msgstr "İsim:" - -#~ msgid "Id:" -#~ msgstr "Kimlik:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Algılayıcı eğrisini çiz" - -#~ msgid "Color:" -#~ msgstr "Renk :" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "Algılayıcıları menüde göster" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Masaüstü bildirimlerini etkinleştir" - -#~ msgid "High threshold:" -#~ msgstr "Yüksek eşik:" - -#~ msgid "-1" -#~ msgstr "-1" - -#~ msgid "Low threshold:" -#~ msgstr "Düşük eşik:" - -#~ msgid "Alarm" -#~ msgstr "Alarm" - -#~ msgid "Display sensor in the menu" -#~ msgstr "Algılayıcıları menüde göster" - -#, fuzzy -#~ msgid "Display sensor in the label (experimental)" -#~ msgstr "Etikette algılayıcı göster (deneysel)" - -#~ msgid "Application Indicator" -#~ msgstr "Uygulama Göstergesi" - #~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." #~ msgstr "lmsensor: lmsensor_psensor_create hatası: yanlış özellik tipi." diff --git a/po/uk.gmo b/po/uk.gmo index da789a56f5e84518feb0a73c24bd10d0396a375d..19ca85441ef47206564fda78981f586ec70ff9c6 100644 GIT binary patch literal 8077 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\n" "Language-Team: Ukrainian \n" @@ -18,21 +18,413 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Не вдалося створити веб-сервер." -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "Не вдалося створити веб-сервер." -#: src/cfg.c:580 +#: src/cfg.c:573 #, c-format msgid "Failed to save configuration file %s." msgstr "" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "Про програму" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "Налаштування" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "Вихід" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "Налаштування датчиків" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "_Довдіка" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "Датчик" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "Значення" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "Мін." + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "Колір" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "Діаграма" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "Показати" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Редагувати налаштування" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Сховати каркас вікна" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Тримати вікно позаду" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Увімкнути меню" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Увімкнути лічильник на панелі запуску Unity" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "Одиниця температури:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "Положення таблиці датчиків:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "Зовнішній вигляд" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "Сховати вікно після запуску" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "Відновляти позицію і розмір вікна" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "Передній план:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "Тло:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "Непрозорість тла:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "Кольори" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "Тривалість спостереження" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "Інтервал оновлення:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "Заміри" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "Мін." + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "сек." + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "хв." + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "Інтервал оновлення замірів:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "Датчики" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Редагувати налаштування датчика" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "Тип:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "Н/Д" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "Назва:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "Ідентифікатор:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "Малювати криву датчика" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "Колір:" + +#: src/glade/sensor-edit.glade:448 +msgid "Display sensor in the list of sensors" +msgstr "" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "Увімкнути оповіщення" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "Вищий поріг:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "Нижчий поріг:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "Оповіщення" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: не вдалося знайти бібліотеку ADL." @@ -59,11 +451,11 @@ msgstr "" msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, fuzzy, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "atasmart: помилка sk_disk_open(): %s." @@ -83,37 +475,37 @@ msgstr "%s: не вдалося встановити з'єднання." msgid "%s: wrong string: %s." msgstr "%s: неправильний рядок: %s." -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, fuzzy, c-format msgid "%s: initialization failure: %s." msgstr "lmsensor: помилка ініціалізації: %s." @@ -139,48 +531,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "Не вдалося відкрити лог-файл: %s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, fuzzy, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "Не вдалося отримати інформацію NVIDIA." -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, fuzzy, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "Не вдалося отримати інформацію NVIDIA." -#: src/lib/nvidia.c:226 +#: src/lib/nvidia.c:240 #, fuzzy, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "Не вдалося отримати інформацію NVIDIA." -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: Не вдалося встановити з'єднання до сервера X11." -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: Не вдалося отримати інформацію NVIDIA." -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, 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 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "об/хв" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "Н/Д" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "Змінна HOME не встановлена." @@ -202,7 +590,7 @@ msgstr "" msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -212,22 +600,22 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Використання: %s [КЛЮЧ]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "Опції:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -235,74 +623,66 @@ msgstr "" " -h, --help показати цю довідку і вийти\n" " -v, --version показати версію і вийти" -#: src/main.c:104 +#: src/main.c:85 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:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance примусово створювати нову копію програми Psensor" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "Звітуйте про помилки до: %s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s домашня сторінка: <%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "Включає режим налагодження." -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Спробуйте `%s --help' щоб отримати більше інформації.\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "Не вдалося підключитися до: %s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" -msgstr "" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" +msgstr "Неправильний JSON: %s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "Неправильний JSON: %s" #: src/server/server.c:58 @@ -355,81 +735,100 @@ msgstr "" msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "Не вдалося відкрити лог-файл: %s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP запит: %s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "Датчики не знайдені." -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "Не вдалося створити веб-сервер." -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW-директорія: %s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:90 -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +#: src/ui.c:216 +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "Про Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "Домашня сторінка Psensor" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "Не вдалося завантажити іконку Psensor." -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "Налаштування" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "Оберіть колір переднього плану" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "Не вдалося створити веб-сервер." + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "помилка gettimeofday." @@ -442,141 +841,9 @@ msgstr "" msgid "Fan speed alert" msgstr "" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "" -#~ msgid "About" -#~ msgstr "Про програму" - -#~ msgid "Sensor Preferences" -#~ msgstr "Налаштування датчиків" - -#~ msgid "Quit" -#~ msgstr "Вихід" - -#~ msgid "Show" -#~ msgstr "Показати" - -#~ msgid "_Help" -#~ msgstr "_Довдіка" - -#~ msgid "Sensor" -#~ msgstr "Датчик" - -#~ msgid "Value" -#~ msgstr "Значення" - -#~ msgid "Min" -#~ msgstr "Мін." - -#~ msgid "Max" -#~ msgstr "Макс." - -#~ msgid "Color" -#~ msgstr "Колір" - -#~ msgid "Graph" -#~ msgstr "Діаграма" - -#~ msgid "Edit Preferences" -#~ msgstr "Редагувати налаштування" - -#~ msgid "Hide window decoration" -#~ msgstr "Сховати каркас вікна" - -#~ msgid "Keep window below" -#~ msgstr "Тримати вікно позаду" - -#~ msgid "Enable menu" -#~ msgstr "Увімкнути меню" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "Увімкнути лічильник на панелі запуску Unity" - -#~ msgid "Temperature unit:" -#~ msgstr "Одиниця температури:" - -#~ msgid "Position of sensors table:" -#~ msgstr "Положення таблиці датчиків:" - -#~ msgid "Interface" -#~ msgstr "Зовнішній вигляд" - -#~ msgid "Hide window on startup" -#~ msgstr "Сховати вікно після запуску" - -#~ msgid "Restore window position and size" -#~ msgstr "Відновляти позицію і розмір вікна" - -#~ msgid "Foreground:" -#~ msgstr "Передній план:" - -#~ msgid "Background:" -#~ msgstr "Тло:" - -#~ msgid "Background opacity:" -#~ msgstr "Непрозорість тла:" - -#~ msgid "Colors" -#~ msgstr "Кольори" - -#~ msgid "Monitoring duration:" -#~ msgstr "Тривалість спостереження" - -#~ msgid "Update interval:" -#~ msgstr "Інтервал оновлення:" - -#~ msgid "Measures" -#~ msgstr "Заміри" - -#~ msgid "Min" -#~ msgstr "Мін." - -#~ msgid "Max" -#~ msgstr "Макс." - -#~ msgid "second(s)" -#~ msgstr "сек." - -#~ msgid "minute(s)" -#~ msgstr "хв." - -#~ msgid "Measure update interval:" -#~ msgstr "Інтервал оновлення замірів:" - -#~ msgid "Sensors" -#~ msgstr "Датчики" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "Редагувати налаштування датчика" - -#~ msgid "Type:" -#~ msgstr "Тип:" - -#~ msgid "Name:" -#~ msgstr "Назва:" - -#~ msgid "Id:" -#~ msgstr "Ідентифікатор:" - -#~ msgid "Draw sensor curve" -#~ msgstr "Малювати криву датчика" - -#~ msgid "Color:" -#~ msgstr "Колір:" - -#~ msgid "Activate desktop notifications" -#~ msgstr "Увімкнути оповіщення" - -#~ msgid "High threshold:" -#~ msgstr "Вищий поріг:" - -#~ msgid "Low threshold:" -#~ msgstr "Нижчий поріг:" - -#~ msgid "Alarm" -#~ msgstr "Оповіщення" - #~ msgid "Sensor Information" #~ msgstr "Інформація датчика" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index e91f534dad43a05a7d06ded1412c03f378adf047..795e1c0c831be470de9a27f1013898520ab9c8e2 100644 GIT binary patch delta 4129 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 d?RRiXd~4@8f@Yc!{<7#hBG+<1@@{vUaO1GE4D delta 1797 zcmYM!e@xV69Ki8Mf)WBe;0`rT_;P9?;PIQ_1PF2c-t(cF4_!y4b z7-Ncm9~){YX<0UXNa;0gy5B_Qgc!D6h&wb+4$cue9iA)aJHc6I~hg|jHR zUdM9f!Z1F9Cvg={qTKfl=HYM1+Es>YK4NZM!`O$C>u%(yI?1!t#*4@;>eXE0FQFM{ zLj1z^Hd;l))snM3+ftMr`H{L(%_!IHw8vrF11JkRge!3rYj7GRLbJ#RqMC=eTUNFM zWoP{;J03v^)f7?|>Lz;eSLCNwP!RHfT9mOLm*5UGum|P2hjBf=g)#gI7ooH|`jCWG zUcAtxfTU^{8mY8$+<-~;q~vn7eJoVb3+QDsu$wGS7QE0(IG{eQ#Y#jf=+*N5%ePB3 ztWQL8CTXarOXCx@q97?S=<+ob(xpk|OJt+b^oBKlHsL{EO}o8bZ<-!)RyuplXtZyy8S3c{ykztQ z`ufdoufF5lrv0vdNA22jepNeC|$M{b=UkJ1Ty3JT`K4X6)?D`==6zr>r~Dw6}0DJ$~uK*yRb%CqACg v-xij$Uqe5|o_BjHT#4fsV<%pZk6oA\n" "Language-Team: Chinese (simplified)\n" @@ -18,21 +18,414 @@ msgstr "" "X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" "X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:510 +#: src/cfg.c:501 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "无法创建网络服务器。" -#: src/cfg.c:557 +#: src/cfg.c:548 #, fuzzy, c-format msgid "Failed to load configuration file %s: %s" msgstr "无法激活监测器日志。" -#: src/cfg.c:580 +#: src/cfg.c:573 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "无法激活监测器日志。" +#: src/glade/psensor.glade:6 src/glade/psensor-appindicator.glade:6 +msgid "About" +msgstr "关于" + +#: src/glade/psensor.glade:10 src/glade/psensor-appindicator.glade:10 +#: src/glade/psensor-appindicator.glade:11 +#: src/glade/psensor-appindicator.glade:20 src/ui_sensorlist.c:269 +msgid "Preferences" +msgstr "首选项" + +#: src/glade/psensor.glade:14 src/glade/psensor-appindicator.glade:24 +msgid "Quit" +msgstr "退出" + +#: src/glade/psensor.glade:18 src/glade/psensor-appindicator.glade:15 +#: src/glade/psensor-appindicator.glade:16 +#: src/glade/psensor-appindicator.glade:28 +msgid "Sensor Preferences" +msgstr "传感器首选项" + +#: src/glade/psensor.glade:99 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - 温度监视器" + +#: src/glade/psensor.glade:114 +msgid "_Psensor" +msgstr "" + +#: src/glade/psensor.glade:161 +msgid "_Help" +msgstr "帮助(_H)" + +#: src/glade/psensor.glade:225 +msgid "Sensor" +msgstr "监视设备" + +#: src/glade/psensor.glade:236 +msgid "Value" +msgstr "值" + +#: src/glade/psensor.glade:247 +msgid "Min" +msgstr "最小值" + +#: src/glade/psensor.glade:258 +msgid "Max" +msgstr "最大值" + +#: src/glade/psensor.glade:269 +msgid "Color" +msgstr "颜色" + +#: src/glade/psensor.glade:280 src/glade/psensor-pref.glade:753 +#: src/glade/sensor-edit.glade:480 +msgid "Graph" +msgstr "图表" + +#: src/glade/psensor-appindicator.glade:84 +msgid "Show" +msgstr "显示" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "左侧" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "顶部" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "底部" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "编辑首选项" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "隐藏窗口标题栏" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "保持在最底层" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "启用菜单" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "启用 Unity 启动器计数器" + +#: src/glade/psensor-pref.glade:190 +#, fuzzy +msgid "Psensor has not been build with Unity Launcher support" +msgstr "Psensor 不支持远程传感器。" + +#: src/glade/psensor-pref.glade:215 +msgid "Celsius" +msgstr "" + +#: src/glade/psensor-pref.glade:216 +msgid "Fahrenheit" +msgstr "" + +#: src/glade/psensor-pref.glade:258 +msgid "Temperature unit:" +msgstr "温度单位:" + +#: src/glade/psensor-pref.glade:275 +msgid "Position of sensors table:" +msgstr "监视设备列表位置:" + +#: src/glade/psensor-pref.glade:292 +msgid "Interface" +msgstr "界面" + +#: src/glade/psensor-pref.glade:308 +msgid "Launch on session startup" +msgstr "" + +#: src/glade/psensor-pref.glade:327 +msgid "Hide window on startup" +msgstr "启动时隐藏窗口" + +#: src/glade/psensor-pref.glade:345 +msgid "Restore window position and size" +msgstr "恢复窗口位置和大小" + +#: src/glade/psensor-pref.glade:374 +msgid "Startup" +msgstr "" + +#: src/glade/psensor-pref.glade:416 +msgid "Foreground:" +msgstr "前景:" + +#: src/glade/psensor-pref.glade:432 +msgid "Background:" +msgstr "背景:" + +#: src/glade/psensor-pref.glade:464 +msgid "Background opacity:" +msgstr "背景透明:" + +#: src/glade/psensor-pref.glade:480 +msgid "Colors" +msgstr "颜色" + +#: src/glade/psensor-pref.glade:500 +msgid "Monitoring duration:" +msgstr "监视持续时长:" + +#: src/glade/psensor-pref.glade:516 +msgid "Update interval:" +msgstr "更新间隔:" + +#: src/glade/psensor-pref.glade:532 +msgid "Measures" +msgstr "测量" + +#: src/glade/psensor-pref.glade:558 +msgid "Min" +msgstr "最小值" + +#: src/glade/psensor-pref.glade:585 +msgid "Max" +msgstr "最大值" + +#: src/glade/psensor-pref.glade:636 src/glade/psensor-pref.glade:813 +#: src/glade/psensor-pref.glade:881 +msgid "second(s)" +msgstr "秒" + +#: src/glade/psensor-pref.glade:686 +msgid "minute(s)" +msgstr "分钟" + +#: src/glade/psensor-pref.glade:702 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:728 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:780 +msgid "Measure update interval:" +msgstr "测量更新间隔:" + +#: src/glade/psensor-pref.glade:822 +msgid "Enable sensors logging" +msgstr "启用监测器记录" + +#: src/glade/psensor-pref.glade:866 +msgid "Sensors logging interval:" +msgstr "" + +#: src/glade/psensor-pref.glade:896 +msgid "Script executed when an alarm is raised:" +msgstr "" + +#: src/glade/psensor-pref.glade:934 +msgid "Sensors" +msgstr "传感器" + +#: src/glade/psensor-pref.glade:952 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:970 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:974 +#, fuzzy +msgid "Psensor has not been build with NVCtrl support" +msgstr "Psensor 不支持远程传感器。" + +#: src/glade/psensor-pref.glade:989 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:993 +#, fuzzy +msgid "Psensor has not been build with ATI ADL support" +msgstr "Psensor 不支持远程传感器。" + +#: src/glade/psensor-pref.glade:1008 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1012 +#, fuzzy +msgid "Psensor has not been build with gtop2 support" +msgstr "Psensor 不支持远程传感器。" + +#: src/glade/psensor-pref.glade:1027 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1045 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1049 +#, fuzzy +msgid "Psensor has not been build with libatasmart support" +msgstr "Psensor 不支持远程传感器。" + +#: src/glade/psensor-pref.glade:1064 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1068 +#, fuzzy +msgid "Psensor has not been build with udisks2 support" +msgstr "Psensor 不支持远程传感器。" + +#: src/glade/psensor-pref.glade:1090 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1110 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1131 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1152 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1173 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "编辑传感器首选项" + +#: src/glade/sensor-edit.glade:97 +msgid "Name" +msgstr "" + +#: src/glade/sensor-edit.glade:164 +msgid "Type:" +msgstr "类型:" + +#: src/glade/sensor-edit.glade:183 src/glade/sensor-edit.glade:220 +#: src/glade/sensor-edit.glade:276 src/glade/sensor-edit.glade:575 +#: src/glade/sensor-edit.glade:630 src/lib/psensor.c:430 src/ui_notify.c:81 +msgid "N/A" +msgstr "不可用" + +#: src/glade/sensor-edit.glade:202 +msgid "Chip:" +msgstr "芯片:" + +#: src/glade/sensor-edit.glade:239 +msgid "Name:" +msgstr "名称:" + +#: src/glade/sensor-edit.glade:258 +msgid "Id:" +msgstr "标识:" + +#: src/glade/sensor-edit.glade:296 +msgid "Min:" +msgstr "" + +#: src/glade/sensor-edit.glade:315 +msgid "Max:" +msgstr "" + +#: src/glade/sensor-edit.glade:333 src/glade/sensor-edit.glade:351 +msgid "label" +msgstr "" + +#: src/glade/sensor-edit.glade:370 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:388 +msgid "Draw sensor curve" +msgstr "绘制监视曲线" + +#: src/glade/sensor-edit.glade:417 +msgid "Color:" +msgstr "颜色:" + +#: src/glade/sensor-edit.glade:448 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "在应用指示器菜单中显示监视器" + +#: src/glade/sensor-edit.glade:499 +msgid "Activate desktop notifications" +msgstr "激活桌面气泡提示" + +#: src/glade/sensor-edit.glade:528 +msgid "High threshold:" +msgstr "高阈值:" + +#: src/glade/sensor-edit.glade:550 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:604 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:656 +msgid "Low threshold:" +msgstr "低阈值:" + +#: src/glade/sensor-edit.glade:678 +msgid "Alarm" +msgstr "警告" + +#: src/glade/sensor-edit.glade:697 +msgid "Display sensor in the menu" +msgstr "在应用指示器菜单中显示监视器" + +#: src/glade/sensor-edit.glade:701 src/glade/sensor-edit.glade:723 +#, fuzzy +msgid "Psensor has not been build with AppIndicator support" +msgstr "Psensor 不支持远程传感器。" + +#: src/glade/sensor-edit.glade:719 +msgid "Display sensor in the label (experimental)" +msgstr "" + +#: src/glade/sensor-edit.glade:752 +msgid "Application Indicator" +msgstr "" + +#: src/graph.c:460 +msgid "No graphs enabled" +msgstr "" + #: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD:未找到 ADL 库。" @@ -59,11 +452,11 @@ msgstr "" msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +#: src/lib/hdd_atasmart.c:70 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:141 +#: src/lib/hdd_atasmart.c:153 #, c-format msgid "%s: sk_disk_open() failure: %s." msgstr "%s:sk_disk_open() 失败:%s。" @@ -83,37 +476,37 @@ msgstr "硬盘温度:无法打开连接。" msgid "%s: wrong string: %s." msgstr "硬盘温度:错误字符:%s。" -#: src/lib/lmsensor.c:44 +#: src/lib/lmsensor.c:73 #, c-format msgid "%s: Cannot get value of subfeature %s: %s." msgstr "%s:无法获取子功能%s的值:%s。" -#: src/lib/lmsensor.c:137 +#: src/lib/lmsensor.c:174 #, c-format msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:166 +#: src/lib/lmsensor.c:203 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:170 +#: src/lib/lmsensor.c:207 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:172 +#: src/lib/lmsensor.c:209 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:174 +#: src/lib/lmsensor.c:211 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:176 +#: src/lib/lmsensor.c:213 msgid "ACPI" msgstr "" -#: src/lib/lmsensor.c:201 +#: src/lib/lmsensor.c:245 #, c-format msgid "%s: initialization failure: %s." msgstr "%s:初始化失败:%s。" @@ -139,48 +532,44 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "无法打开日志文件:%s" -#: src/lib/nvidia.c:58 +#: src/lib/nvidia.c:69 #, fuzzy, c-format msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "无法获取 NVIDIA 信息。" -#: src/lib/nvidia.c:63 +#: src/lib/nvidia.c:74 #, fuzzy, c-format msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "无法获取 NVIDIA 信息。" -#: src/lib/nvidia.c:226 +#: src/lib/nvidia.c:240 #, fuzzy, c-format msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "无法获取 NVIDIA 信息。" -#: src/lib/nvidia.c:293 +#: src/lib/nvidia.c:317 #, c-format msgid "%s: Cannot open connection to X11 server." msgstr "%s: 无法打开到 X11 服务器的连接。" -#: src/lib/nvidia.c:301 +#: src/lib/nvidia.c:325 #, c-format msgid "%s: Failed to retrieve NVIDIA information." msgstr "%s: 无法获取 NVIDIA 信息。" -#: src/lib/nvidia.c:370 +#: src/lib/nvidia.c:394 #, 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 +#: src/lib/psensor.c:426 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "转速" -#: src/lib/psensor.c:455 +#: src/lib/psensor.c:428 msgid "%" msgstr "%" -#: src/lib/psensor.c:457 src/ui_notify.c:81 -msgid "N/A" -msgstr "不可用" - #: src/lib/slog.c:87 msgid "HOME variable not set." msgstr "未设置 HOME 变量。" @@ -202,7 +591,7 @@ msgstr "监测器日志文件未打开。" msgid "Sensor log not open, cannot close." msgstr "监测器日志未打开,故无法关闭。" -#: src/main.c:80 src/server/server.c:88 +#: src/main.c:61 src/server/server.c:88 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -217,22 +606,22 @@ msgstr "" "本软件为自由软件:您可以自由修改并分发。\n" "There is NO WARRANTY, to the extent permitted by law。\n" -#: src/main.c:91 src/server/server.c:98 +#: src/main.c:72 src/server/server.c:98 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "用法:%s [选项]...\n" -#: src/main.c:93 +#: src/main.c:74 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "Psensor 是一款 GTK+ 应用程序,可监测硬件传感器,包括温度与风扇转速。" -#: src/main.c:97 +#: src/main.c:78 msgid "Options:" msgstr "选项:" -#: src/main.c:98 +#: src/main.c:79 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -240,7 +629,7 @@ msgstr "" " -h, --help 显示这个帮助并退出\n" " -v, --version 显示版本信息并退出" -#: src/main.c:104 +#: src/main.c:85 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -248,68 +637,59 @@ msgstr "" " -u, --url=URL psensor 服务器 URL\n" " 例如:http://hostname:3131" -#: src/main.c:107 +#: src/main.c:88 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance 强制创建一个新的 Psensor 例程" -#: src/main.c:110 +#: src/main.c:91 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:121 +#: src/main.c:96 src/server/server.c:121 #, c-format msgid "Report bugs to: %s\n" msgstr "报告问题至:%s\n" -#: src/main.c:117 src/server/server.c:123 +#: src/main.c:98 src/server/server.c:123 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 主页:<%s>\n" -#: src/main.c:473 +#: src/main.c:390 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor 不支持远程传感器。" -#: src/main.c:551 +#: src/main.c:460 msgid "Enables debug mode." msgstr "启用调试模式。" -#: src/main.c:563 src/server/server.c:396 +#: src/main.c:472 src/server/server.c:422 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "试用‘%s --help’来获得更多信息。\n" -#: src/main.c:576 +#: src/main.c:485 msgid "A Psensor instance already exists." msgstr "已存在一个 Psensor 例程。" -#: src/main.c:631 +#: src/main.c:527 #, 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" +#: src/rsensor.c:115 +#, fuzzy, c-format +msgid "%s: Fail to connect to: %s" msgstr "无法连接到:%s" -#: src/rsensor.c:144 -#, c-format -msgid "Invalid content: %s" +#: src/rsensor.c:152 +#, fuzzy, c-format +msgid "%s: Invalid content: %s" msgstr "无效内容:%s" -#: src/rsensor.c:184 -#, c-format -msgid "Invalid JSON: %s" +#: src/rsensor.c:192 +#, fuzzy, c-format +msgid "%s: Invalid JSON: %s" msgstr "无效 JSON:%s" #: src/server/server.c:58 @@ -358,84 +738,104 @@ msgstr " --sensor-log-file=路径 设置监测器日志文件的路径" msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:313 +#: src/server/server.c:262 +#, c-format +msgid "Resource access refused %s real path is %s" +msgstr "" + +#: src/server/server.c:269 +#, fuzzy, c-format +msgid "Cannot get real path of %s" +msgstr "无法打开日志文件:%s" + +#: src/server/server.c:339 #, c-format msgid "HTTP Request: %s" msgstr "HTTP 请求:%s" -#: src/server/server.c:376 +#: src/server/server.c:402 #, c-format msgid "Enables debug mode: %d" msgstr "启用调试模式:%d" -#: src/server/server.c:405 +#: src/server/server.c:431 #, c-format msgid "Webserver directory does not exist.\n" msgstr "" -#: src/server/server.c:426 +#: src/server/server.c:452 msgid "No sensors detected." msgstr "未检测到传感器。" -#: src/server/server.c:433 +#: src/server/server.c:459 msgid "Failed to create Web server." msgstr "无法创建网络服务器。" -#: src/server/server.c:437 +#: src/server/server.c:463 #, c-format msgid "Web server started on port: %d" msgstr "网络服务器启动端口:%d" -#: src/server/server.c:438 +#: src/server/server.c:464 #, c-format msgid "WWW directory: %s" msgstr "WWW 目录:%s" -#: src/server/server.c:439 +#: src/server/server.c:465 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:449 +#: src/server/server.c:475 msgid "Failed to activate logging of sensors." msgstr "无法激活监测器日志。" -#: src/ui.c:87 +#: src/ui.c:213 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor 是一款 GTK+ 硬件监测传感应用程序" -#: src/ui.c:90 +#: src/ui.c:216 #, fuzzy -msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgid "Copyright(c) 2010-2016 jeanfi@gmail.com" msgstr "" "版权所有(c) 2010-2014\n" "jeanfi@gmail.com" -#: src/ui.c:96 +#: src/ui.c:222 msgid "About Psensor" msgstr "关于 Psensor" -#: src/ui.c:100 +#: src/ui.c:223 +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/ui.c:226 msgid "Psensor Homepage" msgstr "Psensor 主页" -#: src/ui.c:223 +#: src/ui.c:363 msgid "Failed to load Psensor icon." msgstr "无法加载 Psensor 图标。" -#: src/ui_sensorlist.c:254 +#: src/ui_sensorlist.c:259 msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:264 -msgid "Preferences" -msgstr "首选项" - -#: src/ui_sensorlist.c:296 +#: src/ui_sensorlist.c:303 #, fuzzy msgid "Select sensor color" msgstr "选择前景色" +#: src/ui_appindicator.c:148 +#, fuzzy, c-format +msgid "Failed to load glade file %s: %s" +msgstr "无法激活监测器日志。" + #: src/ui_notify.c:48 msgid "gettimeofday failed." msgstr "获取时间失败。" @@ -449,170 +849,10 @@ msgstr "温度报警" msgid "Fan speed alert" msgstr "风扇警报" -#: src/ui_sensorpref.c:248 +#: src/ui_sensorpref.c:290 src/ui_sensorpref.c:296 src/ui_sensorpref.c:304 msgid "Unknown" msgstr "未知" -#~ msgid "About" -#~ msgstr "关于" - -#~ msgid "Sensor Preferences" -#~ msgstr "传感器首选项" - -#~ msgid "Quit" -#~ msgstr "退出" - -#~ msgid "Show" -#~ msgstr "显示" - -#~ msgid "Psensor - Temperature Monitor" -#~ msgstr "Psensor - 温度监视器" - -#~ msgid "_Help" -#~ msgstr "帮助(_H)" - -#~ msgid "Sensor" -#~ msgstr "监视设备" - -#~ msgid "Value" -#~ msgstr "值" - -#~ msgid "Min" -#~ msgstr "最小值" - -#~ msgid "Max" -#~ msgstr "最大值" - -#~ msgid "Color" -#~ msgstr "颜色" - -#~ msgid "Graph" -#~ msgstr "图表" - -#~ msgid "Left" -#~ msgstr "左侧" - -#~ msgid "Top" -#~ msgstr "顶部" - -#~ msgid "Bottom" -#~ msgstr "底部" - -#~ msgid "Edit Preferences" -#~ msgstr "编辑首选项" - -#~ msgid "Hide window decoration" -#~ msgstr "隐藏窗口标题栏" - -#~ msgid "Keep window below" -#~ msgstr "保持在最底层" - -#~ msgid "Enable menu" -#~ msgstr "启用菜单" - -#~ msgid "Enable Unity Launcher counter" -#~ msgstr "启用 Unity 启动器计数器" - -#~ msgid "Temperature unit:" -#~ msgstr "温度单位:" - -#~ msgid "Position of sensors table:" -#~ msgstr "监视设备列表位置:" - -#~ msgid "Interface" -#~ msgstr "界面" - -#~ msgid "Hide window on startup" -#~ msgstr "启动时隐藏窗口" - -#~ msgid "Restore window position and size" -#~ msgstr "恢复窗口位置和大小" - -#~ msgid "Foreground:" -#~ msgstr "前景:" - -#~ msgid "Background:" -#~ msgstr "背景:" - -#~ msgid "Background opacity:" -#~ msgstr "背景透明:" - -#~ msgid "Colors" -#~ msgstr "颜色" - -#~ msgid "Monitoring duration:" -#~ msgstr "监视持续时长:" - -#~ msgid "Update interval:" -#~ msgstr "更新间隔:" - -#~ msgid "Measures" -#~ msgstr "测量" - -#~ msgid "Min" -#~ msgstr "最小值" - -#~ msgid "Max" -#~ msgstr "最大值" - -#~ msgid "second(s)" -#~ msgstr "秒" - -#~ msgid "minute(s)" -#~ msgstr "分钟" - -#~ msgid "Measure update interval:" -#~ msgstr "测量更新间隔:" - -#~ msgid "Enable sensors logging" -#~ msgstr "启用监测器记录" - -#~ msgid "seconds(s)" -#~ msgstr "秒" - -#~ msgid "Sensors" -#~ msgstr "传感器" - -#~ msgid "Edit Sensor Preferences" -#~ msgstr "编辑传感器首选项" - -#~ msgid "Type:" -#~ msgstr "类型:" - -#~ msgid "Chip:" -#~ msgstr "芯片:" - -#~ msgid "Name:" -#~ msgstr "名称:" - -#~ msgid "Id:" -#~ msgstr "标识:" - -#~ msgid "Draw sensor curve" -#~ msgstr "绘制监视曲线" - -#~ msgid "Color:" -#~ msgstr "颜色:" - -#, fuzzy -#~ msgid "Display sensor in the list of sensors" -#~ msgstr "在应用指示器菜单中显示监视器" - -#~ msgid "Activate desktop notifications" -#~ msgstr "激活桌面气泡提示" - -#~ msgid "High threshold:" -#~ msgstr "高阈值:" - -#~ msgid "Low threshold:" -#~ msgstr "低阈值:" - -#~ msgid "Alarm" -#~ msgstr "警告" - -#~ msgid "Display sensor in the menu" -#~ msgstr "在应用指示器菜单中显示监视器" - #~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." #~ msgstr "lmsensor:lmsensor_psensor_create 失败:错误的功能类型。" diff --git a/src/Makefile.am b/src/Makefile.am index 7611095..8779d9e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,23 @@ SUBDIRS = lib glade +psensor_SOURCES = \ + cfg.h cfg.c \ + notify_cmd.c notify_cmd.h \ + graph.h graph.c \ + main.c \ + pxdg.h pxdg.c \ + rsensor.h \ + ui.h ui.c \ + ui_appindicator.h \ + ui_color.h ui_color.c \ + ui_graph.h ui_graph.c \ + ui_notify.h \ + ui_pref.h ui_pref.c \ + ui_sensorlist.h ui_sensorlist.c \ + ui_sensorpref.h ui_sensorpref.c \ + ui_status.h ui_status.c \ + ui_unity.h + # -export-dynamic is need for defining handlers in the glade file. AM_LDFLAGS = -Wl,--as-needed -export-dynamic @@ -35,28 +53,13 @@ endif endif endif -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 - if GTOP AM_CPPFLAGS += $(GTOP_CFLAGS) LIBS += $(GTOP_LIBS) endif if LIBNOTIFY -psensor_SOURCES += ui_notify.h ui_notify.c +psensor_SOURCES += ui_notify.c LIBS += $(LIBNOTIFY_LIBS) AM_CPPFLAGS += $(LIBNOTIFY_CFLAGS) endif @@ -89,24 +92,32 @@ LIBS += $(LIBUDISKS2_LIBS) endif if UNITY -psensor_SOURCES += ui_unity.h ui_unity.c +psensor_SOURCES += ui_unity.c AM_CPPFLAGS += $(UNITY_CFLAGS) LIBS += $(UNITY_LIBS) endif if CURL if JSON -psensor_SOURCES += rsensor.h rsensor.c +psensor_SOURCES += rsensor.c LIBS += $(CURL_LIBS) $(JSON_LIBS) AM_CPPFLAGS += $(CURL_CFLAGS) $(JSON_CFLAGS) endif endif +if HELP2MAN 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) +endif gsettings_SCHEMAS=psensor.gschema.xml -EXTRA_DIST = description.txt $(gsettings_SCHEMAS) + +EXTRA_DIST = description.txt\ + $(gsettings_SCHEMAS)\ + rsensor.c\ + ui_appindicator.c\ + ui_notify.c\ + ui_unity.c @GSETTINGS_RULES@ diff --git a/src/Makefile.in b/src/Makefile.in index 9bf3fab..f35d657 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -92,7 +82,7 @@ host_triplet = @host@ @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 +@LIBNOTIFY_TRUE@am__append_4 = ui_notify.c @LIBNOTIFY_TRUE@am__append_5 = $(LIBNOTIFY_LIBS) @LIBNOTIFY_TRUE@am__append_6 = $(LIBNOTIFY_CFLAGS) @APPINDICATOR_TRUE@am__append_7 = ui_appindicator.c @@ -105,18 +95,23 @@ host_triplet = @host@ @ATASMART_TRUE@am__append_14 = $(ATASMART_CFLAGS) @ATASMART_TRUE@am__append_15 = $(ATASMART_LIBS) @LIBUDISKS2_TRUE@am__append_16 = $(LIBUDISKS2_LIBS) -@UNITY_TRUE@am__append_17 = ui_unity.h ui_unity.c +@UNITY_TRUE@am__append_17 = 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_20 = 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 = $(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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -124,22 +119,22 @@ CONFIG_CLEAN_VPATH_FILES = 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 \ - 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 \ - ui_notify.h ui_notify.c ui_appindicator.c ui_unity.h \ - ui_unity.c rsensor.h rsensor.c + graph.h graph.c main.c pxdg.h pxdg.c rsensor.h ui.h ui.c \ + ui_appindicator.h ui_color.h ui_color.c ui_graph.h ui_graph.c \ + ui_notify.h ui_pref.h ui_pref.c ui_sensorlist.h \ + ui_sensorlist.c ui_sensorpref.h ui_sensorpref.c ui_status.h \ + ui_status.c ui_unity.h ui_notify.c ui_appindicator.c \ + ui_unity.c rsensor.c @LIBNOTIFY_TRUE@am__objects_1 = ui_notify.$(OBJEXT) @APPINDICATOR_TRUE@am__objects_2 = ui_appindicator.$(OBJEXT) @UNITY_TRUE@am__objects_3 = ui_unity.$(OBJEXT) @CURL_TRUE@@JSON_TRUE@am__objects_4 = rsensor.$(OBJEXT) am_psensor_OBJECTS = cfg.$(OBJEXT) notify_cmd.$(OBJEXT) \ - graph.$(OBJEXT) main.$(OBJEXT) ui.$(OBJEXT) ui_color.$(OBJEXT) \ - ui_graph.$(OBJEXT) ui_pref.$(OBJEXT) ui_sensorlist.$(OBJEXT) \ - ui_sensorpref.$(OBJEXT) ui_status.$(OBJEXT) pxdg.$(OBJEXT) \ - $(am__objects_1) $(am__objects_2) $(am__objects_3) \ - $(am__objects_4) + graph.$(OBJEXT) main.$(OBJEXT) pxdg.$(OBJEXT) ui.$(OBJEXT) \ + ui_color.$(OBJEXT) ui_graph.$(OBJEXT) ui_pref.$(OBJEXT) \ + ui_sensorlist.$(OBJEXT) ui_sensorpref.$(OBJEXT) \ + ui_status.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) psensor_OBJECTS = $(am_psensor_OBJECTS) psensor_LDADD = $(LDADD) AM_V_P = $(am__v_P_@AM_V@) @@ -243,8 +238,6 @@ am__define_uniq_tagged_files = \ ETAGS = etags CTAGS = ctags DIST_SUBDIRS = lib glade server -am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ @@ -299,7 +292,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -361,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@ @@ -376,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@ @@ -422,7 +412,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -432,6 +421,13 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = lib glade $(am__append_1) +psensor_SOURCES = cfg.h cfg.c notify_cmd.c notify_cmd.h graph.h \ + graph.c main.c pxdg.h pxdg.c rsensor.h ui.h ui.c \ + ui_appindicator.h ui_color.h ui_color.c ui_graph.h ui_graph.c \ + ui_notify.h ui_pref.h ui_pref.c ui_sensorlist.h \ + ui_sensorlist.c ui_sensorpref.h ui_sensorpref.c ui_status.h \ + ui_status.c ui_unity.h $(am__append_4) $(am__append_7) \ + $(am__append_17) $(am__append_20) # -export-dynamic is need for defining handlers in the glade file. AM_LDFLAGS = -Wl,--as-needed -export-dynamic @@ -444,15 +440,14 @@ AM_CPPFLAGS = -Wall -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\" \ $(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_17) \ - $(am__append_20) gsettings_SCHEMAS = psensor.gschema.xml -EXTRA_DIST = description.txt $(gsettings_SCHEMAS) +EXTRA_DIST = description.txt\ + $(gsettings_SCHEMAS)\ + rsensor.c\ + ui_appindicator.c\ + ui_notify.c\ + ui_unity.c + all: all-recursive .SUFFIXES: @@ -469,6 +464,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -893,12 +889,10 @@ uninstall-man: uninstall-man1 tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-man uninstall-man1 -.PRECIOUS: Makefile - -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) +@HELP2MAN_TRUE@psensor.1: main.c $(top_srcdir)/configure.ac +@HELP2MAN_TRUE@ $(MAKE) $(AM_MAKEFLAGS) psensor$(EXEEXT) +@HELP2MAN_TRUE@ help2man --include=description.txt -N --name="Temperature monitoring application" --output=psensor.1 ./psensor$(EXEEXT) @GSETTINGS_RULES@ diff --git a/src/cfg.c b/src/cfg.c index 0f22ccb..d94f256 100644 --- a/src/cfg.c +++ b/src/cfg.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -119,6 +119,10 @@ static const char *KEY_PROVIDER_LIBATASMART_ENABLED static const char *KEY_PROVIDER_NVCTRL_ENABLED = "provider-nvctrl-enabled"; static const char *KEY_PROVIDER_UDISKS2_ENABLED = "provider-udisks2-enabled"; +static const char *KEY_DEFAULT_HIGH_THRESHOLD_TEMPERATURE += "default-high-threshold-temperature"; +static const char *KEY_DEFAULT_SENSOR_ALARM_ENABLED += "default-sensor-alarm-enabled"; static GSettings *settings; @@ -170,7 +174,7 @@ static int get_int(const char *k) return g_settings_get_int(settings, k); } -char *config_get_notif_script() +char *config_get_notif_script(void) { char *str; @@ -191,7 +195,7 @@ void config_set_notif_script(const char *str) set_string(KEY_NOTIFICATION_SCRIPT, ""); } -static struct color *get_background_color() +static struct color *get_background_color(void) { char *scolor; struct color *c; @@ -207,7 +211,7 @@ static struct color *get_background_color() return c; } -static struct color *get_foreground_color() +static struct color *get_foreground_color(void) { char *scolor; struct color *c; @@ -223,7 +227,7 @@ static struct color *get_foreground_color() return c; } -static bool is_alpha_channel_enabled() +static bool is_alpha_channel_enabled(void) { return get_bool(KEY_ALPHA_CHANNEL_ENABLED); } @@ -233,17 +237,17 @@ static void set_alpha_channeld_enabled(bool b) set_bool(KEY_ALPHA_CHANNEL_ENABLED, b); } -static enum sensorlist_position get_sensorlist_position() +enum sensorlist_position config_get_sensorlist_position(void) { return get_int(KEY_INTERFACE_SENSORLIST_POSITION); } -static void set_sensorlist_position(enum sensorlist_position pos) +void config_set_sensorlist_position(enum sensorlist_position pos) { set_int(KEY_INTERFACE_SENSORLIST_POSITION, pos); } -static double get_graph_background_alpha() +static double get_graph_background_alpha(void) { return get_double(KEY_GRAPH_BACKGROUND_ALPHA); } @@ -279,7 +283,7 @@ static void set_foreground_color(const struct color *color) free(str); } -bool is_slog_enabled() +bool is_slog_enabled(void) { return get_bool(KEY_SLOG_ENABLED); } @@ -311,7 +315,7 @@ void config_set_slog_enabled_changed_cbk(void (*cbk)(void *), void *data) log_fct_exit(); } -int config_get_slog_interval() +int config_get_slog_interval(void) { return get_int(KEY_SLOG_INTERVAL); } @@ -324,27 +328,27 @@ static void set_slog_interval(int interval) set_int(KEY_SLOG_INTERVAL, interval); } -static bool is_window_decoration_enabled() +bool config_is_window_decoration_enabled(void) { return !get_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED); } -static bool is_window_keep_below_enabled() +bool config_is_window_keep_below_enabled(void) { return get_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED); } -static void set_window_decoration_enabled(bool enabled) +void config_set_window_decoration_enabled(bool enabled) { set_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED, !enabled); } -static void set_window_keep_below_enabled(bool enabled) +void config_set_window_keep_below_enabled(bool enabled) { set_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED, enabled); } -bool config_is_smooth_curves_enabled() +bool config_is_smooth_curves_enabled(void) { return get_bool(KEY_GRAPH_SMOOTH_CURVES_ENABLED); } @@ -354,8 +358,17 @@ void config_set_smooth_curves_enabled(bool b) set_bool(KEY_GRAPH_SMOOTH_CURVES_ENABLED, b); } +double config_get_default_high_threshold_temperature(void) +{ + return get_double(KEY_DEFAULT_HIGH_THRESHOLD_TEMPERATURE); +} + +static bool config_get_default_sensor_alarm_enabled(void) +{ + return get_bool(KEY_DEFAULT_SENSOR_ALARM_ENABLED); +} -static void init() +static void init(void) { log_fct_enter(); @@ -365,7 +378,7 @@ static void init() log_fct_exit(); } -void config_cleanup() +void config_cleanup(void) { config_sync(); @@ -393,7 +406,7 @@ void config_cleanup() slog_enabled_cbk = NULL; } -struct config *config_load() +struct config *config_load(void) { struct config *c; @@ -405,9 +418,6 @@ struct config *config_load() 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(); @@ -425,13 +435,6 @@ struct config *config_load() 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); @@ -447,8 +450,6 @@ struct config *config_load() 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; @@ -460,9 +461,6 @@ void config_save(const struct config *c) 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); @@ -472,11 +470,6 @@ void config_save(const struct config *c) set_int(KEY_SENSOR_UPDATE_INTERVAL, c->sensor_update_interval); - 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, @@ -488,11 +481,9 @@ void config_save(const struct config *c) 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); } -const char *get_psensor_user_dir() +const char *get_psensor_user_dir(void) { const char *home; @@ -521,7 +512,7 @@ const char *get_psensor_user_dir() return user_dir; } -static const char *get_sensor_config_path() +static const char *get_sensor_config_path(void) { const char *dir; @@ -535,7 +526,7 @@ static const char *get_sensor_config_path() return sensor_config_path; } -static GKeyFile *get_sensor_key_file() +static GKeyFile *get_sensor_key_file(void) { int ret; GError *err; @@ -553,16 +544,18 @@ static GKeyFile *get_sensor_key_file() | G_KEY_FILE_KEEP_TRANSLATIONS, &err); - if (!ret) + if (!ret) { log_warn(_("Failed to load configuration file %s: %s"), path, err->message); + g_error_free(err); + } } return key_file; } -static void save_sensor_key_file() +static void save_sensor_key_file(void) { GKeyFile *kfile; const char *path; @@ -584,7 +577,7 @@ static void save_sensor_key_file() log_fct_exit(); } -void config_sync() +void config_sync(void) { log_fct_enter(); if (settings) @@ -609,12 +602,50 @@ static char *sensor_get_str(const char *sid, const char *att) return g_key_file_get_string(kfile, sid, att, NULL); } -static bool sensor_get_bool(const char *sid, const char *att) +static bool sensor_get_double(const char *sid, const char *att, double *d) +{ + GKeyFile *kfile; + GError *err; + double v; + + kfile = get_sensor_key_file(); + + err = NULL; + v = g_key_file_get_double(kfile, sid, att, &err); + + if (err) { + log_err(err->message); + + g_error_free(err); + + return false; + } + + *d = v; + return true; +} + +static bool sensor_get_bool(const char *sid, const char *att, bool dft) { GKeyFile *kfile; + GError *err; + bool ret; kfile = get_sensor_key_file(); - return g_key_file_get_boolean(kfile, sid, att, NULL); + + err = NULL; + ret = g_key_file_get_boolean(kfile, sid, att, &err); + + if (err) { + if (err->code == G_KEY_FILE_ERROR_KEY_NOT_FOUND) + ret = dft; + else + log_err(err->message); + + g_error_free(err); + } + + return ret; } static void sensor_set_bool(const char *sid, const char *att, bool enabled) @@ -653,43 +684,85 @@ void config_set_sensor_name(const char *sid, const char *name) sensor_set_str(sid, ATT_SENSOR_NAME, name); } -void config_set_sensor_color(const char *sid, const struct color *color) -{ - char *scolor; - - scolor = color_to_str(color); +void config_set_sensor_color(const char *sid, const GdkRGBA *color) +{ + gchar *str; + + str = gdk_rgba_to_string(color); + + sensor_set_str(sid, ATT_SENSOR_COLOR, str); + + g_free(str); +} + +static const char *next_default_color(void) +{ + /* 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" + }; + static int next_idx; + const char *c; + + c = default_colors[next_idx % 27]; + + next_idx++; - sensor_set_str(sid, ATT_SENSOR_COLOR, scolor); - - free(scolor); + return c; } -struct color * -config_get_sensor_color(const char *sid, const struct color *dft) +GdkRGBA *config_get_sensor_color(const char *sid) { - char *scolor; - struct color *color; - - scolor = sensor_get_str(sid, ATT_SENSOR_COLOR); + GdkRGBA rgba; + char *str; + gboolean ret; - if (scolor) - color = str_to_color(scolor); - else - color = NULL; + str = sensor_get_str(sid, ATT_SENSOR_COLOR); - if (!color) { - color = color_new(dft->red, dft->green, dft->blue); - config_set_sensor_color(sid, color); + if (str) { + ret = gdk_rgba_parse(&rgba, str); + free(str); } - free(scolor); + if (!str || !ret) { + gdk_rgba_parse(&rgba, next_default_color()); + config_set_sensor_color(sid, &rgba); + } - return color; + return gdk_rgba_copy(&rgba); } bool config_is_sensor_graph_enabled(const char *sid) { - return sensor_get_bool(sid, ATT_SENSOR_GRAPH_ENABLED); + return sensor_get_bool(sid, ATT_SENSOR_GRAPH_ENABLED, false); } void config_set_sensor_graph_enabled(const char *sid, bool enabled) @@ -697,9 +770,9 @@ void config_set_sensor_graph_enabled(const char *sid, bool enabled) sensor_set_bool(sid, ATT_SENSOR_GRAPH_ENABLED, enabled); } -int config_get_sensor_alarm_high_threshold(const char *sid) +bool config_get_sensor_alarm_high_threshold(const char *sid, double *v) { - return sensor_get_int(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD); + return sensor_get_double(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD, v); } void config_set_sensor_alarm_high_threshold(const char *sid, int threshold) @@ -707,9 +780,9 @@ void config_set_sensor_alarm_high_threshold(const char *sid, int threshold) sensor_set_int(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD, threshold); } -int config_get_sensor_alarm_low_threshold(const char *sid) +bool config_get_sensor_alarm_low_threshold(const char *sid, double *v) { - return sensor_get_int(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD); + return sensor_get_double(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD, v); } void config_set_sensor_alarm_low_threshold(const char *sid, int threshold) @@ -719,14 +792,16 @@ void config_set_sensor_alarm_low_threshold(const char *sid, int threshold) bool config_is_appindicator_enabled(const char *sid) { - return !sensor_get_bool(sid, ATT_SENSOR_APPINDICATOR_MENU_DISABLED); + return !sensor_get_bool(sid, + ATT_SENSOR_APPINDICATOR_MENU_DISABLED, + false); } void config_set_appindicator_enabled(const char *sid, bool enabled) { - return sensor_set_bool(sid, - ATT_SENSOR_APPINDICATOR_MENU_DISABLED, - !enabled); + sensor_set_bool(sid, + ATT_SENSOR_APPINDICATOR_MENU_DISABLED, + !enabled); } int config_get_sensor_position(const char *sid) @@ -736,12 +811,12 @@ int config_get_sensor_position(const char *sid) void config_set_sensor_position(const char *sid, int pos) { - return sensor_set_int(sid, ATT_SENSOR_POSITION, pos); + sensor_set_int(sid, ATT_SENSOR_POSITION, pos); } bool config_get_sensor_alarm_enabled(const char *sid) { - return sensor_get_bool(sid, ATT_SENSOR_ALARM_ENABLED); + return sensor_get_bool(sid, ATT_SENSOR_ALARM_ENABLED, false); } void config_set_sensor_alarm_enabled(const char *sid, bool enabled) @@ -751,7 +826,9 @@ void config_set_sensor_alarm_enabled(const char *sid, bool enabled) bool config_is_sensor_enabled(const char *sid) { - return !sensor_get_bool(sid, ATT_SENSOR_HIDE); + return !sensor_get_bool(sid, + ATT_SENSOR_HIDE, + config_get_default_sensor_alarm_enabled()); } void config_set_sensor_enabled(const char *sid, bool enabled) @@ -761,7 +838,9 @@ void config_set_sensor_enabled(const char *sid, bool enabled) bool config_is_appindicator_label_enabled(const char *sid) { - return sensor_get_bool(sid, ATT_SENSOR_APPINDICATOR_LABEL_ENABLED); + return sensor_get_bool(sid, + ATT_SENSOR_APPINDICATOR_LABEL_ENABLED, + false); } void config_set_appindicator_label_enabled(const char *sid, bool enabled) @@ -769,42 +848,42 @@ void config_set_appindicator_label_enabled(const char *sid, bool enabled) sensor_set_bool(sid, ATT_SENSOR_APPINDICATOR_LABEL_ENABLED, enabled); } -GSettings *config_get_GSettings() +GSettings *config_get_GSettings(void) { return settings; } -bool config_is_lmsensor_enabled() +bool config_is_lmsensor_enabled(void) { return get_bool(KEY_PROVIDER_LMSENSORS_ENABLED); } -bool config_is_gtop2_enabled() +bool config_is_gtop2_enabled(void) { return get_bool(KEY_PROVIDER_GTOP2_ENABLED); } -bool config_is_udisks2_enabled() +bool config_is_udisks2_enabled(void) { return get_bool(KEY_PROVIDER_UDISKS2_ENABLED); } -bool config_is_hddtemp_enabled() +bool config_is_hddtemp_enabled(void) { return get_bool(KEY_PROVIDER_HDDTEMP_ENABLED); } -bool config_is_libatasmart_enabled() +bool config_is_libatasmart_enabled(void) { return get_bool(KEY_PROVIDER_LIBATASMART_ENABLED); } -bool config_is_nvctrl_enabled() +bool config_is_nvctrl_enabled(void) { return get_bool(KEY_PROVIDER_NVCTRL_ENABLED); } -bool config_is_atiadlsdk_enabled() +bool config_is_atiadlsdk_enabled(void) { return get_bool(KEY_PROVIDER_ATIADLSDK_ENABLED); } @@ -843,3 +922,33 @@ void config_set_udisks2_enable(bool b) { set_bool(KEY_PROVIDER_UDISKS2_ENABLED, b); } + +enum temperature_unit config_get_temperature_unit(void) +{ + return get_int(KEY_INTERFACE_TEMPERATURE_UNIT); +} + +void config_set_temperature_unit(enum temperature_unit u) +{ + set_int(KEY_INTERFACE_TEMPERATURE_UNIT, u); +} + +bool config_is_menu_bar_enabled(void) +{ + return !get_bool(KEY_INTERFACE_MENU_BAR_DISABLED); +} + +void config_set_menu_bar_enabled(bool enabled) +{ + set_bool(KEY_INTERFACE_MENU_BAR_DISABLED, !enabled); +} + +bool config_is_count_visible(void) +{ + return !get_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED); +} + +void config_set_count_visible(bool visible) +{ + set_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED, !visible); +} diff --git a/src/cfg.h b/src/cfg.h index ed2e20e..524e513 100644 --- a/src/cfg.h +++ b/src/cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,7 +19,7 @@ #ifndef _PSENSOR_CONFIG_H_ #define _PSENSOR_CONFIG_H_ -#include +#include #include #include @@ -44,11 +44,6 @@ struct config { bool alpha_channel_enabled; - /* Position of the sensors list table */ - enum sensorlist_position sensorlist_position; - - bool window_decoration_enabled; - bool window_keep_below_enabled; bool window_restore_enabled; /* Last saved position of the window. */ int window_x; @@ -65,32 +60,26 @@ struct config { int sensor_values_max_length; int sensor_update_interval; - bool menu_bar_disabled; - - bool unity_launcher_count_disabled; - int hide_on_startup; - enum temperature_unit temperature_unit; - bool slog_enabled; int slog_interval; }; /* Loads psensor configuration */ -struct config *config_load(); +struct config *config_load(void); void config_save(const struct config *); -void config_cleanup(); +void config_cleanup(void); -struct color *config_get_sensor_color(const char *sid, const struct color *); -void config_set_sensor_color(const char *sid, const struct color *); +GdkRGBA *config_get_sensor_color(const char *); +void config_set_sensor_color(const char *, const GdkRGBA *); -int config_get_sensor_alarm_high_threshold(const char *); +bool config_get_sensor_alarm_high_threshold(const char *, double *); void config_set_sensor_alarm_high_threshold(const char *, int); -int config_get_sensor_alarm_low_threshold(const char *); +bool config_get_sensor_alarm_low_threshold(const char *, double *); void config_set_sensor_alarm_low_threshold(const char *, int); bool config_get_sensor_alarm_enabled(const char *); @@ -108,44 +97,64 @@ 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); -bool is_slog_enabled(); +bool is_slog_enabled(void); void config_set_slog_enabled_changed_cbk(void (*)(void *), void *); -int config_get_slog_interval(); +int config_get_slog_interval(void); -bool config_is_smooth_curves_enabled(); +bool config_is_smooth_curves_enabled(void); 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(); +char *config_get_notif_script(void); 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(); +bool config_is_lmsensor_enabled(void); void config_set_lmsensor_enable(bool); -bool config_is_gtop2_enabled(); +bool config_is_gtop2_enabled(void); void config_set_gtop2_enable(bool); -bool config_is_udisks2_enabled(); +bool config_is_udisks2_enabled(void); void config_set_udisks2_enable(bool); -bool config_is_hddtemp_enabled(); +bool config_is_hddtemp_enabled(void); void config_set_hddtemp_enable(bool); -bool config_is_libatasmart_enabled(); +bool config_is_libatasmart_enabled(void); void config_set_libatasmart_enable(bool); -bool config_is_nvctrl_enabled(); +bool config_is_nvctrl_enabled(void); void config_set_nvctrl_enable(bool); -bool config_is_atiadlsdk_enabled(); +bool config_is_atiadlsdk_enabled(void); void config_set_atiadlsdk_enable(bool); +enum temperature_unit config_get_temperature_unit(void); +void config_set_temperature_unit(enum temperature_unit); + +double config_get_default_high_threshold_temperature(void); + +bool config_is_window_decoration_enabled(void); +void config_set_window_decoration_enabled(bool); + +bool config_is_window_keep_below_enabled(void); +void config_set_window_keep_below_enabled(bool); + +bool config_is_menu_bar_enabled(void); +void config_set_menu_bar_enabled(bool); + +bool config_is_count_visible(void); +void config_set_count_visible(bool); + +enum sensorlist_position config_get_sensorlist_position(void); +void config_set_sensorlist_position(enum sensorlist_position pos); + /* * Returns the user directory containing psensor data (configuration * and log). @@ -153,10 +162,10 @@ void config_set_atiadlsdk_enable(bool); * Creates the directory if it does not exist; * Returns NULL if it cannot be determined. */ -const char *get_psensor_user_dir(); +const char *get_psensor_user_dir(void); -void config_sync(); +void config_sync(void); -GSettings *config_get_GSettings(); +GSettings *config_get_GSettings(void); #endif diff --git a/src/glade/Makefile.am b/src/glade/Makefile.am index 3f01895..5ac0bca 100644 --- a/src/glade/Makefile.am +++ b/src/glade/Makefile.am @@ -1,6 +1,7 @@ gladedir = $(pkgdatadir) glade_DATA = \ psensor.glade \ + psensor-appindicator.glade \ sensor-edit.glade \ psensor-pref.glade diff --git a/src/glade/Makefile.in b/src/glade/Makefile.in index 390d96e..d794b5b 100644 --- a/src/glade/Makefile.in +++ b/src/glade/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/glade +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(gladedir)" DATA = $(glade_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -309,6 +298,7 @@ top_srcdir = @top_srcdir@ gladedir = $(pkgdatadir) glade_DATA = \ psensor.glade \ + psensor-appindicator.glade \ sensor-edit.glade \ psensor-pref.glade @@ -328,6 +318,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/glade/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/glade/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -520,8 +511,6 @@ uninstall-am: uninstall-gladeDATA pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-gladeDATA -.PRECIOUS: Makefile - # 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/src/glade/psensor-appindicator.glade b/src/glade/psensor-appindicator.glade new file mode 100644 index 0000000..a503c87 --- /dev/null +++ b/src/glade/psensor-appindicator.glade @@ -0,0 +1,184 @@ + + + + + + About + + + + Preferences + Preferences + + + + Sensor Preferences + Sensor Preferences + + + + Preferences + + + + Quit + + + + Sensor Preferences + + + + True + False + + + PreferencesAction + True + False + True + True + + + + + SensorPreferencesAction + True + False + True + True + + + + + True + False + + + + + AboutAction + True + False + True + True + + + + + True + False + + + + + QuitAction + True + False + True + True + + + + + Show + + + + True + False + + + ShowAction + True + False + True + True + + + + + True + False + + + + + True + False + + + + + AppIndicatorPreferencesAction + True + False + True + True + + + + + AppIndicatorSensorPreferencesAction + True + False + True + True + + + + + True + False + + + + + AboutAction + True + False + True + True + + + + + True + False + + + + + QuitAction + True + False + True + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/glade/psensor-pref.glade b/src/glade/psensor-pref.glade index 54b1ee1..4c76882 100644 --- a/src/glade/psensor-pref.glade +++ b/src/glade/psensor-pref.glade @@ -1,5 +1,5 @@ - + @@ -133,12 +133,12 @@ 4 0 True + 0 0 2 - 1 @@ -153,12 +153,12 @@ 4 0 True + 0 1 2 - 1 @@ -173,12 +173,12 @@ 4 0 True + 0 2 2 - 1 @@ -187,18 +187,19 @@ True True False + Psensor has not been build with Unity Launcher support 4 4 4 4 0 True + 0 3 2 - 1 @@ -214,12 +215,11 @@ Celsius Fahrenheit + 1 4 - 1 - 1 @@ -233,6 +233,7 @@ 4 position_list_store 0 + @@ -243,8 +244,6 @@ 1 5 - 1 - 1 @@ -262,7 +261,6 @@ 0 4 2 - 1 @@ -279,8 +277,6 @@ 0 5 - 1 - 1 @@ -324,8 +320,6 @@ 0 0 - 1 - 1 @@ -344,8 +338,6 @@ 0 1 - 1 - 1 @@ -364,8 +356,6 @@ 0 2 - 1 - 1 @@ -412,8 +402,6 @@ 1 3 - 1 - 1 @@ -430,8 +418,6 @@ 0 3 - 1 - 1 @@ -448,8 +434,6 @@ 0 4 - 1 - 1 @@ -466,8 +450,6 @@ 1 4 - 1 - 1 @@ -484,8 +466,6 @@ 0 5 - 1 - 1 @@ -506,7 +486,6 @@ 0 2 2 - 1 @@ -523,8 +502,6 @@ 0 7 - 1 - 1 @@ -541,8 +518,6 @@ 0 8 - 1 - 1 @@ -563,7 +538,6 @@ 0 6 2 - 1 @@ -621,8 +595,6 @@ 1 5 - 1 - 1 @@ -673,8 +645,6 @@ 1 8 - 1 - 1 @@ -725,8 +695,6 @@ 1 7 - 1 - 1 @@ -746,7 +714,6 @@ 0 1 2 - 1 @@ -768,7 +735,6 @@ 0 0 2 - 1 @@ -816,8 +782,6 @@ 0 0 - 1 - 1 @@ -836,8 +800,6 @@ 1 0 - 1 - 1 @@ -853,8 +815,6 @@ 2 0 - 1 - 1 @@ -875,7 +835,6 @@ 0 1 3 - 1 @@ -893,8 +852,6 @@ 1 2 - 1 - 1 @@ -911,8 +868,6 @@ 0 2 - 1 - 1 @@ -923,13 +878,11 @@ 4 4 4 - seconds(s) + second(s) 2 2 - 1 - 1 @@ -945,8 +898,6 @@ 0 3 - 1 - 1 @@ -964,7 +915,6 @@ 1 3 2 - 1 @@ -1013,8 +963,6 @@ 0 1 - 1 - 1 @@ -1023,6 +971,7 @@ True True False + Psensor has not been build with NVCtrl support 14 4 4 @@ -1033,8 +982,6 @@ 0 3 - 1 - 1 @@ -1043,6 +990,7 @@ True True False + Psensor has not been build with ATI ADL support 14 4 4 @@ -1053,8 +1001,6 @@ 0 4 - 1 - 1 @@ -1063,6 +1009,7 @@ True True False + Psensor has not been build with gtop2 support 14 4 4 @@ -1073,8 +1020,6 @@ 0 6 - 1 - 1 @@ -1093,8 +1038,6 @@ 0 8 - 1 - 1 @@ -1103,6 +1046,7 @@ True True False + Psensor has not been build with libatasmart support 14 4 4 @@ -1113,8 +1057,6 @@ 0 9 - 1 - 1 @@ -1123,6 +1065,7 @@ True True False + Psensor has not been build with udisks2 support 14 4 4 @@ -1133,8 +1076,6 @@ 0 10 - 1 - 1 @@ -1154,8 +1095,6 @@ 0 11 - 1 - 1 @@ -1177,8 +1116,6 @@ 0 7 - 1 - 1 @@ -1200,8 +1137,6 @@ 0 5 - 1 - 1 @@ -1223,8 +1158,6 @@ 0 2 - 1 - 1 @@ -1246,8 +1179,6 @@ 0 0 - 1 - 1 diff --git a/src/glade/psensor.glade b/src/glade/psensor.glade index 565d2dd..dbee7ef 100644 --- a/src/glade/psensor.glade +++ b/src/glade/psensor.glade @@ -6,16 +6,6 @@ About - - Preferences - Preferences - - - - Sensor Preferences - Sensor Preferences - - Preferences @@ -80,83 +70,6 @@ - - Show - - - - True - False - - - ShowAction - True - False - True - True - - - - - True - False - - - - - True - False - - - - - AppIndicatorPreferencesAction - True - False - True - True - - - - - AppIndicatorSensorPreferencesAction - True - False - True - True - - - - - True - False - - - - - AboutAction - True - False - True - True - - - - - True - False - - - - - QuitAction - True - False - True - True - - - diff --git a/src/glade/sensor-edit.glade b/src/glade/sensor-edit.glade index 167c9eb..69ef482 100644 --- a/src/glade/sensor-edit.glade +++ b/src/glade/sensor-edit.glade @@ -42,12 +42,14 @@ False end - - gtk-ok + + gtk-close True True + True True True + False @@ -55,20 +57,6 @@ 0 - - - gtk-cancel - True - True - True - True - - - False - False - 1 - - False @@ -100,7 +88,9 @@ True 1 - + + + @@ -240,6 +230,10 @@ True False + 4 + 4 + 4 + 4 0 4 Name: @@ -289,6 +283,80 @@ 1 + + + True + False + 4 + 4 + 4 + 4 + 0 + 4 + Min: + + + 0 + 4 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + 4 + Max: + + + 0 + 5 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + label + + + 1 + 4 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + label + + + 1 + 5 + 1 + 1 + + @@ -630,6 +698,7 @@ True True False + Psensor has not been build with AppIndicator support 4 4 4 @@ -651,6 +720,7 @@ True True False + Psensor has not been build with AppIndicator support 4 4 4 @@ -702,8 +772,7 @@ - btn_ok - btn_cancel + btn_close diff --git a/src/graph.c b/src/graph.c index 60392cc..71090aa 100644 --- a/src/graph.c +++ b/src/graph.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -27,13 +27,15 @@ #include #include +#include +#include #include #include /* horizontal padding */ -const int GRAPH_H_PADDING = 4; +static const int GRAPH_H_PADDING = 4; /* vertical padding */ -const int GRAPH_V_PADDING = 4; +static const int GRAPH_V_PADDING = 4; bool is_smooth_curves_enabled; @@ -72,6 +74,29 @@ static void update_theme(GtkWidget *w) &theme_fg_color); } +static struct psensor **list_filter_graph_enabled(struct psensor **sensors) +{ + int n, i; + struct psensor **result, **cur, *s; + + if (!sensors) + return NULL; + + n = psensor_list_size(sensors); + result = malloc((n+1) * sizeof(struct psensor *)); + + for (cur = sensors, i = 0; *cur; cur++) { + s = *cur; + + if (config_is_sensor_graph_enabled(s->id)) + result[i++] = s; + } + + result[i] = NULL; + + return result; +} + /* 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 @@ -223,7 +248,7 @@ static double dashes[] = { 1.0, /* ink */ 2.0, /* skip */ }; -static int ndash = sizeof(dashes) / sizeof(dashes[0]); +static int ndash = ARRAY_SIZE(dashes); static void draw_background_lines(cairo_t *cr, int min, int max, @@ -265,7 +290,7 @@ static void draw_background_lines(cairo_t *cr, cairo_stroke(cr); /* back to normal line style */ - cairo_set_dash(cr, 0, 0, 0); + cairo_set_dash(cr, NULL, 0, 0); } /* Keys: sensor identifier. @@ -286,6 +311,7 @@ static void draw_sensor_smooth_curve(struct psensor *s, int i, dt, vdt, j, k, found; double x[4], y[4], v; time_t t, t0, *stimes; + GdkRGBA *color; if (!times) times = g_hash_table_new_full(g_str_hash, @@ -295,15 +321,19 @@ static void draw_sensor_smooth_curve(struct psensor *s, stimes = g_hash_table_lookup(times, s->id); + color = config_get_sensor_color(s->id); + cairo_set_source_rgb(cr, - s->color->red, - s->color->green, - s->color->blue); + color->red, + color->green, + color->blue); + gdk_rgba_free(color); /* 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. */ + * of the graph. + */ i = 0; if (stimes) { while (i < s->values_max_length) { @@ -388,11 +418,14 @@ static void draw_sensor_curve(struct psensor *s, { int first, i, t, dt, vdt; double v, x, y; + GdkRGBA *color; + color = config_get_sensor_color(s->id); cairo_set_source_rgb(cr, - s->color->red, - s->color->green, - s->color->blue); + color->red, + color->green, + color->blue); + gdk_rgba_free(color); dt = et - bt; first = 1; @@ -448,14 +481,13 @@ graph_update(struct psensor **sensors, 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; + int g_xoff, g_yoff, no_graphs, use_celsius; cairo_surface_t *cst; cairo_t *cr, *cr_pixmap; char *str_btime, *str_etime; cairo_text_extents_t te_btime, te_etime, te_max, te_min; struct psensor **sensor_cur, **enabled_sensors; GtkAllocation galloc; - GtkStyleContext *style_ctx; struct graph_info info; if (!gtk_widget_is_drawable(w_graph)) @@ -464,20 +496,21 @@ graph_update(struct psensor **sensors, if (!style) update_theme(window); - enabled_sensors = psensor_list_filter_graph_enabled(sensors); + enabled_sensors = list_filter_graph_enabled(sensors); min_rpm = get_min_rpm(enabled_sensors); max_rpm = get_max_rpm(enabled_sensors); + if (config_get_temperature_unit() == CELSIUS) + use_celsius = 1; + else + use_celsius = 0; + mint = get_min_temp(enabled_sensors); - strmin = psensor_value_to_str(SENSOR_TYPE_TEMP, - mint, - config->temperature_unit == CELSIUS); + strmin = psensor_value_to_str(SENSOR_TYPE_TEMP, mint, use_celsius); maxt = get_max_temp(enabled_sensors); - strmax = psensor_value_to_str(SENSOR_TYPE_TEMP, - maxt, - config->temperature_unit == CELSIUS); + strmax = psensor_value_to_str(SENSOR_TYPE_TEMP, maxt, use_celsius); et = get_graph_end_time_s(enabled_sensors); bt = get_graph_begin_time_s(config, et); diff --git a/src/graph.h b/src/graph.h index 7dae2c1..236b4ea 100644 --- a/src/graph.h +++ b/src/graph.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 6bf03c3..6c4dd7c 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -5,20 +5,28 @@ libpsensor_a_SOURCES = \ bool.h\ color.h color.c\ hdd.h hdd_hddtemp.c\ - lmsensor.h lmsensor.c\ - measure.h measure.c \ + lmsensor.h\ + measure.h measure.c\ nvidia.h\ + parray.h\ + pgtop2.h\ plog.h plog.c\ pmutex.h pmutex.c\ psensor.h psensor.c\ ptime.h ptime.c\ pio.h pio.c\ + pudisks2.h\ slog.c slog.h\ temperature.c temperature.h\ url.c url.h AM_CPPFLAGS = -Wall -Werror +if SENSORS +libpsensor_a_SOURCES += lmsensor.c +LIBS += $(SENSORS_LIBS) +endif + if ATASMART libpsensor_a_SOURCES += hdd_atasmart.c LIBS += $(ATASMART_LIBS) @@ -36,7 +44,7 @@ libpsensor_a_SOURCES += amd.c endif if GTOP -libpsensor_a_SOURCES += pgtop2.c pgtop2.h +libpsensor_a_SOURCES += pgtop2.c LIBS += $(GTOP_LIBS) AM_CPPFLAGS += $(GTOP_CFLAGS) endif @@ -48,13 +56,15 @@ AM_CPPFLAGS += $(JSON_CFLAGS) endif if LIBUDISKS2 -libpsensor_a_SOURCES += pudisks2.c pudisks2.h +libpsensor_a_SOURCES += pudisks2.c LIBS += $(LIBUDISKS2_LIBS) AM_CPPFLAGS += $(LIBUDISKS2_CFLAGS) endif EXTRA_DIST=$(libpsensor_a_SOURCES) \ amd.c \ - pgtop2.c pgtop2.h \ + pgtop2.c \ + lmsensor.c \ nvidia.c \ - pudisks2.c pudisks2.h + psensor_json.h psensor_json.c \ + pudisks2.c diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in index 0fb913c..b3c3450 100644 --- a/src/lib/Makefile.in +++ b/src/lib/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -88,28 +78,35 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@ATASMART_TRUE@am__append_1 = hdd_atasmart.c -@ATASMART_TRUE@am__append_2 = $(ATASMART_LIBS) -@ATASMART_TRUE@am__append_3 = $(ATASMART_CFLAGS) -@NVIDIA_TRUE@am__append_4 = nvidia.c -@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 = 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) +@SENSORS_TRUE@am__append_1 = lmsensor.c +@SENSORS_TRUE@am__append_2 = $(SENSORS_LIBS) +@ATASMART_TRUE@am__append_3 = hdd_atasmart.c +@ATASMART_TRUE@am__append_4 = $(ATASMART_LIBS) +@ATASMART_TRUE@am__append_5 = $(ATASMART_CFLAGS) +@NVIDIA_TRUE@am__append_6 = nvidia.c +@LIBATIADL_TRUE@am__append_7 = $(LIBATIADL_LIBS) +@LIBATIADL_TRUE@am__append_8 = $(LIBATIADL_CFLAGS) +@LIBATIADL_TRUE@am__append_9 = amd.c +@GTOP_TRUE@am__append_10 = pgtop2.c +@GTOP_TRUE@am__append_11 = $(GTOP_LIBS) +@GTOP_TRUE@am__append_12 = $(GTOP_CFLAGS) +@JSON_TRUE@am__append_13 = psensor_json.h psensor_json.c +@JSON_TRUE@am__append_14 = $(JSON_LIBS) +@JSON_TRUE@am__append_15 = $(JSON_CFLAGS) +@LIBUDISKS2_TRUE@am__append_16 = pudisks2.c +@LIBUDISKS2_TRUE@am__append_17 = $(LIBUDISKS2_LIBS) +@LIBUDISKS2_TRUE@am__append_18 = $(LIBUDISKS2_CFLAGS) subdir = src/lib +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -123,25 +120,25 @@ 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 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 = pgtop2.$(OBJEXT) -@JSON_TRUE@am__objects_5 = psensor_json.$(OBJEXT) -@LIBUDISKS2_TRUE@am__objects_6 = pudisks2.$(OBJEXT) + hdd_hddtemp.c lmsensor.h measure.h measure.c nvidia.h parray.h \ + pgtop2.h plog.h plog.c pmutex.h pmutex.c psensor.h psensor.c \ + ptime.h ptime.c pio.h pio.c pudisks2.h slog.c slog.h \ + temperature.c temperature.h url.c url.h lmsensor.c \ + hdd_atasmart.c nvidia.c amd.c pgtop2.c psensor_json.h \ + psensor_json.c pudisks2.c +@SENSORS_TRUE@am__objects_1 = lmsensor.$(OBJEXT) +@ATASMART_TRUE@am__objects_2 = hdd_atasmart.$(OBJEXT) +@NVIDIA_TRUE@am__objects_3 = nvidia.$(OBJEXT) +@LIBATIADL_TRUE@am__objects_4 = amd.$(OBJEXT) +@GTOP_TRUE@am__objects_5 = pgtop2.$(OBJEXT) +@JSON_TRUE@am__objects_6 = psensor_json.$(OBJEXT) +@LIBUDISKS2_TRUE@am__objects_7 = pudisks2.$(OBJEXT) am_libpsensor_a_OBJECTS = color.$(OBJEXT) hdd_hddtemp.$(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_6) + 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_6) $(am__objects_7) libpsensor_a_OBJECTS = $(am_libpsensor_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -197,7 +194,6 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -227,7 +223,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -258,8 +253,8 @@ LIBMICROHTTPD_LIBS = @LIBMICROHTTPD_LIBS@ 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_15) +LIBS = @LIBS@ $(am__append_2) $(am__append_4) $(am__append_7) \ + $(am__append_11) $(am__append_14) $(am__append_17) LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ @@ -287,7 +282,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@ @@ -302,7 +296,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@ @@ -348,7 +341,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -359,19 +351,21 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libpsensor.a 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) \ + hdd_hddtemp.c lmsensor.h measure.h measure.c nvidia.h parray.h \ + pgtop2.h plog.h plog.c pmutex.h pmutex.c psensor.h psensor.c \ + ptime.h ptime.c pio.h pio.c pudisks2.h slog.c slog.h \ + temperature.c temperature.h url.c url.h $(am__append_1) \ + $(am__append_3) $(am__append_6) $(am__append_9) \ $(am__append_10) $(am__append_13) $(am__append_16) +AM_CPPFLAGS = -Wall -Werror $(am__append_5) $(am__append_8) \ + $(am__append_12) $(am__append_15) $(am__append_18) EXTRA_DIST = $(libpsensor_a_SOURCES) \ amd.c \ - pgtop2.c pgtop2.h \ + pgtop2.c \ + lmsensor.c \ nvidia.c \ - pudisks2.c pudisks2.h + psensor_json.h psensor_json.c \ + pudisks2.c all: all-am @@ -389,6 +383,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/lib/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -654,8 +649,6 @@ uninstall-am: mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am -.PRECIOUS: Makefile - # 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/src/lib/amd.c b/src/lib/amd.c index c2ec5eb..72a807e 100644 --- a/src/lib/amd.c +++ b/src/lib/amd.c @@ -77,7 +77,7 @@ 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)) + if (adl_od5_temperature_get(sensor->amd_id, 0, &v) == ADL_OK) return v.iTemperature/1000; return UNKNOWN_DBL_VALUE; @@ -91,7 +91,7 @@ static double get_fanspeed(struct psensor *sensor) v.iSpeedType = ADL_DL_FANCTRL_SPEED_TYPE_RPM; v.iFanSpeed = -1; - if (ADL_OK == adl_od5_fanspeed_get(sensor->amd_id, 0, &v)) + if (adl_od5_fanspeed_get(sensor->amd_id, 0, &v) == ADL_OK) return v.iFanSpeed; return UNKNOWN_DBL_VALUE; @@ -103,7 +103,7 @@ static double get_usage(struct psensor *sensor) v.iSize = sizeof(ADLPMActivity); - if (ADL_OK == adl_od5_currentactivity_get(sensor->amd_id, &v)) + if (adl_od5_currentactivity_get(sensor->amd_id, &v) == ADL_OK) return v.iActivityPercent; return UNKNOWN_DBL_VALUE; @@ -152,11 +152,11 @@ static struct psensor *create_sensor(int id, int type, int values_len) } /* - Returns the number of active AMD/ATI GPU adapters - - Return 0 if no AMD/ATI GPUs or cannot get information. -*/ -static int init() + * Returns the number of active AMD/ATI GPU adapters + * + * Return 0 if no AMD/ATI GPUs or cannot get information. + */ +static int init(void) { LPAdapterInfo lpadapterinfo; int i, inumberadapters, inumberadaptersactive, lpstatus, iadapterindex; @@ -200,17 +200,17 @@ static int init() } /* - 1 in 2nd parameter means retrieve adapter information only - for adapters that are physically present and enabled in the - system + * 1 in 2nd parameter means retrieve adapter information only + * for adapters that are physically present and enabled in the + * system */ - if (ADL_OK != adl_main_control_create(adl_main_memory_alloc, 1)) { + if (adl_main_control_create(adl_main_memory_alloc, 1) != ADL_OK) { log_err(_("AMD: failed to initialize ADL.")); return 0; } adl_main_control_done = 1; - if (ADL_OK != adl_adapter_numberofadapters_get(&inumberadapters)) { + if (adl_adapter_numberofadapters_get(&inumberadapters) != ADL_OK) { log_err(_("AMD: cannot get the number of adapters.")); return 0; } @@ -228,7 +228,7 @@ static int init() iadapterindex = lpadapterinfo[i].iAdapterIndex; - if (ADL_OK != adl_adapter_active_get(iadapterindex, &lpstatus)) + if (adl_adapter_active_get(iadapterindex, &lpstatus) != ADL_OK) continue; if (lpstatus != ADL_TRUE) continue; @@ -295,7 +295,7 @@ void amd_psensor_list_append(struct psensor ***sensors, int values_len) } } -void amd_cleanup() +void amd_cleanup(void) { if (hdll) { if (adl_main_control_done) diff --git a/src/lib/amd.h b/src/lib/amd.h index d7dde40..682f8eb 100644 --- a/src/lib/amd.h +++ b/src/lib/amd.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2010-2011 thgreasi@gmail.com, jeanfi@gmail.com - * Copyright (C) 2012-2014 jeanfi@gmail.com + * Copyright (C) 2012-2016 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 @@ -20,12 +20,25 @@ #ifndef _PSENSOR_AMD_H_ #define _PSENSOR_AMD_H_ -#include "psensor.h" +#include +#include -void amd_psensor_list_update(struct psensor **sensors); +#if defined(HAVE_LIBATIADL) && HAVE_LIBATIADL -void amd_psensor_list_append(struct psensor ***sensors, int values_max_length); +static inline bool amd_is_supported(void) { return true; } -void amd_cleanup(); +void amd_psensor_list_update(struct psensor **s); +void amd_psensor_list_append(struct psensor ***s, int n); +void amd_cleanup(void); + +#else + +static inline bool amd_is_supported(void) { return false; } + +static inline void amd_psensor_list_update(struct psensor **s) {} +static inline void amd_psensor_list_append(struct psensor ***s, int n) {} +static inline void amd_cleanup(void) {} + +#endif #endif diff --git a/src/lib/bool.h b/src/lib/bool.h index c31360d..c2ad205 100644 --- a/src/lib/bool.h +++ b/src/lib/bool.h @@ -21,7 +21,7 @@ #include "config.h" -#if HAVE_STDBOOL +#if HAVE_STDBOOL_H #include #else #define bool char diff --git a/src/lib/color.c b/src/lib/color.c index 8474c72..6ec2ec6 100644 --- a/src/lib/color.c +++ b/src/lib/color.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/color.h b/src/lib/color.h index 2956654..7636b65 100644 --- a/src/lib/color.h +++ b/src/lib/color.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/hdd.h b/src/lib/hdd.h index 8d4c316..c24ceb5 100644 --- a/src/lib/hdd.h +++ b/src/lib/hdd.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,12 +19,24 @@ #ifndef _PSENSOR_HDD_H_ #define _PSENSOR_HDD_H_ -#include "config.h" -#include "psensor.h" +#include +#include +#include + +#if defined(HAVE_ATASMART) && HAVE_ATASMART + +static inline bool atasmart_is_supported(void) { return true; } + +void atasmart_psensor_list_append(struct psensor ***, int); +void atasmart_psensor_list_update(struct psensor **); + +#else + +static inline bool atasmart_is_supported(void) { return false; } + +static inline void atasmart_psensor_list_append(struct psensor ***s, int n) {} +static inline void atasmart_psensor_list_update(struct psensor **s) {} -#ifdef HAVE_ATASMART -void atasmart_psensor_list_append(struct psensor ***sensors, int values_length); -void atasmart_psensor_list_update(struct psensor **sensors); #endif void hddtemp_psensor_list_append(struct psensor ***sensors, int values_length); diff --git a/src/lib/hdd_atasmart.c b/src/lib/hdd_atasmart.c index 0fd7d5d..402c92e 100644 --- a/src/lib/hdd_atasmart.c +++ b/src/lib/hdd_atasmart.c @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -46,6 +47,16 @@ static int filter_sd(const char *p) return strlen(p) == 8 && !strncmp(p, "/dev/sd", 7); } +static void provider_data_free(void *data) +{ + sk_disk_free((SkDisk *)data); +} + +static SkDisk *get_disk(struct psensor *s) +{ + return (SkDisk *)s->provider_data; +} + static struct psensor * create_sensor(char *id, char *name, SkDisk *disk, int values_max_length) { @@ -60,7 +71,8 @@ create_sensor(char *id, char *name, SkDisk *disk, int values_max_length) t, values_max_length); - s->disk = disk; + s->provider_data = disk; + s->provider_data_free_fct = &provider_data_free; return s; } @@ -158,16 +170,22 @@ void atasmart_psensor_list_update(struct psensor **sensors) uint64_t kelvin; int ret; double c; + SkDisk *disk; + + if (!sensors) + return; cur = sensors; while (*cur) { s = *cur; if (!(s->type & SENSOR_TYPE_REMOTE) && s->type & SENSOR_TYPE_ATASMART) { - ret = sk_disk_smart_read_data(s->disk); + disk = get_disk(s); + + ret = sk_disk_smart_read_data(disk); if (!ret) { - ret = sk_disk_smart_get_temperature(s->disk, + ret = sk_disk_smart_get_temperature(disk, &kelvin); if (!ret) { diff --git a/src/lib/hdd_hddtemp.c b/src/lib/hdd_hddtemp.c index 39c00c6..68797e1 100644 --- a/src/lib/hdd_hddtemp.c +++ b/src/lib/hdd_hddtemp.c @@ -48,7 +48,7 @@ struct hdd_info { int temp; }; -static char *fetch() +static char *fetch(void) { int sockfd, output_length; ssize_t n = 1; diff --git a/src/lib/lmsensor.c b/src/lib/lmsensor.c index baa97ef..6f3845d 100644 --- a/src/lib/lmsensor.c +++ b/src/lib/lmsensor.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -27,12 +27,41 @@ #include #include -#include +#include static int init_done; static const char *PROVIDER_NAME = "lmsensor"; +struct lmsensor_data { + const sensors_chip_name *chip; + + const sensors_feature *feature; +}; + +static const sensors_chip_name *get_chip_name(struct psensor *s) +{ + return ((struct lmsensor_data *)s->provider_data)->chip; +} + +static const sensors_feature *get_feature(struct psensor *s) +{ + return ((struct lmsensor_data *)s->provider_data)->feature; +} + +static void lmsensor_data_set(struct psensor *s, + const struct sensors_chip_name *chip, + const struct sensors_feature *feature) +{ + struct lmsensor_data *data; + + data = malloc(sizeof(struct lmsensor_data)); + data->chip = chip; + data->feature = feature; + + s->provider_data = data; +} + static double get_value(const sensors_chip_name *name, const sensors_subfeature *sub) { @@ -58,10 +87,10 @@ static double get_temp_input(struct psensor *sensor) const sensors_feature *feature; - chip = sensor->iname; - feature = sensor->feature; + chip = get_chip_name(sensor); + feature = get_feature(sensor); - sf = sensors_get_subfeature(sensor->iname, + sf = sensors_get_subfeature(chip, feature, SENSORS_SUBFEATURE_TEMP_INPUT); if (sf) @@ -72,11 +101,14 @@ static double get_temp_input(struct psensor *sensor) static double get_fan_input(struct psensor *sensor) { - const sensors_chip_name *chip = sensor->iname; - const sensors_feature *feature = sensor->feature; + const sensors_chip_name *chip; + const sensors_feature *feature; const sensors_subfeature *sf; + chip = get_chip_name(sensor); + feature = get_feature(sensor); + sf = sensors_get_subfeature(chip, feature, SENSORS_SUBFEATURE_FAN_INPUT); @@ -92,7 +124,7 @@ void lmsensor_psensor_list_update(struct psensor **sensors) struct psensor *s; double v; - if (!init_done) + if (!init_done || !sensors) return; while (*sensors) { @@ -124,15 +156,20 @@ lmsensor_psensor_create(const sensors_chip_name *chip, int type; char *id, *label, *cname; struct psensor *psensor; - sensors_subfeature_type fault_subfeature; + sensors_subfeature_type fault_subfeature, min_subfeature, + max_subfeature; if (sensors_snprintf_chip_name(name, 200, chip) < 0) return NULL; if (feature->type == SENSORS_FEATURE_TEMP) { fault_subfeature = SENSORS_SUBFEATURE_TEMP_FAULT; + max_subfeature = SENSORS_SUBFEATURE_TEMP_MAX; + min_subfeature = SENSORS_SUBFEATURE_TEMP_MIN; } else if (feature->type == SENSORS_FEATURE_FAN) { fault_subfeature = SENSORS_SUBFEATURE_FAN_FAULT; + max_subfeature = SENSORS_SUBFEATURE_FAN_MAX; + min_subfeature = SENSORS_SUBFEATURE_FAN_MIN; } else { log_err(_("%s: Wrong feature type."), PROVIDER_NAME); return NULL; @@ -179,8 +216,15 @@ lmsensor_psensor_create(const sensors_chip_name *chip, psensor = psensor_create(id, label, cname, type, values_max_length); - psensor->iname = chip; - psensor->feature = feature; + sf = sensors_get_subfeature(chip, feature, max_subfeature); + if (sf) + psensor->max = get_value(chip, sf); + + sf = sensors_get_subfeature(chip, feature, min_subfeature); + if (sf) + psensor->min = get_value(chip, sf); + + lmsensor_data_set(psensor, chip, feature); if (feature->type == SENSORS_FEATURE_TEMP && (get_temp_input(psensor) == UNKNOWN_DBL_VALUE)) { @@ -191,7 +235,7 @@ lmsensor_psensor_create(const sensors_chip_name *chip, return psensor; } -void lmsensor_init() +static void lmsensor_init(void) { int err; @@ -237,7 +281,7 @@ void lmsensor_psensor_list_append(struct psensor ***sensors, int vn) } } -void lmsensor_cleanup() +void lmsensor_cleanup(void) { if (init_done) sensors_cleanup(); diff --git a/src/lib/lmsensor.h b/src/lib/lmsensor.h index 341863d..90d58f3 100644 --- a/src/lib/lmsensor.h +++ b/src/lib/lmsensor.h @@ -19,10 +19,25 @@ #ifndef _PSENSOR_LMSENSOR_H_ #define _PSENSOR_LMSENSOR_H_ -void lmsensor_psensor_list_update(struct psensor **sensors); +#include +#include -void lmsensor_psensor_list_append(struct psensor ***sensors, int values_length); +#if defined(HAVE_LIBSENSORS) && HAVE_LIBSENSORS -void lmsensor_cleanup(); +static inline bool lmsensor_is_supported(void) { return true; } + +void lmsensor_psensor_list_update(struct psensor **); +void lmsensor_psensor_list_append(struct psensor ***, int); +void lmsensor_cleanup(void); + +#else + +static inline bool lmsensor_is_supported(void) { return false; } + +static inline void lmsensor_psensor_list_update(struct psensor **s) {} +static inline void lmsensor_psensor_list_append(struct psensor ***s, int n) {} +static inline void lmsensor_cleanup(void) {} + +#endif #endif diff --git a/src/lib/measure.h b/src/lib/measure.h index c9cdb64..9bf848b 100644 --- a/src/lib/measure.h +++ b/src/lib/measure.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/nvidia.c b/src/lib/nvidia.c index b77517b..685f97d 100644 --- a/src/lib/nvidia.c +++ b/src/lib/nvidia.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -31,12 +31,23 @@ #include #include +#include #include -Display *display; +static Display *display; static const char *PROVIDER_NAME = "nvctrl"; +static void set_nvidia_id(struct psensor *s, int id) +{ + *(int *)s->provider_data = id; +} + +static int get_nvidia_id(struct psensor *s) +{ + return *(int *)s->provider_data; +} + static char *get_product_name(int id, int type) { char *name; @@ -219,15 +230,18 @@ static double get_value(int id, int type) static void update(struct psensor *sensor) { double v; + int id; + + id = get_nvidia_id(sensor); - v = get_value(sensor->nvidia_id, sensor->type); + v = get_value(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); + id); psensor_set_current_value(sensor, v); } @@ -242,7 +256,8 @@ static char *i2str(int i) size_t n; /* second +1 to avoid issue about the conversion of a double - * to a lower int */ + * to a lower int + */ n = 1 + (ceil(log10(INT_MAX)) + 1) + 1; str = malloc(n); @@ -258,6 +273,7 @@ static struct psensor *create_nvidia_sensor(int id, int subtype, int value_len) int type; size_t n; struct psensor *s; + double v; type = SENSOR_TYPE_NVCTRL | subtype; @@ -276,14 +292,22 @@ static struct psensor *create_nvidia_sensor(int id, int subtype, int value_len) sprintf(sid, "%s %s", PROVIDER_NAME, name); s = psensor_create(sid, name, pname, type, value_len); - s->nvidia_id = id; + s->provider_data = malloc(sizeof(int)); + set_nvidia_id(s, id); + + if ((type & SENSOR_TYPE_GPU) && (type & SENSOR_TYPE_TEMP)) { + v = get_att(NV_CTRL_TARGET_TYPE_GPU, + id, + NV_CTRL_GPU_CORE_THRESHOLD); + s->max = v; + } free(strnid); return s; } -static int init() +static int init(void) { int evt, err; @@ -372,7 +396,7 @@ void nvidia_psensor_list_append(struct psensor ***ss, int values_len) } } -void nvidia_cleanup() +void nvidia_cleanup(void) { if (display) { XCloseDisplay(display); diff --git a/src/lib/nvidia.h b/src/lib/nvidia.h index a94d72e..cf7f074 100644 --- a/src/lib/nvidia.h +++ b/src/lib/nvidia.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,12 +19,26 @@ #ifndef _PSENSOR_NVIDIA_H_ #define _PSENSOR_NVIDIA_H_ +#include #include -void nvidia_psensor_list_update(struct psensor **sensors); -void nvidia_psensor_list_append(struct psensor ***sensors, int values_length); +#if defined(HAVE_NVIDIA) && HAVE_NVIDIA -void nvidia_cleanup(); +static inline bool nvidia_is_supported(void) { return true; } + +void nvidia_psensor_list_update(struct psensor **); +void nvidia_psensor_list_append(struct psensor ***, int); +void nvidia_cleanup(void); + +#else + +static inline bool nvidia_is_supported(void) { return false; } + +static inline void nvidia_psensor_list_update(struct psensor **s) {} +static inline void nvidia_psensor_list_append(struct psensor ***s, int n) {} +static inline void nvidia_cleanup(void) {} + +#endif #endif diff --git a/src/lib/parray.h b/src/lib/parray.h new file mode 100644 index 0000000..4b02c17 --- /dev/null +++ b/src/lib/parray.h @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2016 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_ARRAY_H_ +#define _P_ARRAY_H_ + +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) + +#endif diff --git a/src/lib/pgtop2.c b/src/lib/pgtop2.c index a25c705..ff0e28d 100644 --- a/src/lib/pgtop2.c +++ b/src/lib/pgtop2.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -66,7 +66,7 @@ static struct psensor *create_mem_free_sensor(int measures_len) measures_len); } -static double get_usage() +static double get_usage(void) { glibtop_cpu cpu; unsigned long int used, dt; @@ -89,7 +89,7 @@ static double get_usage() return cpu_rate; } -static double get_mem_free() +static double get_mem_free(void) { glibtop_mem mem; double v; @@ -116,7 +116,7 @@ void cpu_usage_sensor_update(struct psensor *s) psensor_set_current_value(s, v); } -void mem_free_sensor_update(struct psensor *s) +static void mem_free_sensor_update(struct psensor *s) { double v; diff --git a/src/lib/pgtop2.h b/src/lib/pgtop2.h index c7c3968..e24ef50 100644 --- a/src/lib/pgtop2.h +++ b/src/lib/pgtop2.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,13 +19,29 @@ #ifndef _PSENSOR_PGTOP2_H_ #define _PSENSOR_PGTOP2_H_ +#include #include -struct psensor *create_cpu_usage_sensor(int measures_len); +#if defined(HAVE_GTOP) && HAVE_GTOP + +static inline bool gtop2_is_supported(void) { return true; } + +struct psensor *create_cpu_usage_sensor(int); void cpu_usage_sensor_update(struct psensor *); void gtop2_psensor_list_update(struct psensor **); +void gtop2_psensor_list_append(struct psensor ***, int); + +#else + +static inline bool gtop2_is_supported(void) { return false; } -void gtop2_psensor_list_append(struct psensor ***sensors, int values_max_len); +static inline struct psensor *create_cpu_usage_sensor(int n) { return NULL; } +static inline void cpu_usage_sensor_update(struct psensor *s) {} + +static inline void gtop2_psensor_list_update(struct psensor **s) {} +static inline void gtop2_psensor_list_append(struct psensor ***s, int n) {} + +#endif #endif diff --git a/src/lib/pio.c b/src/lib/pio.c index 217349b..ef0c901 100644 --- a/src/lib/pio.c +++ b/src/lib/pio.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -30,7 +30,8 @@ #include /* Directory separator is \ when cross-compiling for MS Windows - systems */ + * systems + */ #if defined(__MINGW32__) #define DIRSEP ('\\') #else @@ -63,7 +64,7 @@ int is_file(const char *path) return 0; } -char *dir_normalize(const char *dpath) +static char *dir_normalize(const char *dpath) { char *npath; int n; diff --git a/src/lib/pio.h b/src/lib/pio.h index 385ad33..13eb70e 100644 --- a/src/lib/pio.h +++ b/src/lib/pio.h @@ -1,56 +1,58 @@ /* - 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 -*/ + * Copyright (C) 2010-2016 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_IO_H #define _P_IO_H -#define P_IO_VER 4 +#define P_IO_VER 6 /* Returns '1' if a given 'path' denotates a directory else returns - 0 */ + * 0 + */ int is_dir(const char *path); /* Returns '1' if a given 'path' denotates a file else returns - 0 */ + * 0 + */ int is_file(const char *path); -/* Returns a normalized path */ +/* Returns a normalized path */ char *path_normalize(const char *dpath); -/* Returns the null-terminated entries of a directory */ +/* Returns the null-terminated entries of a directory */ char **dir_list(const char *dpath, int (*filter) (const char *path)); void paths_free(char **paths); char *path_append(const char *dir, const char *path); /* - Returns the size of a file. - Returns '-1' if the size cannot be retrieved or not a file. -*/ + * Returns the size of a file. + * Returns '-1' if the size cannot be retrieved or not a file. + */ long file_get_size(const char *path); /* - Returns the content of a file. - Returns 'NULL' if the file cannot be read or failed to allocate - enough memory. - Returns an empty string if the file exists but is empty. -*/ + * Returns the content of a file. + * Returns 'NULL' if the file cannot be read or failed to allocate + * enough memory. + * Returns an empty string if the file exists but is empty. + */ char *file_get_content(const char *path); enum file_copy_error { @@ -64,10 +66,10 @@ enum file_copy_error { void file_copy_print_error(int code, const char *src, const char *dst); /* - Copy a file. - - Returns '0' if sucessfull, otherwise return the error code. -*/ + * Copy a file. + * + * Returns '0' if sucessfull, otherwise return the error code. + */ int file_copy(const char *src, const char *dst); int dir_rcopy(const char *, const char *); diff --git a/src/lib/plog.c b/src/lib/plog.c index 48c6009..2b6ffd1 100644 --- a/src/lib/plog.c +++ b/src/lib/plog.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -43,7 +43,7 @@ void log_open(const char *path) log_printf(LOG_ERR, _("Cannot open log file: %s"), path); } -void log_close() +void log_close(void) { if (!file) return; diff --git a/src/lib/plog.h b/src/lib/plog.h index 29880e9..2e22975 100644 --- a/src/lib/plog.h +++ b/src/lib/plog.h @@ -1,35 +1,35 @@ /* - 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 + * Copyright (C) 2010-2016 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_LOG_H_ #define _P_LOG_H_ -#define P_LOG_VER 2 +#define P_LOG_VER 3 enum log_level { - LOG_ERR , + LOG_ERR, LOG_WARN, LOG_INFO, LOG_DEBUG }; void log_open(const char *path); -void log_close(); +void log_close(void); void log_printf(int lvl, const char *fmt, ...); void log_debug(const char *fmt, ...); diff --git a/src/lib/pmutex.c b/src/lib/pmutex.c index ec529bd..371a5d5 100644 --- a/src/lib/pmutex.c +++ b/src/lib/pmutex.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -21,6 +21,7 @@ #include #include +#include int pmutex_lock(pthread_mutex_t *m) { @@ -29,7 +30,7 @@ int pmutex_lock(pthread_mutex_t *m) ret = pthread_mutex_lock(m); if (ret) - log_err("pmutex_lock: %p %d", m, ret); + log_err("pmutex_lock: %p %d %s", m, ret, strerror(ret)); return ret; } diff --git a/src/lib/pmutex.h b/src/lib/pmutex.h index f27c6e5..7b3de9b 100644 --- a/src/lib/pmutex.h +++ b/src/lib/pmutex.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/psensor.c b/src/lib/psensor.c index b9da81d..f8c0a83 100644 --- a/src/lib/psensor.c +++ b/src/lib/psensor.c @@ -23,6 +23,8 @@ #include #define _(str) gettext(str) +#include + #include #include #include @@ -40,15 +42,22 @@ struct psensor *psensor_create(char *id, psensor->id = id; psensor->name = name; psensor->chip = chip; - psensor->min = UNKNOWN_DBL_VALUE; - psensor->max = UNKNOWN_DBL_VALUE; + psensor->sess_lowest = UNKNOWN_DBL_VALUE; + psensor->sess_highest = UNKNOWN_DBL_VALUE; + + if (type & SENSOR_TYPE_PERCENT) { + psensor->min = 0; + psensor->max = 100; + } else { + psensor->min = UNKNOWN_DBL_VALUE; + psensor->max = UNKNOWN_DBL_VALUE; + } psensor->type = type; psensor->values_max_length = values_max_length; psensor->measures = measures_dbl_create(values_max_length); - psensor->alarm_enabled = 0; psensor->alarm_high_threshold = 0; psensor->alarm_low_threshold = 0; @@ -56,13 +65,6 @@ struct psensor *psensor_create(char *id, psensor->cb_alarm_raised_data = NULL; psensor->alarm_raised = 0; - psensor->url = NULL; - - psensor->color = NULL; - - psensor->graph_enabled = 1; - psensor->appindicator_enabled = 0; - psensor->provider_data = NULL; psensor->provider_data_free_fct = &free; @@ -105,13 +107,8 @@ void psensor_free(struct psensor *s) if (s->chip) free(s->chip); - if (s->color) - free(s->color); - measures_free(s->measures); - free(s->url); - if (s->provider_data && s->provider_data_free_fct) s->provider_data_free_fct(s->provider_data); @@ -159,11 +156,11 @@ struct psensor **psensor_list_add(struct psensor **sensors, struct psensor *sensor) { int size; + struct psensor **result; size = psensor_list_size(sensors); - struct psensor **result - = malloc((size + 1 + 1) * sizeof(struct psensor *)); + result = malloc((size + 1 + 1) * sizeof(struct psensor *)); if (sensors) memcpy(result, sensors, size * sizeof(struct psensor *)); @@ -258,21 +255,19 @@ void psensor_set_current_measure(struct psensor *s, double v, struct timeval tv) s->measures[s->values_max_length - 1].value = v; s->measures[s->values_max_length - 1].time = tv; - if (s->min == UNKNOWN_DBL_VALUE || v < s->min) - s->min = v; + if (s->sess_lowest == UNKNOWN_DBL_VALUE || v < s->sess_lowest) + s->sess_lowest = v; - if (s->max == UNKNOWN_DBL_VALUE || v > s->max) - s->max = v; + if (s->sess_highest == UNKNOWN_DBL_VALUE || v > s->sess_highest) + s->sess_highest = v; - if (s->alarm_enabled) { - if (v > s->alarm_high_threshold || v < s->alarm_low_threshold) { - if (!s->alarm_raised && s->cb_alarm_raised) - s->cb_alarm_raised(s, s->cb_alarm_raised_data); - - s->alarm_raised = 1; - } else { - s->alarm_raised = 0; + if (v > s->alarm_high_threshold || v < s->alarm_low_threshold) { + if (!s->alarm_raised && s->cb_alarm_raised) { + s->alarm_raised = true; + s->cb_alarm_raised(s, s->cb_alarm_raised_data); } + } else { + s->alarm_raised = false; } } @@ -287,8 +282,8 @@ struct measure *psensor_get_current_measure(struct psensor *sensor) } /* - Returns the minimal value of a given 'type' (SENSOR_TYPE_TEMP or - SENSOR_TYPE_FAN) + * Returns the minimal value of a given 'type' (SENSOR_TYPE_TEMP or + * SENSOR_TYPE_FAN) */ static double get_min_value(struct psensor **sensors, int type) { @@ -319,8 +314,8 @@ static double get_min_value(struct psensor **sensors, int type) } /* - Returns the maximal value of a given 'type' (SENSOR_TYPE_TEMP or - SENSOR_TYPE_FAN) + * Returns the maximal value of a given 'type' (SENSOR_TYPE_TEMP or + * SENSOR_TYPE_FAN) */ double get_max_value(struct psensor **sensors, int type) { @@ -350,28 +345,6 @@ double get_max_value(struct psensor **sensors, int type) return m; } -double -psensor_get_max_current_value(struct psensor **sensors, unsigned int type) -{ - double m = UNKNOWN_DBL_VALUE; - struct psensor **s_cur = sensors; - - while (*s_cur) { - struct psensor *s = *s_cur; - - if (s->graph_enabled && (s->type & type)) { - double v = psensor_get_current_value(s); - - if (m == UNKNOWN_DBL_VALUE || v > m) - m = v; - } - - s_cur++; - } - - return m; -} - double get_min_temp(struct psensor **sensors) { return get_min_value(sensors, SENSOR_TYPE_TEMP); @@ -459,7 +432,10 @@ const char *psensor_type_to_unit_str(unsigned int type, int use_celsius) void psensor_log_measures(struct psensor **sensors) { - if (log_level == LOG_DEBUG) + if (log_level == LOG_DEBUG) { + if (!sensors) + return; + while (*sensors) { log_debug("Measure: %s %.2f", (*sensors)->name, @@ -467,6 +443,7 @@ void psensor_log_measures(struct psensor **sensors) sensors++; } + } } struct psensor **psensor_list_copy(struct psensor **sensors) @@ -490,26 +467,3 @@ psensor_current_value_to_str(const struct psensor *s, unsigned int use_celsius) psensor_get_current_value(s), use_celsius); } - -struct psensor **psensor_list_filter_graph_enabled(struct psensor **sensors) -{ - int n, i; - struct psensor **result, **cur, *s; - - if (!sensors) - return NULL; - - n = psensor_list_size(sensors); - result = malloc((n+1) * sizeof(struct psensor *)); - - for (cur = sensors, i = 0; *cur; cur++) { - s = *cur; - - if (s->graph_enabled) - result[i++] = s; - } - - result[i] = NULL; - - return result; -} diff --git a/src/lib/psensor.h b/src/lib/psensor.h index cec6d0f..111976b 100644 --- a/src/lib/psensor.h +++ b/src/lib/psensor.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,17 +19,11 @@ #ifndef _PSENSOR_PSENSOR_H_ #define _PSENSOR_PSENSOR_H_ -#include +#include -#include "config.h" -#ifdef HAVE_ATASMART -#include -#endif - -#include "bool.h" -#include "color.h" +#include +#include #include -#include "measure.h" enum psensor_type { /* type of sensor values */ @@ -76,63 +70,44 @@ struct psensor { /* Name of the chip. */ char *chip; - /* 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. */ + /* + * Last registered measures of the sensor. Index 0 for the + * oldest measure. + */ struct measure *measures; - /* Color of the sensor used for the graph */ - struct color *color; - - /* Whether the graph sensor is displayed. */ - bool graph_enabled; - /* see psensor_type */ unsigned int type; - /* The maximum detected value of the sensor */ double max; - /* The minimum detected value of the sensor */ double min; - /* Whether alarm alert is enabled for this sensor */ - bool alarm_enabled; + /* The highest value detected during this session. */ + double sess_highest; + + /* The lowest value detected during this session. */ + double sess_lowest; - int alarm_high_threshold; - int alarm_low_threshold; + double alarm_high_threshold; + double alarm_low_threshold; /* Whether an alarm is raised for this sensor */ - unsigned int alarm_raised; + bool alarm_raised; void (*cb_alarm_raised)(struct psensor *, void *); void *cb_alarm_raised_data; -#ifdef HAVE_NVIDIA - /* Nvidia id for the nvctrl */ - int nvidia_id; -#endif #ifdef HAVE_LIBATIADL /* AMD id for the aticonfig */ int amd_id; #endif -#ifdef HAVE_ATASMART - SkDisk *disk; -#endif void *provider_data; void (*provider_data_free_fct)(void *); - - char *url; - - bool appindicator_enabled; }; struct psensor *psensor_create(char *id, @@ -148,8 +123,6 @@ void psensor_free(struct psensor *sensor); void psensor_list_free(struct psensor **sensors); int psensor_list_size(struct psensor **sensors); -struct psensor **psensor_list_filter_graph_enabled(struct psensor **); - struct psensor *psensor_list_get_by_id(struct psensor **sensors, const char *id); @@ -161,10 +134,6 @@ 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. */ -double -psensor_get_max_current_value(struct psensor **sensors, unsigned int type); - /* * Converts the value of a sensor to a string. * @@ -179,8 +148,6 @@ char *psensor_measure_to_str(const struct measure *m, unsigned int type, unsigned int use_celsius); -struct psensor **get_all_sensors(int use_libatasmart, int values_max_length); - struct psensor **psensor_list_add(struct psensor **sensors, struct psensor *sensor); diff --git a/src/lib/psensor_json.c b/src/lib/psensor_json.c index 2402c1a..14e69e0 100644 --- a/src/lib/psensor_json.c +++ b/src/lib/psensor_json.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,6 +19,8 @@ #include #include +#include + #include "psensor_json.h" #include "url.h" @@ -78,9 +80,11 @@ static json_object *sensor_to_json(struct psensor *s) json_object_object_add(obj, ATT_SENSOR_TYPE, json_object_new_int(s->type)); json_object_object_add(obj, - ATT_SENSOR_MIN, json_object_new_double(s->min)); + ATT_SENSOR_MIN, + json_object_new_double(s->sess_lowest)); json_object_object_add(obj, - ATT_SENSOR_MAX, json_object_new_double(s->max)); + ATT_SENSOR_MAX, + json_object_new_double(s->sess_highest)); json_object_object_add(obj, ATT_SENSOR_MEASURES, measures_to_json_object(s)); @@ -115,14 +119,16 @@ char *sensors_to_json_string(struct psensor **sensors) char *str; json_object *obj = json_object_new_array(); - sensors_cur = sensors; + if (sensors) { + sensors_cur = sensors; - while (*sensors_cur) { - struct psensor *s = *sensors_cur; + while (*sensors_cur) { + struct psensor *s = *sensors_cur; - json_object_array_add(obj, sensor_to_json(s)); + json_object_array_add(obj, sensor_to_json(s)); - sensors_cur++; + sensors_cur++; + } } str = strdup(json_object_to_json_string(obj)); @@ -153,7 +159,7 @@ struct psensor *psensor_new_from_json(json_object *o, NULL, json_object_get_int(otype) | SENSOR_TYPE_REMOTE, values_max_length); - s->url = url; + s->provider_data = url; free(eid); diff --git a/src/lib/psensor_json.h b/src/lib/psensor_json.h index 6d109a6..14c9794 100644 --- a/src/lib/psensor_json.h +++ b/src/lib/psensor_json.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/ptime.c b/src/lib/ptime.c index faa0382..05ca1a1 100644 --- a/src/lib/ptime.c +++ b/src/lib/ptime.c @@ -1,27 +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 + * Copyright (C) 2010-2016 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 #include #include -const int P_TIME_VER = 2; +const int P_TIME_VER = 3; static const int ISO8601_TIME_LENGTH = 19; /* YYYY-MM-DDThh:mm:ss */ static const int ISO8601_DATE_LENGTH = 10; /* YYYY-MM-DD */ @@ -74,7 +74,7 @@ char *tm_to_ISO8601_time(struct tm *tm) return NULL; } -char *get_current_ISO8601_time() +char *get_current_ISO8601_time(void) { time_t t; diff --git a/src/lib/ptime.h b/src/lib/ptime.h index eac7342..1a6f5a5 100644 --- a/src/lib/ptime.h +++ b/src/lib/ptime.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/pudisks2.c b/src/lib/pudisks2.c index 5a7503e..7111174 100644 --- a/src/lib/pudisks2.c +++ b/src/lib/pudisks2.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -29,18 +29,18 @@ #include #include -const char *PROVIDER_NAME = "udisks2"; +static const char *PROVIDER_NAME = "udisks2"; static GDBusObjectManager *manager; -const time_t SMART_UPDATE_INTERVAL = 30; +static const time_t SMART_UPDATE_INTERVAL = 30; struct udisks_data { char *path; struct timeval last_smart_update; }; -void udisks_data_free(void *data) +static void udisks_data_free(void *data) { struct udisks_data *u; diff --git a/src/lib/pudisks2.h b/src/lib/pudisks2.h index 1a844bc..1c969d6 100644 --- a/src/lib/pudisks2.h +++ b/src/lib/pudisks2.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -21,7 +21,23 @@ #include -void udisks2_psensor_list_append(struct psensor ***sensors, int values_length); -void udisks2_psensor_list_update(struct psensor **sensors); +#if defined(HAVE_LIBUDISKS2) && HAVE_LIBUDISKS2 + +static inline bool udisks2_is_supported(void) { return true; } + +void udisks2_psensor_list_append(struct psensor ***, int); +void udisks2_psensor_list_update(struct psensor **); + +#else + +static inline bool udisks2_is_supported(void) { return false; } + +static inline void +udisks2_psensor_list_append(struct psensor ***s, int n) {} + +static inline void +udisks2_psensor_list_update(struct psensor **s) {} + +#endif #endif diff --git a/src/lib/slog.c b/src/lib/slog.c index 5b16526..d6c4bc2 100644 --- a/src/lib/slog.c +++ b/src/lib/slog.c @@ -65,7 +65,7 @@ static char *time_to_str(time_t *t) return NULL; } -static char *get_default_path() +static char *get_default_path(void) { char *home, *path, *dir; @@ -176,10 +176,10 @@ static void *slog_routine(void *data) sleep(period); } - pthread_exit(0); + pthread_exit(NULL); } -void slog_close() +void slog_close(void) { if (file) { pthread_cancel(thread); diff --git a/src/lib/slog.h b/src/lib/slog.h index ea2d6d1..4a39461 100644 --- a/src/lib/slog.h +++ b/src/lib/slog.h @@ -24,6 +24,6 @@ #include "psensor.h" bool slog_activate(const char *, struct psensor **, pthread_mutex_t *, int s); -void slog_close(); +void slog_close(void); #endif diff --git a/src/lib/temperature.h b/src/lib/temperature.h index 591b39b..cb3e4c4 100644 --- a/src/lib/temperature.h +++ b/src/lib/temperature.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/lib/url.h b/src/lib/url.h index 35820f3..a37d5ca 100644 --- a/src/lib/url.h +++ b/src/lib/url.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/main.c b/src/main.c index 7840485..5686f5b 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -28,53 +28,34 @@ #include -#include "config.h" +#include -#include "cfg.h" +#include +#include +#include #include -#include "psensor.h" -#include "graph.h" -#include "ui.h" -#include "ui_sensorlist.h" -#include "ui_color.h" -#include "lmsensor.h" -#include "notify_cmd.h" +#include +#include +#include +#include #include +#include #include -#include "slog.h" -#include "ui_pref.h" -#include "ui_graph.h" -#include "ui_status.h" - -#ifdef HAVE_UNITY -#include "ui_unity.h" -#endif - -#ifdef HAVE_NVIDIA -#include "nvidia.h" -#endif - -#ifdef HAVE_LIBATIADL -#include "amd.h" -#endif - -#ifdef HAVE_REMOTE_SUPPORT -#include "rsensor.h" -#endif - -#include "ui_appindicator.h" - -#ifdef HAVE_LIBNOTIFY -#include "ui_notify.h" -#endif - -#ifdef HAVE_GTOP -#include -#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include static const char *program_name; -static void print_version() +static void print_version(void) { printf("psensor %s\n", VERSION); printf(_("Copyright (C) %s jeanfi@gmail.com\n" @@ -86,7 +67,7 @@ static void print_version() "2010-2014"); } -static void print_help() +static void print_help(void) { printf(_("Usage: %s [OPTION]...\n"), program_name); @@ -155,25 +136,13 @@ static void *update_measures(void *data) update_psensor_values_size(sensors, cfg); lmsensor_psensor_list_update(sensors); -#ifdef HAVE_REMOTE_SUPPORT + remote_psensor_list_update(sensors); -#endif -#ifdef HAVE_NVIDIA nvidia_psensor_list_update(sensors); -#endif -#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); @@ -188,30 +157,30 @@ static void *update_measures(void *data) static void indicators_update(struct ui_psensor *ui) { - struct psensor **sensor_cur = ui->sensors; - unsigned int attention = 0; + struct psensor **ss, *s; + bool attention; - while (*sensor_cur) { - struct psensor *s = *sensor_cur; + attention = false; + ss = ui->sensors; + while (*ss) { + s = *ss; - if (s->alarm_enabled && s->alarm_raised) { - attention = 1; + if (s->alarm_raised && config_get_sensor_alarm_enabled(s->id)) { + attention = true; break; } - sensor_cur++; + ss++; } -#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) if (is_appindicator_supported()) ui_appindicator_update(ui, attention); -#endif if (is_status_supported()) ui_status_update(ui, attention); } -gboolean ui_refresh_thread(gpointer data) +static gboolean ui_refresh_thread(gpointer data) { struct config *cfg; gboolean ret; @@ -222,18 +191,14 @@ gboolean ui_refresh_thread(gpointer data) pmutex_lock(&ui->sensors_mutex); - graph_update(ui->sensors, ui->w_graph, ui->config, ui->main_window); + graph_update(ui->sensors, ui_get_graph(), ui->config, ui->main_window); ui_sensorlist_update(ui, 0); if (is_appindicator_supported() || is_status_supported()) indicators_update(ui); -#ifdef HAVE_UNITY - ui_unity_launcher_entry_update(ui->sensors, - !cfg->unity_launcher_count_disabled, - cfg->temperature_unit == CELSIUS); -#endif + ui_unity_launcher_entry_update(ui->sensors); if (ui->graph_update_interval != cfg->graph_update_interval) { ui->graph_update_interval = cfg->graph_update_interval; @@ -251,82 +216,46 @@ gboolean ui_refresh_thread(gpointer data) static void cb_alarm_raised(struct psensor *sensor, void *data) { -#ifdef HAVE_LIBNOTIFY - if (sensor->alarm_enabled) + if (config_get_sensor_alarm_enabled(sensor->id)) { ui_notify(sensor, (struct ui_psensor *)data); -#endif - - notify_cmd(sensor); -} - -static void associate_colors(struct psensor **sensors) -{ - 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" - }; - int i; - struct psensor **cur; - struct color c; - - for (cur = sensors, i = 0; *cur; cur++, i++) { - 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); + notify_cmd(sensor); } } static void associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui) { - struct psensor **sensor_cur = sensors; + bool ret; + struct psensor *s; + double high_temp; - while (*sensor_cur) { - struct psensor *s = *sensor_cur; + high_temp = config_get_default_high_threshold_temperature(); + + while (*sensors) { + s = *sensors; s->cb_alarm_raised = cb_alarm_raised; s->cb_alarm_raised_data = ui; - s->alarm_high_threshold - = config_get_sensor_alarm_high_threshold(s->id); - s->alarm_low_threshold - = config_get_sensor_alarm_low_threshold(s->id); + ret = config_get_sensor_alarm_high_threshold + (s->id, &s->alarm_high_threshold); + + if (!ret) { + if (s->max == UNKNOWN_DBL_VALUE) { + if (s->type & SENSOR_TYPE_TEMP) + s->alarm_high_threshold = high_temp; + } else { + s->alarm_high_threshold = s->max; + } + } - s->alarm_enabled - = config_get_sensor_alarm_enabled(s->id); + ret = config_get_sensor_alarm_low_threshold + (s->id, &s->alarm_low_threshold); - sensor_cur++; + if (!ret && s->min != UNKNOWN_DBL_VALUE) + s->alarm_low_threshold = s->min; + + sensors++; } } @@ -338,8 +267,6 @@ static void associate_preferences(struct psensor **sensors) char *n; struct psensor *s = *sensor_cur; - s->graph_enabled = config_is_sensor_graph_enabled(s->id); - n = config_get_sensor_name(s->id); if (n) { @@ -347,13 +274,11 @@ static void associate_preferences(struct psensor **sensors) s->name = n; } - s->appindicator_enabled = config_is_appindicator_enabled(s->id); - sensor_cur++; } } -static void log_init() +static void log_init(void) { const char *dir; char *path; @@ -372,12 +297,12 @@ static void log_init() } static struct option long_options[] = { - {"version", no_argument, 0, 'v'}, - {"help", no_argument, 0, 'h'}, - {"url", required_argument, 0, 'u'}, - {"debug", required_argument, 0, 'd'}, - {"new-instance", no_argument, 0, 'n'}, - {0, 0, 0, 0} + {"version", no_argument, NULL, 'v'}, + {"help", no_argument, NULL, 'h'}, + {"url", required_argument, NULL, 'u'}, + {"debug", required_argument, NULL, 'd'}, + {"new-instance", no_argument, NULL, 'n'}, + {NULL, 0, NULL, 0} }; static gboolean initial_window_show(gpointer data) @@ -402,7 +327,7 @@ static gboolean initial_window_show(gpointer data) return FALSE; } -static void log_glib_info() +static void log_glib_info(void) { log_debug("Compiled with GLib %d.%d.%d", GLIB_MAJOR_VERSION, @@ -430,22 +355,14 @@ static void cleanup(struct ui_psensor *ui) log_debug("Cleanup..."); -#ifdef HAVE_NVIDIA nvidia_cleanup(); -#endif -#ifdef HAVE_LIBATIADL amd_cleanup(); -#endif -#ifdef HAVE_REMOTE_SUPPORT rsensor_cleanup(); -#endif psensor_list_free(ui->sensors); ui->sensors = NULL; -#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) ui_appindicator_cleanup(); -#endif ui_status_cleanup(); @@ -466,14 +383,14 @@ static struct psensor **create_sensors_list(const char *url) struct psensor **sensors; if (url) { -#ifdef HAVE_REMOTE_SUPPORT - rsensor_init(); - sensors = get_remote_sensors(url, 600); -#else - log_err(_("Psensor has not been compiled with remote " - "sensor support.")); - exit(EXIT_FAILURE); -#endif + if (rsensor_is_supported()) { + rsensor_init(); + sensors = get_remote_sensors(url, 600); + } else { + log_err(_("Psensor has not been compiled with remote " + "sensor support.")); + exit(EXIT_FAILURE); + } } else { sensors = malloc(sizeof(struct psensor *)); *sensors = NULL; @@ -484,31 +401,23 @@ static struct psensor **create_sensors_list(const char *url) 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 if (config_is_nvctrl_enabled()) nvidia_psensor_list_append(&sensors, 600); -#endif -#ifdef HAVE_LIBATIADL + if (config_is_atiadlsdk_enabled()) amd_psensor_list_append(&sensors, 600); -#endif -#ifdef HAVE_GTOP + 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 } associate_preferences(sensors); - associate_colors(sensors); return sensors; } @@ -589,17 +498,6 @@ int main(int argc, char **argv) g_thread_init(NULL); #endif -#ifdef HAVE_APPINDICATOR_029 - /* gdk_thread_enter/leave only used to workaround mutex bug - * of appindicator < 0.2.9, so do not call gdk_threads_init - * if useless. Calling this function leads to - * crash "Attempt to unlock mutex that was not locked" with - * GLib 2.41.2 (new checking) probably due to bugs in GTK - * itself. - */ - gdk_threads_init(); -#endif - gtk_init(NULL, NULL); pmutex_init(&ui.sensors_mutex); @@ -615,10 +513,8 @@ int main(int argc, char **argv) &ui.sensors_mutex, config_get_slog_interval()); -#if !defined(HAVE_APPINDICATOR) && !defined(HAVE_APPINDICATOR_029) ui_status_init(&ui); ui_status_set_visible(1); -#endif /* main window */ ui_window_create(&ui); @@ -634,9 +530,8 @@ int main(int argc, char **argv) g_timeout_add(1000 * ui.graph_update_interval, ui_refresh_thread, &ui); -#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) ui_appindicator_init(&ui); -#endif + ui_unity_init(); gdk_notify_startup_complete(); @@ -651,8 +546,6 @@ int main(int argc, char **argv) else initial_window_show(&ui); - log_debug("translators: %s\n", _("translator-credits")); - /* main loop */ gtk_main(); diff --git a/src/notify_cmd.c b/src/notify_cmd.c index 793903a..89f8b50 100644 --- a/src/notify_cmd.c +++ b/src/notify_cmd.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -17,6 +17,7 @@ * 02110-1301 USA */ +#include #include #include diff --git a/src/notify_cmd.h b/src/notify_cmd.h index df8fea5..6ad5782 100644 --- a/src/notify_cmd.h +++ b/src/notify_cmd.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/psensor.1 b/src/psensor.1 index 6705aec..9997814 100644 --- a/src/psensor.1 +++ b/src/psensor.1 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. -.TH PSENSOR "1" "June 2016" "psensor 1.1.5" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4. +.TH PSENSOR "1" "January 2017" "psensor 1.2.0" "User Commands" .SH NAME psensor \- Temperature monitoring application .SH SYNOPSIS diff --git a/src/psensor.gschema.xml b/src/psensor.gschema.xml index 8439c1b..671a998 100644 --- a/src/psensor.gschema.xml +++ b/src/psensor.gschema.xml @@ -157,6 +157,19 @@ Update interface of the sensor values. + + 60 + Default high threshold for the thermal + sensors. + Default high threshold for the thermal sensors + (celsius). + + + false + Whether sensor alarm is enabled by default. + Whether sensor alarm is enabled by + default. + true diff --git a/src/pxdg.c b/src/pxdg.c index 14c3021..a43d075 100644 --- a/src/pxdg.c +++ b/src/pxdg.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -27,10 +27,11 @@ #include #include +#include static const char *KEY_GNOME_AUTOSTART = "X-GNOME-Autostart-enabled"; -static char *get_user_autostart_dir() +static char *get_user_autostart_dir(void) { const char *xdg_cfg_dir; @@ -41,7 +42,7 @@ static char *get_user_autostart_dir() return path_append(xdg_cfg_dir, "autostart"); } -static char *get_user_desktop_file() +static char *get_user_desktop_file(void) { char *dir, *path; @@ -53,7 +54,7 @@ static char *get_user_desktop_file() return path; } -static const char *get_desktop_file() +static const char *get_desktop_file(void) { return DATADIR"/applications/"PSENSOR_DESKTOP_FILE; } @@ -98,7 +99,7 @@ static int is_user_desktop_autostarted(GKeyFile *f) NULL); } -int pxdg_is_autostarted() +int pxdg_is_autostarted(void) { char *user_desktop; unsigned int ret; @@ -179,7 +180,8 @@ void pxdg_set_autostart(unsigned int enable) enable_gnome_autostart(user_desktop); } else { /* because X-GNOME-Autostart-enabled does not turn off - * autostart on all Desktop Envs. */ + * autostart on all Desktop Envs. + */ remove(user_desktop); } diff --git a/src/pxdg.h b/src/pxdg.h index 78aa571..98fd914 100644 --- a/src/pxdg.h +++ b/src/pxdg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -25,7 +25,7 @@ * - 0 if psensor is not currently launch during session startup. * - -1 if it cannot be determined. */ -int pxdg_is_autostarted(); +int pxdg_is_autostarted(void); void pxdg_set_autostart(unsigned int); #endif diff --git a/src/rsensor.c b/src/rsensor.c index 8a5aa66..f42ab76 100644 --- a/src/rsensor.c +++ b/src/rsensor.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -26,10 +26,10 @@ #include -#include "psensor_json.h" -#include "rsensor.h" -#include "server/server.h" -#include "url.h" +#include +#include +#include +#include struct ucontent { char *data; @@ -38,6 +38,13 @@ struct ucontent { static CURL *curl; +static const char *PROVIDER_NAME = "rsensor"; + +static const char *get_url(struct psensor *s) +{ + return (char *)s->provider_data; +} + static size_t cbk_curl(void *buffer, size_t size, size_t nmemb, void *userp) { size_t realsize; @@ -72,12 +79,12 @@ static char *create_api_1_1_sensors_url(const char *base_url) return ret; } -void rsensor_init() +void rsensor_init(void) { curl = curl_easy_init(); } -void rsensor_cleanup() +void rsensor_cleanup(void) { curl_easy_cleanup(curl); } @@ -100,11 +107,12 @@ static json_object *get_json_object(const char *url) curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cbk_curl); curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk); - log_debug("HTTP request %s", url); + log_fct("%s: HTTP request %s", PROVIDER_NAME, url); + if (curl_easy_perform(curl) == CURLE_OK) obj = json_tokener_parse(chunk.data); else - log_printf(LOG_ERR, _("Fail to connect to: %s"), url); + log_err(_("%s: Fail to connect to: %s"), PROVIDER_NAME, url); free(chunk.data); @@ -141,7 +149,7 @@ struct psensor **get_remote_sensors(const char *server_url, json_object_put(obj); } else { - log_printf(LOG_ERR, _("Invalid content: %s"), url); + log_err(_("%s: Invalid content: %s"), PROVIDER_NAME, url); } free(url); @@ -154,11 +162,11 @@ struct psensor **get_remote_sensors(const char *server_url, return sensors; } -void remote_psensor_update(struct psensor *s) +static void remote_psensor_update(struct psensor *s) { json_object *obj; - obj = get_json_object(s->url); + obj = get_json_object(get_url(s)); if (obj && !is_error(obj)) { json_object *om; @@ -181,7 +189,7 @@ void remote_psensor_update(struct psensor *s) json_object_put(obj); } else { - log_printf(LOG_ERR, _("Invalid JSON: %s"), s->url); + log_err(_("%s: Invalid JSON: %s"), PROVIDER_NAME, get_url(s)); } } diff --git a/src/rsensor.h b/src/rsensor.h index 8269479..3178e3f 100644 --- a/src/rsensor.h +++ b/src/rsensor.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,14 +19,27 @@ #ifndef _PSENSOR_RSENSOR_H_ #define _PSENSOR_RSENSOR_H_ -#include "psensor.h" +#include -struct psensor **get_remote_sensors(const char *server_url, - int values_max_length); +#if defined(HAVE_REMOTE_SUPPORT) && HAVE_REMOTE_SUPPORT -void remote_psensor_list_update(struct psensor **sensors); +static inline bool rsensor_is_supported(void) { return true; } -void rsensor_init(); -void rsensor_cleanup(); +struct psensor **get_remote_sensors(const char *, int); +void remote_psensor_list_update(struct psensor **); +void rsensor_init(void); +void rsensor_cleanup(void); + +#else + +static inline bool rsensor_is_supported(void) { return false; } + +static inline struct psensor ** +get_remote_sensors(const char *url, int n) { return NULL; } +static inline void remote_psensor_list_update(struct psensor **s) {} +static inline void rsensor_init(void) {} +static inline void rsensor_cleanup(void) {} + +#endif #endif diff --git a/src/server/Makefile.am b/src/server/Makefile.am index 0697e58..2812001 100644 --- a/src/server/Makefile.am +++ b/src/server/Makefile.am @@ -29,8 +29,11 @@ AM_CPPFLAGS += $(ATASMART_CFLAGS) LIBS += $(ATASMART_LIBS) endif -dist_man_MANS = psensor-server.1 -EXTRA_DIST = description.txt +if HELP2MAN psensor-server.1: server.c $(top_srcdir)/configure.ac $(MAKE) $(AM_MAKEFLAGS) psensor-server$(EXEEXT) help2man --include=description.txt -N --name="Temperature and system monitoring Web server" --output=psensor-server.1 ./psensor-server$(EXEEXT) +endif + +dist_man_MANS = psensor-server.1 +EXTRA_DIST = description.txt diff --git a/src/server/Makefile.in b/src/server/Makefile.in index 1dbe6b3..4e3f55a 100644 --- a/src/server/Makefile.in +++ b/src/server/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -95,11 +85,16 @@ bin_PROGRAMS = psensor-server$(EXEEXT) @ATASMART_TRUE@am__append_4 = $(ATASMART_CFLAGS) @ATASMART_TRUE@am__append_5 = $(ATASMART_LIBS) subdir = src/server +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -196,8 +191,6 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -227,7 +220,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -288,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@ @@ -303,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@ @@ -349,7 +339,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -382,6 +371,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/server/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/server/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -718,11 +708,10 @@ uninstall-man: uninstall-man1 ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-man uninstall-man1 -.PRECIOUS: Makefile -psensor-server.1: server.c $(top_srcdir)/configure.ac - $(MAKE) $(AM_MAKEFLAGS) psensor-server$(EXEEXT) - help2man --include=description.txt -N --name="Temperature and system monitoring Web server" --output=psensor-server.1 ./psensor-server$(EXEEXT) +@HELP2MAN_TRUE@psensor-server.1: server.c $(top_srcdir)/configure.ac +@HELP2MAN_TRUE@ $(MAKE) $(AM_MAKEFLAGS) psensor-server$(EXEEXT) +@HELP2MAN_TRUE@ help2man --include=description.txt -N --name="Temperature and system monitoring Web server" --output=psensor-server.1 ./psensor-server$(EXEEXT) # 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/src/server/psensor-server.1 b/src/server/psensor-server.1 index 39b88c6..a1b6e6d 100644 --- a/src/server/psensor-server.1 +++ b/src/server/psensor-server.1 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. -.TH PSENSOR-SERVER "1" "June 2016" "psensor-server 1.1.5" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4. +.TH PSENSOR-SERVER "1" "January 2017" "psensor-server 1.2.0" "User Commands" .SH NAME psensor-server \- Temperature and system monitoring Web server .SH SYNOPSIS diff --git a/src/server/server.c b/src/server/server.c index d868d86..fb6b63c 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -65,15 +65,15 @@ static const int DEFAULT_PORT = 3131; "Page not found - Go to Main page

    ")) static struct option long_options[] = { - {"version", no_argument, 0, 'v'}, - {"help", no_argument, 0, 'h'}, - {"port", required_argument, 0, 'p'}, - {"wdir", required_argument, 0, 'w'}, - {"debug", required_argument, 0, 'd'}, - {"log-file", required_argument, 0, 'l'}, - {"sensor-log-file", required_argument, 0, 0}, - {"sensor-log-interval", required_argument, 0, 0}, - {0, 0, 0, 0} + {"version", no_argument, NULL, 'v'}, + {"help", no_argument, NULL, 'h'}, + {"port", required_argument, NULL, 'p'}, + {"wdir", required_argument, NULL, 'w'}, + {"debug", required_argument, NULL, 'd'}, + {"log-file", required_argument, NULL, 'l'}, + {"sensor-log-file", required_argument, NULL, 0}, + {"sensor-log-interval", required_argument, NULL, 0}, + {NULL, 0, NULL, 0} }; static struct server_data server_data; @@ -82,7 +82,7 @@ static pthread_mutex_t mutex; static int server_stop_requested; -static void print_version() +static void print_version(void) { printf("psensor-server %s\n", VERSION); printf(_("Copyright (C) %s jeanfi@gmail.com\n" @@ -93,7 +93,7 @@ static void print_version() "2010-2012"); } -static void print_help() +static void print_help(void) { printf(_("Usage: %s [OPTION]...\n"), program_name); @@ -244,28 +244,52 @@ static struct MHD_Response *create_response_file(const char *nurl, return NULL; } +static int is_access_allowed(char *path) +{ + char *rpath; + int n, ret; + + rpath = realpath(path, NULL); + if (rpath) { + n = strlen(server_data.www_dir); + if (!strncmp(server_data.www_dir, rpath, n) + || !strcmp(rpath, + "/usr/share/javascript/jquery/jquery.js")) { + ret = 1; + } else { + ret = 0; + + log_err(_("Resource access refused %s real path is %s"), + path, + rpath); + } + + free(rpath); + } else { + log_err(_("Cannot get real path of %s"), path); + + ret = 0; + } + + return ret; +} + static struct MHD_Response * create_response(const char *nurl, const char *method, unsigned int *rp_code) { - char *page, *fpath, *rpath; + char *page, *fpath; struct MHD_Response *resp = NULL; - int n; if (!strncmp(nurl, URL_BASE_API_1_1, strlen(URL_BASE_API_1_1))) { resp = create_response_api(nurl, method, rp_code); } else { fpath = get_path(nurl, server_data.www_dir); - rpath = realpath(fpath, NULL); - if (rpath) { - n = strlen(server_data.www_dir); - if (!strncmp(server_data.www_dir, rpath, n)) - resp = create_response_file(nurl, - method, - rp_code, - fpath); - free(rpath); - } + if (is_access_allowed(fpath)) + resp = create_response_file(nurl, + method, + rp_code, + fpath); free(fpath); } @@ -287,7 +311,8 @@ static int cbk_http_request(void *cls, const char *method, const char *version, const char *upload_data, - size_t *upload_data_size, void **ptr) + size_t *upload_data_size, + void **ptr) { static int dummy; struct MHD_Response *response; @@ -300,7 +325,8 @@ static int cbk_http_request(void *cls, if (&dummy != *ptr) { /* The first time only the headers are valid, do not - respond in the first round... */ + * respond in the first round... + */ *ptr = &dummy; return MHD_YES; } @@ -422,7 +448,7 @@ int main(int argc, char *argv[]) server_data.cpu_usage = create_cpu_usage_sensor(600); #endif - if (!*server_data.sensors) + if (!server_data.sensors || !*server_data.sensors) log_err(_("No sensors detected.")); d = MHD_start_daemon(MHD_USE_THREAD_PER_CONNECTION, @@ -481,7 +507,7 @@ int main(int argc, char *argv[]) psensor_free(server_data.cpu_usage); #endif free(server_data.www_dir); - sensors_cleanup(); + lmsensor_cleanup(); #ifdef HAVE_GTOP sysinfo_cleanup(); diff --git a/src/server/server.h b/src/server/server.h index 2ac33ee..7226979 100644 --- a/src/server/server.h +++ b/src/server/server.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/server/sysinfo.c b/src/server/sysinfo.c index a278a3a..9c371d5 100644 --- a/src/server/sysinfo.c +++ b/src/server/sysinfo.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -67,7 +67,7 @@ void sysinfo_update(struct psysinfo *info) info->interfaces = glibtop_get_netlist(&buf); } -void sysinfo_cleanup() +void sysinfo_cleanup(void) { if (cpu) g_free(cpu); diff --git a/src/server/sysinfo.h b/src/server/sysinfo.h index 3330eb7..1d0537a 100644 --- a/src/server/sysinfo.h +++ b/src/server/sysinfo.h @@ -37,7 +37,7 @@ struct psysinfo { }; void sysinfo_update(struct psysinfo *sysinfo); -void sysinfo_cleanup(); +void sysinfo_cleanup(void); char *sysinfo_to_json_string(const struct psysinfo *sysinfo); diff --git a/src/ui.c b/src/ui.c index dcb3ea0..041e8d8 100644 --- a/src/ui.c +++ b/src/ui.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -18,15 +18,139 @@ */ #include -#include "cfg.h" -#include "slog.h" -#include "ui.h" -#include "ui_graph.h" -#include "ui_pref.h" -#include "ui_sensorpref.h" -#include "ui_sensorlist.h" -#include "ui_status.h" -#include "ui_appindicator.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static GtkWidget *w_sensors_scrolled_tree; +static GtkWidget *w_graph; +static GtkContainer *w_sensor_box; +static GtkContainer *w_main_box; + +static void update_layout(void) +{ + enum sensorlist_position sensorlist_pos; + + g_object_ref(w_sensors_scrolled_tree); + g_object_ref(w_graph); + + gtk_container_remove(w_sensor_box, + w_sensors_scrolled_tree); + + gtk_container_remove(w_sensor_box, w_graph); + + gtk_container_remove(w_main_box, GTK_WIDGET(w_sensor_box)); + + sensorlist_pos = config_get_sensorlist_position(); + if (sensorlist_pos == SENSORLIST_POSITION_RIGHT + || sensorlist_pos == SENSORLIST_POSITION_LEFT) + w_sensor_box + = GTK_CONTAINER(gtk_paned_new + (GTK_ORIENTATION_HORIZONTAL)); + else + w_sensor_box + = GTK_CONTAINER(gtk_paned_new + (GTK_ORIENTATION_VERTICAL)); + + gtk_box_pack_end(GTK_BOX(w_main_box), + GTK_WIDGET(w_sensor_box), TRUE, TRUE, 2); + + if (sensorlist_pos == SENSORLIST_POSITION_RIGHT + || sensorlist_pos == SENSORLIST_POSITION_BOTTOM) { + gtk_paned_pack1(GTK_PANED(w_sensor_box), w_graph, TRUE, TRUE); + gtk_paned_pack2(GTK_PANED(w_sensor_box), + w_sensors_scrolled_tree, + FALSE, + TRUE); + } else { + gtk_paned_pack1(GTK_PANED(w_sensor_box), + w_sensors_scrolled_tree, + FALSE, + TRUE); + gtk_paned_pack2(GTK_PANED(w_sensor_box), w_graph, TRUE, TRUE); + } + + g_object_unref(w_sensors_scrolled_tree); + g_object_unref(w_graph); + + gtk_widget_show_all(GTK_WIDGET(w_sensor_box)); +} + +static void set_decoration(GtkWindow *win) +{ + gtk_window_set_decorated(win, config_is_window_decoration_enabled()); +} + +static void set_keep_below(GtkWindow *win) +{ + gtk_window_set_keep_below(win, config_is_window_keep_below_enabled()); +} + +static void set_menu_bar_enabled(GtkWidget *bar) +{ + if (config_is_menu_bar_enabled()) + gtk_widget_show(bar); + else + gtk_widget_hide(bar); +} + +static void +decoration_changed_cbk(GSettings *settings, gchar *key, gpointer data) +{ + set_decoration(GTK_WINDOW(data)); +} + +static void +keep_below_changed_cbk(GSettings *settings, gchar *key, gpointer data) +{ + set_keep_below(GTK_WINDOW(data)); +} + +static void +menu_bar_changed_cbk(GSettings *settings, gchar *key, gpointer data) +{ + set_menu_bar_enabled(GTK_WIDGET(data)); +} + +static void +sensorlist_position_changed_cbk(GSettings *settings, gchar *key, gpointer data) +{ + update_layout(); +} + +static void connect_cbks(GtkWindow *win, GtkWidget *menu_bar) +{ + log_fct_enter(); + + g_signal_connect_after(config_get_GSettings(), + "changed::interface-window-decoration-disabled", + G_CALLBACK(decoration_changed_cbk), + win); + + g_signal_connect_after(config_get_GSettings(), + "changed::interface-window-keep-below-enabled", + G_CALLBACK(keep_below_changed_cbk), + win); + + g_signal_connect_after(config_get_GSettings(), + "changed::interface-menu-bar-disabled", + G_CALLBACK(menu_bar_changed_cbk), + menu_bar); + + g_signal_connect_after(config_get_GSettings(), + "changed::interface-sensorlist-position", + G_CALLBACK(sensorlist_position_changed_cbk), + menu_bar); + + + log_fct_exit(); +} static void save_window_pos(struct ui_psensor *ui) { @@ -53,7 +177,7 @@ static void save_window_pos(struct ui_psensor *ui) log_debug("Window size: %d %d", cfg->window_w, cfg->window_h); cfg->window_divider_pos - = gtk_paned_get_position(GTK_PANED(ui->sensor_box)); + = gtk_paned_get_position(GTK_PANED(w_sensor_box)); config_save(cfg); } @@ -76,18 +200,20 @@ on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data) return TRUE; } -void ui_show_about_dialog() +void ui_show_about_dialog(GtkWindow *parent) { static const char *const authors[] = { "jeanfi@gmail.com", NULL }; + log_fct("parent=%p", parent); + gtk_show_about_dialog - (NULL, + (parent, "authors", authors, "comments", _("Psensor is a GTK+ application for monitoring hardware " "sensors"), "copyright", - _("Copyright(c) 2010-2014 jeanfi@gmail.com"), + _("Copyright(c) 2010-2016 jeanfi@gmail.com"), #if GTK_CHECK_VERSION(3, 12, 0) "license-type", GTK_LICENSE_GPL_2_0, #endif @@ -101,9 +227,21 @@ void ui_show_about_dialog() NULL); } -void ui_cb_about(GtkMenuItem *mi, gpointer data) +void ui_cb_about(GtkAction *a, gpointer data) { - ui_show_about_dialog(); + struct ui_psensor *ui; + GtkWidget *parent; + + ui = (struct ui_psensor *)data; + + log_fct("ui=%p", ui); + + if (ui) + parent = ui->main_window; + else + parent = NULL; + + ui_show_about_dialog(GTK_WINDOW(parent)); } void ui_cb_menu_quit(GtkMenuItem *mi, gpointer data) @@ -179,7 +317,7 @@ static void slog_enabled_cbk(void *data) void ui_window_create(struct ui_psensor *ui) { - GtkWidget *window; + GtkWidget *window, *menu_bar; GdkPixbuf *icon; GtkIconTheme *icon_theme; struct config *cfg; @@ -187,6 +325,8 @@ void ui_window_create(struct ui_psensor *ui) GtkBuilder *builder; GError *error; + log_fct("ui=%p", ui); + builder = gtk_builder_new(); error = NULL; @@ -225,50 +365,42 @@ void ui_window_create(struct ui_psensor *ui) g_signal_connect(window, "delete_event", G_CALLBACK(on_delete_event_cb), ui); - gtk_window_set_decorated(GTK_WINDOW(window), - cfg->window_decoration_enabled); + set_decoration(GTK_WINDOW(window)); + set_keep_below(GTK_WINDOW(window)); - gtk_window_set_keep_below(GTK_WINDOW(window), - cfg->window_keep_below_enabled); - - ui->menu_bar = GTK_WIDGET(gtk_builder_get_object(builder, "menu_bar")); - ui->main_box = GTK_WIDGET(gtk_builder_get_object(builder, "main_box")); + menu_bar = GTK_WIDGET(gtk_builder_get_object(builder, "menu_bar")); + w_main_box = GTK_CONTAINER(gtk_builder_get_object(builder, "main_box")); ui->popup_menu = GTK_WIDGET(gtk_builder_get_object(builder, "popup_menu")); g_object_ref(G_OBJECT(ui->popup_menu)); ui->main_window = window; - ui->w_graph = GTK_WIDGET(gtk_builder_get_object(builder, - "graph")); + w_graph = GTK_WIDGET(gtk_builder_get_object(builder, "graph")); ui_graph_create(ui); - ui->sensor_box = GTK_PANED(gtk_builder_get_object(builder, - "sensor_box")); + w_sensor_box = GTK_CONTAINER(gtk_builder_get_object(builder, + "sensor_box")); ui->sensors_store = GTK_LIST_STORE(gtk_builder_get_object (builder, "sensors_store")); ui->sensors_tree = GTK_TREE_VIEW(gtk_builder_get_object (builder, "sensors_tree")); - ui->sensors_scrolled_tree - = GTK_SCROLLED_WINDOW(gtk_builder_get_object - (builder, "sensors_scrolled_tree")); + w_sensors_scrolled_tree + = GTK_WIDGET(gtk_builder_get_object + (builder, "sensors_scrolled_tree")); ui_sensorlist_create(ui); + connect_cbks(GTK_WINDOW(window), menu_bar); + log_debug("ui_window_create(): show_all"); - gtk_widget_show_all(ui->main_box); + update_layout(); + gtk_widget_show_all(GTK_WIDGET(w_main_box)); + set_menu_bar_enabled(menu_bar); g_object_unref(G_OBJECT(builder)); log_debug("ui_window_create() ends"); } -static void menu_bar_show(unsigned int show, struct ui_psensor *ui) -{ - if (show) - gtk_widget_show(ui->menu_bar); - else - gtk_widget_hide(ui->menu_bar); -} - void ui_window_update(struct ui_psensor *ui) { struct config *cfg; @@ -277,55 +409,10 @@ void ui_window_update(struct ui_psensor *ui) cfg = ui->config; - g_object_ref(GTK_WIDGET(ui->sensors_scrolled_tree)); - g_object_ref(GTK_WIDGET(ui->w_graph)); - - gtk_container_remove(GTK_CONTAINER(ui->sensor_box), - GTK_WIDGET(ui->sensors_scrolled_tree)); - - gtk_container_remove(GTK_CONTAINER(ui->sensor_box), ui->w_graph); - - gtk_container_remove(GTK_CONTAINER(ui->main_box), - GTK_WIDGET(ui->sensor_box)); - - if (cfg->sensorlist_position == SENSORLIST_POSITION_RIGHT - || cfg->sensorlist_position == SENSORLIST_POSITION_LEFT) - ui->sensor_box - = GTK_PANED(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL)); - else - ui->sensor_box - = GTK_PANED(gtk_paned_new(GTK_ORIENTATION_VERTICAL)); - - gtk_box_pack_end(GTK_BOX(ui->main_box), - GTK_WIDGET(ui->sensor_box), TRUE, TRUE, 2); - - if (cfg->sensorlist_position == SENSORLIST_POSITION_RIGHT - || cfg->sensorlist_position == SENSORLIST_POSITION_BOTTOM) { - gtk_paned_pack1(ui->sensor_box, - GTK_WIDGET(ui->w_graph), TRUE, TRUE); - gtk_paned_pack2(ui->sensor_box, - GTK_WIDGET(ui->sensors_scrolled_tree), - FALSE, TRUE); - } else { - gtk_paned_pack1(ui->sensor_box, - GTK_WIDGET(ui->sensors_scrolled_tree), - FALSE, TRUE); - gtk_paned_pack2(ui->sensor_box, - GTK_WIDGET(ui->w_graph), TRUE, TRUE); - } - if (cfg->window_restore_enabled) - gtk_paned_set_position(ui->sensor_box, cfg->window_divider_pos); - - g_object_unref(GTK_WIDGET(ui->sensors_scrolled_tree)); - g_object_unref(GTK_WIDGET(ui->w_graph)); - - gtk_widget_show_all(GTK_WIDGET(ui->sensor_box)); + gtk_paned_set_position(GTK_PANED(w_sensor_box), + cfg->window_divider_pos); - if (cfg->menu_bar_disabled) - menu_bar_show(0, ui); - else - menu_bar_show(1, ui); } void ui_window_show(struct ui_psensor *ui) @@ -349,11 +436,11 @@ static int cmp_sensors(const void *p1, const void *p2) return pos1 - pos2; } -struct psensor **ui_get_sensors_ordered_by_position(const struct ui_psensor *ui) +struct psensor **ui_get_sensors_ordered_by_position(struct psensor **sensors) { struct psensor **result; - result = psensor_list_copy(ui->sensors); + result = psensor_list_copy(sensors); qsort(result, psensor_list_size(result), sizeof(struct psensor *), @@ -361,3 +448,8 @@ struct psensor **ui_get_sensors_ordered_by_position(const struct ui_psensor *ui) return result; } + +GtkWidget *ui_get_graph(void) +{ + return w_graph; +} diff --git a/src/ui.h b/src/ui.h index af17b78..95135d6 100644 --- a/src/ui.h +++ b/src/ui.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -26,7 +26,7 @@ #include #include -#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) +#if defined(HAVE_APPINDICATOR) #include #endif @@ -39,31 +39,14 @@ struct ui_psensor { /* mutex which MUST be used for accessing sensors.*/ pthread_mutex_t sensors_mutex; - GtkWidget *w_graph; - struct config *config; GtkWidget *main_window; - GtkWidget *menu_bar; - GtkWidget *popup_menu; - /* - * The main vertical box, top contains the menubar, bottom - * contains the sensor_box. - */ - GtkWidget *main_box; - - /* - * The box which contains the sensors graph and the sensors - * information list. - */ - GtkPaned *sensor_box; - GtkListStore *sensors_store; GtkTreeView *sensors_tree; - GtkScrolledWindow *sensors_scrolled_tree; int graph_update_interval; }; @@ -89,14 +72,13 @@ void ui_window_create(struct ui_psensor *ui); void ui_menu_bar_show(unsigned int show, struct ui_psensor *ui); -void ui_show_about_dialog(); - void ui_enable_alpha_channel(struct ui_psensor *ui); void ui_cb_preferences(GtkMenuItem *mi, gpointer data); -void ui_cb_about(GtkMenuItem *mi, gpointer data); void ui_cb_menu_quit(GtkMenuItem *mi, gpointer data); void ui_cb_sensor_preferences(GtkMenuItem *mi, gpointer data); -struct psensor **ui_get_sensors_ordered_by_position(const struct ui_psensor *); +GtkWidget *ui_get_graph(void); + +struct psensor **ui_get_sensors_ordered_by_position(struct psensor **); #endif diff --git a/src/ui_appindicator.c b/src/ui_appindicator.c index c25e270..ed4cc64 100644 --- a/src/ui_appindicator.c +++ b/src/ui_appindicator.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -23,55 +23,42 @@ #include #include -#include "cfg.h" -#include "psensor.h" -#include "ui.h" -#include "ui_appindicator.h" -#include "ui_sensorpref.h" -#include "ui_status.h" -#include "ui_pref.h" +#include +#include +#include +#include +#include +#include +#include static const char *ICON = "psensor_normal"; static const char *ATTENTION_ICON = "psensor_hot"; +static const char *GLADE_FILE += PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "psensor-appindicator.glade"; + static struct psensor **sensors; static GtkMenuItem **menu_items; -static int appindicator_supported = 1; +static bool appindicator_supported = true; static AppIndicator *indicator; static struct ui_psensor *ui_psensor; -void cb_menu_show(GtkMenuItem *mi, gpointer data) +void ui_appindicator_menu_show_cb(GtkMenuItem *mi, gpointer data) { ui_window_show((struct ui_psensor *)data); } void ui_appindicator_cb_preferences(GtkMenuItem *mi, gpointer data) { -#ifdef HAVE_APPINDICATOR_029 - gdk_threads_enter(); -#endif - ui_pref_dialog_run((struct ui_psensor *)data); - -#ifdef HAVE_APPINDICATOR_029 - gdk_threads_leave(); -#endif } void ui_appindicator_cb_sensor_preferences(GtkMenuItem *mi, gpointer data) { struct ui_psensor *ui = data; -#ifdef HAVE_APPINDICATOR_029 - gdk_threads_enter(); -#endif - if (ui->sensors && *ui->sensors) ui_sensorpref_dialog_run(*ui->sensors, ui); - -#ifdef HAVE_APPINDICATOR_029 - gdk_threads_leave(); -#endif } static void @@ -103,19 +90,21 @@ static void update_menu_items(int use_celsius) } static void -build_sensor_menu_items(const struct ui_psensor *ui, GtkMenu *menu) +create_sensor_menu_items(const struct ui_psensor *ui, GtkMenu *menu) { int i, j, n, celsius; const char *name; struct psensor **sorted_sensors; - free(menu_items); - - celsius = ui->config->temperature_unit == CELSIUS; + if (config_get_temperature_unit() == CELSIUS) + celsius = 1; + else + celsius = 0; - sorted_sensors = ui_get_sensors_ordered_by_position(ui); + sorted_sensors = ui_get_sensors_ordered_by_position(ui->sensors); n = psensor_list_size(sorted_sensors); - menu_items = malloc(n * sizeof(GtkWidget *)); + menu_items = malloc((n + 1) * sizeof(GtkWidget *)); + sensors = malloc((n + 1) * sizeof(struct psensor *)); for (i = 0, j = 0; i < n; i++) { if (config_is_appindicator_enabled(sorted_sensors[i]->id)) { @@ -136,53 +125,63 @@ build_sensor_menu_items(const struct ui_psensor *ui, GtkMenu *menu) } sensors[j] = NULL; + menu_items[j] = NULL; free(sorted_sensors); } -static GtkWidget *get_menu(struct ui_psensor *ui) +static GtkMenu *load_menu(struct ui_psensor *ui) { GError *error; GtkMenu *menu; guint ok; GtkBuilder *builder; + log_fct_enter(); + builder = gtk_builder_new(); error = NULL; - ok = gtk_builder_add_from_file - (builder, - PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "psensor.glade", - &error); + ok = gtk_builder_add_from_file(builder, GLADE_FILE, &error); if (!ok) { - log_printf(LOG_ERR, error->message); + log_err(_("Failed to load glade file %s: %s"), + GLADE_FILE, + error->message); g_error_free(error); return NULL; } menu = GTK_MENU(gtk_builder_get_object(builder, "appindicator_menu")); - build_sensor_menu_items(ui, menu); + create_sensor_menu_items(ui, menu); gtk_builder_connect_signals(builder, ui); g_object_ref(G_OBJECT(menu)); g_object_unref(G_OBJECT(builder)); - return GTK_WIDGET(menu); + log_fct_exit(); + + return menu; } static void update_label(struct ui_psensor *ui) { char *label, *str, *tmp, *guide; struct psensor **p; + int use_celsius; - p = ui_get_sensors_ordered_by_position(ui); + p = ui_get_sensors_ordered_by_position(ui->sensors); label = NULL; guide = NULL; + + if (config_get_temperature_unit() == CELSIUS) + use_celsius = 1; + else + use_celsius = 0; + while (*p) { if (config_is_appindicator_label_enabled((*p)->id)) { - str = psensor_current_value_to_str - (*p, ui->config->temperature_unit == CELSIUS); + str = psensor_current_value_to_str(*p, use_celsius); if (label == NULL) { label = str; @@ -223,7 +222,7 @@ static void update_label(struct ui_psensor *ui) app_indicator_set_label(indicator, label, guide); } -void ui_appindicator_update(struct ui_psensor *ui, unsigned int attention) +void ui_appindicator_update(struct ui_psensor *ui, bool attention) { AppIndicatorStatus status; @@ -240,9 +239,12 @@ void ui_appindicator_update(struct ui_psensor *ui, unsigned int attention) if (attention && status == APP_INDICATOR_STATUS_ACTIVE) app_indicator_set_status(indicator, - APP_INDICATOR_STATUS_ATTENTION); + APP_INDICATOR_STATUS_ATTENTION); - update_menu_items(ui->config->temperature_unit == CELSIUS); + if (config_get_temperature_unit() == CELSIUS) + update_menu_items(1); + else + update_menu_items(0); } static GtkStatusIcon *unity_fallback(AppIndicator *indicator) @@ -251,7 +253,7 @@ static GtkStatusIcon *unity_fallback(AppIndicator *indicator) log_debug("ui_appindicator.unity_fallback()"); - appindicator_supported = 0; + appindicator_supported = false; ico = ui_status_get_icon(ui_psensor); @@ -267,17 +269,47 @@ unity_unfallback(AppIndicator *indicator, GtkStatusIcon *status_icon) ui_status_set_visible(0); - appindicator_supported = 1; + appindicator_supported = true; +} + +static void remove_sensor_menu_items(GtkMenu *menu) +{ + GtkMenuItem **items; + + if (!menu_items) + return; + + items = menu_items; + while (*items) { + gtk_container_remove(GTK_CONTAINER(menu), GTK_WIDGET(*items)); + + items++; + } + + free(menu_items); + free(sensors); } void ui_appindicator_update_menu(struct ui_psensor *ui) { - GtkWidget *menu; + GtkMenu *menu; + + menu = GTK_MENU(app_indicator_get_menu(indicator)); - menu = get_menu(ui); - app_indicator_set_menu(indicator, GTK_MENU(menu)); + if (menu) { + remove_sensor_menu_items(menu); + create_sensor_menu_items(ui, menu); + } else { + menu = load_menu(ui); + + if (menu) { + app_indicator_set_menu(indicator, menu); + g_object_unref(G_OBJECT(menu)); + } + } - gtk_widget_show_all(menu); + if (menu) + gtk_widget_show_all(GTK_WIDGET(menu)); } void ui_appindicator_init(struct ui_psensor *ui) @@ -298,12 +330,12 @@ void ui_appindicator_init(struct ui_psensor *ui) ui_appindicator_update_menu(ui); } -int is_appindicator_supported() +bool is_appindicator_supported(void) { return appindicator_supported; } -void ui_appindicator_cleanup() +void ui_appindicator_cleanup(void) { free(sensors); } diff --git a/src/ui_appindicator.h b/src/ui_appindicator.h index 1dc682e..c808aa6 100644 --- a/src/ui_appindicator.h +++ b/src/ui_appindicator.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,17 +19,31 @@ #ifndef _PSENSOR_UI_APPINDICATOR_H_ #define _PSENSOR_UI_APPINDICATOR_H_ -#include "config.h" -#include "ui.h" +#include + +#include +#include + +#if defined(HAVE_APPINDICATOR) && HAVE_APPINDICATOR + +bool is_appindicator_supported(void); -#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) void ui_appindicator_init(struct ui_psensor *ui); -void ui_appindicator_update(struct ui_psensor *ui, unsigned int attention); +void ui_appindicator_update(struct ui_psensor *ui, bool alert); void ui_appindicator_update_menu(struct ui_psensor *ui); -int is_appindicator_supported(); -void ui_appindicator_cleanup(); +void ui_appindicator_cleanup(void); +void ui_appindicator_menu_show_cb(GtkMenuItem *, gpointer); + #else -#define is_appindicator_supported() 0 + +static inline bool is_appindicator_supported(void) { return false; } + +static inline void ui_appindicator_init(struct ui_psensor *ui) {} +static inline void ui_appindicator_update(struct ui_psensor *ui, bool alert) {} +static inline void ui_appindicator_update_menu(struct ui_psensor *ui) {} +static inline void ui_appindicator_cleanup(void) {} +static inline void ui_appindicator_menu_show_cb(GtkMenuItem *m, gpointer d) {} + #endif #endif diff --git a/src/ui_color.c b/src/ui_color.c index 85277ff..3c77827 100644 --- a/src/ui_color.c +++ b/src/ui_color.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -18,53 +18,29 @@ */ #include -#include "ui_color.h" +#include -int ui_change_color(const char *title, struct color *col, GtkWindow *win) +/* + * UI to change a given color. + * + * Returns 1 if the color has been modified. + */ +bool ui_change_color(const char *title, GdkRGBA *color, GtkWindow *win) { - GdkRGBA color; int res; GtkColorChooserDialog *colordlg; - double r, g, b; - - color.red = col->red; - color.green = col->green; - color.blue = col->blue; - color.alpha = 1; colordlg = GTK_COLOR_CHOOSER_DIALOG (gtk_color_chooser_dialog_new(title, win)); gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(colordlg), 0); - gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(colordlg), &color); + gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(colordlg), color); res = gtk_dialog_run(GTK_DIALOG(colordlg)); - if (res == GTK_RESPONSE_OK) { - gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(colordlg), &color); - - /* GdkRGBA defines rgb as double 0..1 but chooser returns - * values > 1 when selecting a custom undefined color. - * Not sure whether that's a gtk/gdk bug. */ - - if (color.red > 1) - r = 1; - else - r = color.red; - - if (color.green > 1) - g = 1; - else - g = color.green; - - if (color.blue > 1) - b = 1; - else - b = color.blue; - - color_set(col, r, g, b); - } + if (res == GTK_RESPONSE_OK) + gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(colordlg), color); gtk_widget_destroy(GTK_WIDGET(colordlg)); diff --git a/src/ui_color.h b/src/ui_color.h index 8d957f1..3c41b78 100644 --- a/src/ui_color.h +++ b/src/ui_color.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,13 +19,8 @@ #ifndef _PSENSOR_UI_COLOR_H_ #define _PSENSOR_UI_COLOR_H_ -#include "color.h" +#include -/* - * UI to change a given color. - * - * Returns 1 if the color has been modified. - */ -int ui_change_color(const char *title, struct color *col, GtkWindow *win); +bool ui_change_color(const char *, GdkRGBA *, GtkWindow *); #endif diff --git a/src/ui_graph.c b/src/ui_graph.c index e5e0e76..577e83a 100644 --- a/src/ui_graph.c +++ b/src/ui_graph.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -38,14 +38,14 @@ on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) struct ui_psensor *ui_psensor = (struct ui_psensor *)data; graph_update(ui_psensor->sensors, - ui_psensor->w_graph, + ui_get_graph(), ui_psensor->config, ui_psensor->main_window); return FALSE; } -void smooth_curves_enabled_changed_cbk(void *data) +static void smooth_curves_enabled_changed_cbk(void *data) { is_smooth_curves_enabled = config_is_smooth_curves_enabled(); } @@ -56,7 +56,7 @@ void ui_graph_create(struct ui_psensor *ui) log_debug("ui_graph_create()"); - w_graph = ui->w_graph; + w_graph = ui_get_graph(); is_smooth_curves_enabled = config_is_smooth_curves_enabled(); g_signal_connect_after(config_get_GSettings(), diff --git a/src/ui_graph.h b/src/ui_graph.h index c53cd5d..a316075 100644 --- a/src/ui_graph.h +++ b/src/ui_graph.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 diff --git a/src/ui_notify.c b/src/ui_notify.c index a668014..719f502 100644 --- a/src/ui_notify.c +++ b/src/ui_notify.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -59,7 +59,7 @@ void ui_notify(struct psensor *sensor, struct ui_psensor *ui) notify_init("psensor"); if (notify_is_initted() == TRUE) { - if (ui->config->temperature_unit == CELSIUS) + if (config_get_temperature_unit() == CELSIUS) use_celsius = 1; else use_celsius = 0; diff --git a/src/ui_notify.h b/src/ui_notify.h index 82b66a1..51dc3d1 100644 --- a/src/ui_notify.h +++ b/src/ui_notify.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,9 +19,16 @@ #ifndef _PSENSOR_UI_NOTIFY_H_ #define _PSENSOR_UI_NOTIFY_H_ -#include "psensor.h" -#include "ui.h" +#include -void ui_notify(struct psensor *sensor, struct ui_psensor *ui); +#if defined(HAVE_LIBNOTIFY) && HAVE_LIBNOTIFY + +void ui_notify(struct psensor *, struct ui_psensor *); + +#else + +static inline void ui_notify(struct psensor *s, struct ui_psensor *u) {} + +#endif #endif diff --git a/src/ui_pref.c b/src/ui_pref.c index 5494777..8d2c8ab 100644 --- a/src/ui_pref.c +++ b/src/ui_pref.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,12 +19,51 @@ #include #include -#include +#include #include #include -#include -#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include + +void ui_pref_decoration_toggled_cbk(GtkToggleButton *btn, gpointer data) +{ + config_set_window_decoration_enabled + (!gtk_toggle_button_get_active(btn)); +} + +void ui_pref_keep_below_toggled_cbk(GtkToggleButton *btn, gpointer data) +{ + config_set_window_keep_below_enabled + (gtk_toggle_button_get_active(btn)); +} + +void ui_pref_temperature_unit_changed_cbk(GtkComboBox *combo, gpointer data) +{ + config_set_temperature_unit(gtk_combo_box_get_active(combo)); +} + +void ui_pref_menu_toggled_cbk(GtkToggleButton *btn, gpointer data) +{ + config_set_menu_bar_enabled(gtk_toggle_button_get_active(btn)); +} + +void ui_pref_count_visible_toggled_cbk(GtkToggleButton *btn, gpointer data) +{ + config_set_count_visible(gtk_toggle_button_get_active(btn)); +} + +void ui_pref_sensorlist_position_changed_cbk(GtkComboBox *combo, gpointer data) +{ + config_set_sensorlist_position(gtk_combo_box_get_active(combo)); +} GdkRGBA color_to_GdkRGBA(struct color *color) { @@ -52,11 +91,11 @@ void ui_pref_dialog_run(struct ui_psensor *ui) 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_smooth_curves, - *w_atiadlsdk, *w_lmsensors, *w_nvctrl, *w_gtop2, *w_hddtemp, - *w_libatasmart, *w_udisks2; + GtkToggleButton *w_enable_menu, *w_enable_launcher_counter, + *w_hide_on_startup, *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, + *w_decoration, *w_keep_below; GtkComboBoxText *w_temp_unit; GtkEntry *w_notif_script; char *notif_script; @@ -111,6 +150,16 @@ void ui_pref_dialog_run(struct ui_psensor *ui) gtk_spin_button_set_value(w_s_update_interval, cfg->sensor_update_interval); + w_decoration = GTK_TOGGLE_BUTTON(gtk_builder_get_object + (builder, "hide_window_decoration")); + gtk_toggle_button_set_active(w_decoration, + !config_is_window_decoration_enabled()); + + w_keep_below = GTK_TOGGLE_BUTTON(gtk_builder_get_object + (builder, "keep_window_below")); + gtk_toggle_button_set_active(w_keep_below, + config_is_window_keep_below_enabled()); + w_monitoring_duration = GTK_SPIN_BUTTON(gtk_builder_get_object (builder, "monitoring_duration")); @@ -119,17 +168,8 @@ void ui_pref_dialog_run(struct ui_psensor *ui) w_sensorlist_pos = GTK_COMBO_BOX (gtk_builder_get_object(builder, "sensors_list_position")); - gtk_combo_box_set_active(w_sensorlist_pos, cfg->sensorlist_position); - - w_hide_window_decoration = GTK_TOGGLE_BUTTON - (gtk_builder_get_object(builder, "hide_window_decoration")); - gtk_toggle_button_set_active(w_hide_window_decoration, - !cfg->window_decoration_enabled); - - w_keep_window_below = GTK_TOGGLE_BUTTON - (gtk_builder_get_object(builder, "keep_window_below")); - gtk_toggle_button_set_active(w_keep_window_below, - cfg->window_keep_below_enabled); + gtk_combo_box_set_active(w_sensorlist_pos, + config_get_sensorlist_position()); w_autostart = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "autostart")); @@ -137,12 +177,23 @@ void ui_pref_dialog_run(struct ui_psensor *ui) w_enable_menu = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "enable_menu")); - gtk_toggle_button_set_active(w_enable_menu, !cfg->menu_bar_disabled); + gtk_toggle_button_set_active(w_enable_menu, + config_is_menu_bar_enabled()); w_enable_launcher_counter = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "enable_launcher_counter")); gtk_toggle_button_set_active(w_enable_launcher_counter, - !cfg->unity_launcher_count_disabled); + config_is_count_visible()); + + if (ui_unity_is_supported()) { + gtk_widget_set_has_tooltip + (GTK_WIDGET(w_enable_launcher_counter), FALSE); + } else { + gtk_widget_set_sensitive + (GTK_WIDGET(w_enable_launcher_counter), FALSE); + gtk_widget_set_has_tooltip + (GTK_WIDGET(w_enable_launcher_counter), TRUE); + } w_smooth_curves = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "graph_smooth_curves")); @@ -172,7 +223,7 @@ void ui_pref_dialog_run(struct ui_psensor *ui) = GTK_COMBO_BOX_TEXT(gtk_builder_get_object (builder, "temperature_unit")); gtk_combo_box_set_active(GTK_COMBO_BOX(w_temp_unit), - cfg->temperature_unit); + config_get_temperature_unit()); /* providers */ w_lmsensors @@ -180,29 +231,50 @@ void ui_pref_dialog_run(struct ui_psensor *ui) "lmsensors")); gtk_toggle_button_set_active(w_lmsensors, config_is_lmsensor_enabled()); + if (lmsensor_is_supported()) { + gtk_widget_set_has_tooltip(GTK_WIDGET(w_lmsensors), FALSE); + } else { + gtk_widget_set_sensitive(GTK_WIDGET(w_lmsensors), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_lmsensors), TRUE); + } + w_nvctrl = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "nvctrl")); -#if !HAVE_NVIDIA - gtk_widget_set_sensitive(GTK_WIDGET(w_nvctrl), 0); -#endif + + if (nvidia_is_supported()) { + gtk_widget_set_has_tooltip(GTK_WIDGET(w_nvctrl), FALSE); + } else { + gtk_widget_set_sensitive(GTK_WIDGET(w_nvctrl), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_nvctrl), TRUE); + } + 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 + if (amd_is_supported()) { + gtk_widget_set_has_tooltip(GTK_WIDGET(w_atiadlsdk), FALSE); + } else { + gtk_widget_set_sensitive(GTK_WIDGET(w_atiadlsdk), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_atiadlsdk), TRUE); + } + 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 + + if (gtop2_is_supported()) { + gtk_widget_set_has_tooltip(GTK_WIDGET(w_gtop2), FALSE); + } else { + gtk_widget_set_sensitive(GTK_WIDGET(w_gtop2), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_gtop2), TRUE); + } + gtk_toggle_button_set_active(w_gtop2, config_is_gtop2_enabled()); w_hddtemp @@ -214,20 +286,34 @@ void ui_pref_dialog_run(struct ui_psensor *ui) w_libatasmart = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "libatasmart")); -#if !HAVE_ATASMART - gtk_widget_set_sensitive(GTK_WIDGET(w_libatasmart), 0); -#endif + + if (atasmart_is_supported()) { + gtk_widget_set_has_tooltip(GTK_WIDGET(w_libatasmart), FALSE); + } else { + gtk_widget_set_sensitive(GTK_WIDGET(w_libatasmart), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_libatasmart), TRUE); + } + 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 + + if (udisks2_is_supported()) { + gtk_widget_set_has_tooltip(GTK_WIDGET(w_udisks2), FALSE); + } else { + gtk_widget_set_sensitive(GTK_WIDGET(w_udisks2), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_udisks2), TRUE); + } + gtk_toggle_button_set_active(w_udisks2, config_is_udisks2_enabled()); + gtk_window_set_transient_for(GTK_WINDOW(diag), + GTK_WINDOW(ui->main_window)); + gtk_builder_connect_signals(builder, NULL); + result = gtk_dialog_run(diag); if (result == GTK_RESPONSE_ACCEPT) { @@ -259,28 +345,6 @@ void ui_pref_dialog_run(struct ui_psensor *ui) else cfg->alpha_channel_enabled = 1; - cfg->sensorlist_position - = gtk_combo_box_get_active(w_sensorlist_pos); - - cfg->window_decoration_enabled = - !gtk_toggle_button_get_active(w_hide_window_decoration); - - cfg->window_keep_below_enabled - = gtk_toggle_button_get_active(w_keep_window_below); - - cfg->menu_bar_disabled - = !gtk_toggle_button_get_active(w_enable_menu); - - cfg->unity_launcher_count_disabled - = !gtk_toggle_button_get_active - (w_enable_launcher_counter); - - gtk_window_set_decorated(GTK_WINDOW(ui->main_window), - cfg->window_decoration_enabled); - - gtk_window_set_keep_below(GTK_WINDOW(ui->main_window), - cfg->window_keep_below_enabled); - cfg->sensor_update_interval = gtk_spin_button_get_value_as_int(w_s_update_interval); @@ -303,9 +367,6 @@ void ui_pref_dialog_run(struct ui_psensor *ui) cfg->slog_interval = gtk_spin_button_get_value_as_int(w_slog_interval); - 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); diff --git a/src/ui_pref.h b/src/ui_pref.h index 2e669c5..54cf2e1 100644 --- a/src/ui_pref.h +++ b/src/ui_pref.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -24,4 +24,7 @@ void ui_pref_dialog_run(struct ui_psensor *); GdkRGBA color_to_GdkRGBA(struct color *color); +void ui_pref_decoration_toggled_cbk(GtkToggleButton *, gpointer); +void ui_pref_keep_below_toggled_cbk(GtkToggleButton *, gpointer); + #endif diff --git a/src/ui_sensorlist.c b/src/ui_sensorlist.c index 5f1cb4f..9d4b748 100644 --- a/src/ui_sensorlist.c +++ b/src/ui_sensorlist.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -58,12 +58,12 @@ static void populate(struct ui_psensor *ui) { GtkTreeIter iter; GtkListStore *store; - GdkRGBA color; + GdkRGBA *color; char *scolor; struct psensor **ordered_sensors, **s_cur, *s; unsigned int enabled; - ordered_sensors = ui_get_sensors_ordered_by_position(ui); + ordered_sensors = ui_get_sensors_ordered_by_position(ui->sensors); store = ui->sensors_store; gtk_list_store_clear(store); @@ -73,23 +73,21 @@ static void populate(struct ui_psensor *ui) gtk_list_store_append(store, &iter); - color.red = s->color->red; - color.green = s->color->green; - color.blue = s->color->blue; - color.alpha = 1.0; + color = config_get_sensor_color(s->id); - scolor = gdk_rgba_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_GRAPH_ENABLED, s->graph_enabled, + COL_GRAPH_ENABLED, + config_is_sensor_graph_enabled(s->id), COL_SENSOR, s, COL_DISPLAY_ENABLED, enabled, -1); free(scolor); + gdk_rgba_free(color); } free(ordered_sensors); } @@ -112,7 +110,10 @@ void ui_sensorlist_update(struct ui_psensor *ui, bool complete) store = ui->sensors_store; - use_celsius = ui->config->temperature_unit == CELSIUS; + if (config_get_temperature_unit() == CELSIUS) + use_celsius = 1; + else + use_celsius = 0; valid = gtk_tree_model_get_iter_first(model, &iter); while (valid) { @@ -121,8 +122,12 @@ void ui_sensorlist_update(struct ui_psensor *ui, bool complete) value = psensor_value_to_str(s->type, psensor_get_current_value(s), use_celsius); - min = psensor_value_to_str(s->type, s->min, use_celsius); - max = psensor_value_to_str(s->type, s->max, use_celsius); + min = psensor_value_to_str(s->type, + s->sess_lowest, + use_celsius); + max = psensor_value_to_str(s->type, + s->sess_highest, + use_celsius); gtk_list_store_set(store, &iter, COL_TEMP, value, @@ -283,6 +288,7 @@ static int clicked_cbk(GtkWidget *widget, GdkEventButton *event, gpointer data) GtkTreeView *view; struct psensor *s; int coli; + GdkRGBA *color; ui = (struct ui_psensor *)data; view = ui->sensors_tree; @@ -293,13 +299,15 @@ 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) { + color = config_get_sensor_color(s->id); if (ui_change_color(_("Select sensor color"), - s->color, + color, GTK_WINDOW(ui->main_window))) { + config_set_sensor_color(s->id, color); ui_sensorlist_update(ui, 1); - config_set_sensor_color(s->id, s->color); config_sync(); } + gdk_rgba_free(color); return TRUE; } else if (coli >= 0 && coli != COL_GRAPH_ENABLED) { menu = create_sensor_popup(ui, s); @@ -323,6 +331,7 @@ void ui_sensorlist_cb_graph_toggled(GtkCellRendererToggle *cell, GtkTreePath *path; struct psensor *s, *s2; gboolean valid; + bool b; ui = (struct ui_psensor *)data; fmodel = gtk_tree_view_get_model(ui->sensors_tree); @@ -333,8 +342,9 @@ void ui_sensorlist_cb_graph_toggled(GtkCellRendererToggle *cell, gtk_tree_model_get(fmodel, &iter, COL_SENSOR, &s, -1); - s->graph_enabled ^= 1; - config_set_sensor_graph_enabled(s->id, s->graph_enabled); + b = config_is_sensor_graph_enabled(s->id) ^ 1; + config_set_sensor_graph_enabled(s->id, b); + config_sync(); gtk_tree_path_free(path); @@ -348,7 +358,7 @@ void ui_sensorlist_cb_graph_toggled(GtkCellRendererToggle *cell, gtk_list_store_set(ui->sensors_store, &iter, COL_GRAPH_ENABLED, - s->graph_enabled, + b, -1); valid = gtk_tree_model_iter_next(model, &iter); } diff --git a/src/ui_sensorlist.h b/src/ui_sensorlist.h index 8e4d6c6..953bbcd 100644 --- a/src/ui_sensorlist.h +++ b/src/ui_sensorlist.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -28,4 +28,6 @@ void ui_sensorlist_create(struct ui_psensor *); /* Update values current/min/max */ void ui_sensorlist_update(struct ui_psensor *ui, bool complete); +void ui_sensorlist_cb_graph_toggled(GtkCellRendererToggle *, gchar *, gpointer); + #endif diff --git a/src/ui_sensorpref.c b/src/ui_sensorpref.c index 6ca0815..b87d53d 100644 --- a/src/ui_sensorpref.c +++ b/src/ui_sensorpref.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -22,418 +22,398 @@ #include #include +#include +#include #include #include #include -#include - - -#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) -#include "ui_appindicator.h" -#endif enum { COL_NAME = 0, COL_SENSOR_PREF }; -struct sensor_pref { - struct psensor *sensor; - char *name; - 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 { - struct ui_psensor *ui; - GtkBuilder *builder; -}; +static GtkTreeView *w_sensors_list; +static GtkDialog *w_dialog; +static GtkLabel *w_sensor_id; +static GtkLabel *w_sensor_type; +static GtkLabel *w_sensor_chipname; +static GtkLabel *w_sensor_min; +static GtkLabel *w_sensor_max; +static GtkLabel *w_sensor_low_threshold_unit; +static GtkLabel *w_sensor_high_threshold_unit; +static GtkEntry *w_sensor_name; +static GtkToggleButton *w_sensor_draw; +static GtkToggleButton *w_sensor_display; +static GtkToggleButton *w_sensor_alarm; +static GtkToggleButton *w_appindicator_enabled; +static GtkToggleButton *w_appindicator_label_enabled; +static GtkColorButton *w_sensor_color; +static GtkSpinButton *w_sensor_high_threshold; +static GtkSpinButton *w_sensor_low_threshold; +static GtkListStore *store; + +/* 'true' when the notifications of field changes are due to the change + * of the selected sensor. + */ +static bool ignore_changes; -static struct sensor_pref * -sensor_pref_new(struct psensor *s, struct config *cfg) +static struct psensor *get_selected_sensor(void) { - struct sensor_pref *p; - - p = malloc(sizeof(struct sensor_pref)); - - p->sensor = s; - p->name = strdup(s->name); - 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); + GtkTreeModel *model; + GtkTreeIter iter; + struct psensor *s; + GtkTreeSelection *selection; - if (cfg->temperature_unit == CELSIUS) { - p->alarm_high_threshold = s->alarm_high_threshold; - p->alarm_low_threshold = s->alarm_low_threshold; - } else { - p->alarm_high_threshold - = celsius_to_fahrenheit(s->alarm_high_threshold); - p->alarm_low_threshold - = celsius_to_fahrenheit(s->alarm_low_threshold); - } + selection = gtk_tree_view_get_selection(w_sensors_list); - p->appindicator_enabled = s->appindicator_enabled; - p->appindicator_label_enabled - = config_is_appindicator_label_enabled(s->id); + s = NULL; + if (gtk_tree_selection_get_selected(selection, &model, &iter)) + gtk_tree_model_get(model, &iter, COL_SENSOR_PREF, &s, -1); - return p; + return s; } -static void sensor_pref_free(struct sensor_pref *p) +static void apply_config(struct ui_psensor *ui) { - if (!p) - return; - - free(p->name); - free(p->color); + config_sync(); - free(p); + ui_sensorlist_update(ui, 1); + ui_appindicator_update_menu(ui); } -static struct sensor_pref *get_selected_sensor_pref(GtkTreeView *tree) +void ui_sensorpref_name_changed_cb(GtkEntry *entry, gpointer data) { - GtkTreeModel *model; - GtkTreeIter iter; - struct sensor_pref *pref; - GtkTreeSelection *selection; + struct psensor *s; - selection = gtk_tree_view_get_selection(tree); + const gchar *str; - pref = NULL; - if (gtk_tree_selection_get_selected(selection, &model, &iter)) - gtk_tree_model_get(model, &iter, COL_SENSOR_PREF, &pref, -1); + if (ignore_changes) + return; - return pref; -} + s = get_selected_sensor(); -void ui_sensorpref_name_changed_cb(GtkEntry *entry, gpointer data) -{ - struct sensor_pref *p; - const char *str; + if (!s) + return; str = gtk_entry_get_text(entry); - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + if (strcmp(str, s->name)) { + free(s->name); + s->name = strdup(str); + config_set_sensor_name(s->id, str); - if (p && strcmp(p->name, str)) { - free(p->name); - p->name = strdup(str); + apply_config((struct ui_psensor *)data); } } void ui_sensorpref_draw_toggled_cb(GtkToggleButton *btn, gpointer data) { - struct sensor_pref *p; + gboolean active; + struct psensor *s; + + if (ignore_changes) + return; + + s = get_selected_sensor(); + + if (!s) + return; - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + active = gtk_toggle_button_get_active(btn); + config_set_sensor_graph_enabled(s->id, active); - if (p) - p->graph_enabled = gtk_toggle_button_get_active(btn); + apply_config((struct ui_psensor *)data); } void ui_sensorpref_display_toggled_cb(GtkToggleButton *btn, gpointer data) { - struct sensor_pref *p; + gboolean active; + struct psensor *s; + + if (ignore_changes) + return; + + s = get_selected_sensor(); + + if (!s) + return; - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + active = gtk_toggle_button_get_active(btn); + config_set_sensor_enabled(s->id, active); - if (p) - p->display_enabled = gtk_toggle_button_get_active(btn); + apply_config((struct ui_psensor *)data); } void ui_sensorpref_alarm_toggled_cb(GtkToggleButton *btn, gpointer data) { - struct sensor_pref *p; + gboolean active; + struct psensor *s; + + if (ignore_changes) + return; + + s = get_selected_sensor(); - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + if (!s) + return; + + active = gtk_toggle_button_get_active(btn); + config_set_sensor_alarm_enabled(s->id, active); - if (p) - p->alarm_enabled = gtk_toggle_button_get_active(btn); + apply_config((struct ui_psensor *)data); } void ui_sensorpref_appindicator_menu_toggled_cb(GtkToggleButton *btn, gpointer data) { - struct sensor_pref *p; + gboolean active; + struct psensor *s; + + if (ignore_changes) + return; - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + s = get_selected_sensor(); - if (p) - p->appindicator_enabled = gtk_toggle_button_get_active(btn); + if (!s) + return; + + active = gtk_toggle_button_get_active(btn); + config_set_appindicator_enabled(s->id, active); + + apply_config((struct ui_psensor *)data); } void ui_sensorpref_appindicator_label_toggled_cb(GtkToggleButton *btn, gpointer data) { - struct sensor_pref *p; + gboolean active; + struct psensor *s; + + if (ignore_changes) + return; + + s = get_selected_sensor(); - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + if (!s) + return; - if (p) - p->appindicator_label_enabled - = gtk_toggle_button_get_active(btn); + active = gtk_toggle_button_get_active(btn); + config_set_appindicator_label_enabled(s->id, active); + + apply_config((struct ui_psensor *)data); } void ui_sensorpref_color_set_cb(GtkColorButton *widget, gpointer data) { - struct sensor_pref *p; + struct psensor *s; GdkRGBA color; - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + if (ignore_changes) + return; - if (p) { - gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(widget), &color); - color_set(p->color, color.red, color.green, color.blue); - } + s = get_selected_sensor(); + if (!s) + return; + + gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(widget), &color); + config_set_sensor_color(s->id, &color); + + apply_config((struct ui_psensor *)data); } void ui_sensorpref_alarm_high_threshold_changed_cb(GtkSpinButton *btn, gpointer data) { - struct sensor_pref *p; + struct psensor *s; + gdouble v; + + if (ignore_changes) + return; + + s = get_selected_sensor(); + if (!s) + return; - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + v = gtk_spin_button_get_value(btn); + if (config_get_temperature_unit() == FAHRENHEIT) + v = fahrenheit_to_celsius(v); - if (p) - p->alarm_high_threshold = gtk_spin_button_get_value(btn); + config_set_sensor_alarm_high_threshold(s->id, v); + s->alarm_high_threshold = v; + + apply_config((struct ui_psensor *)data); } void ui_sensorpref_alarm_low_threshold_changed_cb(GtkSpinButton *btn, gpointer data) { - struct sensor_pref *p; + struct psensor *s; + gdouble v; + + if (ignore_changes) + return; + + s = get_selected_sensor(); + if (!s) + return; + + v = gtk_spin_button_get_value(btn); + if (config_get_temperature_unit() == FAHRENHEIT) + v = fahrenheit_to_celsius(v); - p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); + config_set_sensor_alarm_low_threshold(s->id, v); + s->alarm_low_threshold = v; - if (p) - p->alarm_low_threshold = gtk_spin_button_get_value(btn); + apply_config((struct ui_psensor *)data); } -static void -update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder) +static void update_pref(struct psensor *s) { - GtkLabel *w_id, *w_type, *w_high_threshold_unit, *w_low_threshold_unit, - *w_chipname; - GtkEntry *w_name; - GtkToggleButton *w_draw, *w_alarm, *w_appindicator_enabled, - *w_appindicator_label_enabled, *w_display; - GtkColorButton *w_color; - GtkSpinButton *w_high_threshold, *w_low_threshold; - GdkRGBA color; - struct psensor *s; - int use_celsius; - - s = p->sensor; + int use_celsius, threshold; + GdkRGBA *color; + const char *chip; + char *smin, *smax; - w_id = GTK_LABEL(gtk_builder_get_object(builder, "sensor_id")); - gtk_label_set_text(w_id, s->id); + if (!s) + return; - w_type = GTK_LABEL(gtk_builder_get_object(builder, "sensor_type")); - gtk_label_set_text(w_type, psensor_type_to_str(s->type)); + ignore_changes = true; - w_name = GTK_ENTRY(gtk_builder_get_object(builder, "sensor_name")); - gtk_entry_set_text(w_name, p->name); + gtk_label_set_text(w_sensor_id, s->id); + gtk_label_set_text(w_sensor_type, psensor_type_to_str(s->type)); + gtk_entry_set_text(w_sensor_name, s->name); - w_chipname = GTK_LABEL(gtk_builder_get_object(builder, "chip_name")); if (s->chip) - gtk_label_set_text(w_chipname, s->chip); + chip = s->chip; else - gtk_label_set_text(w_chipname, _("Unknown")); - - w_draw = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, - "sensor_draw")); - gtk_toggle_button_set_active(w_draw, p->graph_enabled); - - 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_chooser_set_rgba(GTK_COLOR_CHOOSER(w_color), &color); - - w_alarm = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, - "sensor_alarm")); - w_high_threshold = GTK_SPIN_BUTTON(gtk_builder_get_object - (builder, - "sensor_alarm_high_threshold")); - w_low_threshold = GTK_SPIN_BUTTON(gtk_builder_get_object - (builder, - "sensor_alarm_low_threshold")); - - w_high_threshold_unit = GTK_LABEL(gtk_builder_get_object - (builder, - "sensor_alarm_high_threshold_unit")); - w_low_threshold_unit = GTK_LABEL(gtk_builder_get_object - (builder, - "sensor_alarm_low_threshold_unit")); - - use_celsius = cfg->temperature_unit == CELSIUS ? 1 : 0; - gtk_label_set_text(w_high_threshold_unit, - psensor_type_to_unit_str(s->type, - use_celsius)); - gtk_label_set_text(w_low_threshold_unit, - psensor_type_to_unit_str(s->type, - use_celsius)); + chip = _("Unknown"); + gtk_label_set_text(w_sensor_chipname, chip); - w_appindicator_enabled = GTK_TOGGLE_BUTTON - (gtk_builder_get_object(builder, "indicator_checkbox")); - w_appindicator_label_enabled = GTK_TOGGLE_BUTTON - (gtk_builder_get_object(builder, "indicator_label_checkbox")); + use_celsius = config_get_temperature_unit() == CELSIUS ? 1 : 0; - 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); + if (s->min == UNKNOWN_DBL_VALUE) + smin = strdup(_("Unknown")); + else + smin = psensor_value_to_str(s->type, s->min, use_celsius); + + gtk_label_set_text(w_sensor_min, smin); + free(smin); + + if (s->max == UNKNOWN_DBL_VALUE) + smax = strdup(_("Unknown")); + else + smax = psensor_value_to_str(s->type, s->max, use_celsius); + gtk_label_set_text(w_sensor_max, smax); + free(smax); + + gtk_toggle_button_set_active(w_sensor_draw, + config_is_sensor_graph_enabled(s->id)); + + gtk_toggle_button_set_active(w_sensor_display, + config_is_sensor_enabled(s->id)); + + color = config_get_sensor_color(s->id); + gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(w_sensor_color), color); + gdk_rgba_free(color); + + gtk_label_set_text(w_sensor_high_threshold_unit, + psensor_type_to_unit_str(s->type, use_celsius)); + gtk_label_set_text(w_sensor_low_threshold_unit, + psensor_type_to_unit_str(s->type, use_celsius)); + + if (is_appindicator_supported()) { + gtk_widget_set_has_tooltip + (GTK_WIDGET(w_appindicator_label_enabled), FALSE); + gtk_widget_set_has_tooltip + (GTK_WIDGET(w_appindicator_enabled), FALSE); + } else { + gtk_widget_set_sensitive + (GTK_WIDGET(w_appindicator_label_enabled), FALSE); + gtk_widget_set_has_tooltip + (GTK_WIDGET(w_appindicator_label_enabled), TRUE); + gtk_widget_set_sensitive + (GTK_WIDGET(w_appindicator_enabled), FALSE); + gtk_widget_set_has_tooltip + (GTK_WIDGET(w_appindicator_enabled), TRUE); + } + + gtk_toggle_button_set_active(w_sensor_alarm, + config_get_sensor_alarm_enabled(s->id)); + + threshold = s->alarm_high_threshold; + if (!use_celsius) + threshold = celsius_to_fahrenheit(threshold); + gtk_spin_button_set_value(w_sensor_high_threshold, threshold); + + threshold = s->alarm_low_threshold; + if (!use_celsius) + threshold = celsius_to_fahrenheit(threshold); + gtk_spin_button_set_value(w_sensor_low_threshold, threshold); gtk_toggle_button_set_active(w_appindicator_enabled, - p->appindicator_enabled); + config_is_appindicator_enabled(s->id)); + + gtk_toggle_button_set_active + (w_appindicator_label_enabled, + config_is_appindicator_label_enabled(s->id)); - gtk_toggle_button_set_active(w_appindicator_label_enabled, - p->appindicator_label_enabled); + ignore_changes = false; } -static void on_changed(GtkTreeSelection *selection, gpointer data) +void +ui_sensorpref_tree_selection_changed_cb(GtkTreeSelection *sel, gpointer data) { - struct cb_data *cbdata = data; - struct ui_psensor *ui = cbdata->ui; - struct sensor_pref *p; - GtkTreeView *tree; - - tree = GTK_TREE_VIEW(gtk_builder_get_object(cbdata->builder, - "sensors_list")); - p = get_selected_sensor_pref(tree); - update_pref(p, ui->config, cbdata->builder); + update_pref(get_selected_sensor()); } -static void -select_sensor(struct psensor *s, struct psensor **sensors, GtkTreeView *tree) +static void select_sensor(struct psensor *s, struct psensor **sensors) { struct psensor **s_cur; int i; GtkTreePath *p; + GtkTreeSelection *sel; - p = NULL; for (s_cur = sensors, i = 0; *s_cur; s_cur++, i++) if (s == *s_cur) { p = gtk_tree_path_new_from_indices(i, -1); - break; - } + sel = gtk_tree_view_get_selection(w_sensors_list); + gtk_tree_selection_select_path(sel, p); - if (p) { - GtkTreeSelection *s = gtk_tree_view_get_selection(tree); + gtk_tree_path_free(p); - gtk_tree_selection_select_path(s, p); - gtk_tree_path_free(p); - } + update_pref(s); + break; + } } -static void apply_pref(struct sensor_pref *p, int pos, struct config *cfg) +static void quit(void) { - struct psensor *s; - - s = p->sensor; - - if (strcmp(p->name, s->name)) { - free(s->name); - s->name = strdup(p->name); - config_set_sensor_name(s->id, s->name); - } - - 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) { - s->alarm_high_threshold - = fahrenheit_to_celsius(p->alarm_high_threshold); - s->alarm_low_threshold - = fahrenheit_to_celsius(p->alarm_low_threshold); - } else { - s->alarm_high_threshold = p->alarm_high_threshold; - s->alarm_low_threshold = p->alarm_low_threshold; - } - - config_set_sensor_alarm_high_threshold(s->id, s->alarm_high_threshold); - config_set_sensor_alarm_low_threshold(s->id, s->alarm_low_threshold); - - if (s->alarm_enabled != p->alarm_enabled) { - s->alarm_enabled = p->alarm_enabled; - config_set_sensor_alarm_enabled(s->id, s->alarm_enabled); - } - - 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) { - s->appindicator_enabled = p->appindicator_enabled; - config_set_appindicator_enabled(s->id, s->appindicator_enabled); - } - - config_set_appindicator_label_enabled(s->id, - p->appindicator_label_enabled); - - config_set_sensor_position(s->id, pos); - - config_set_sensor_enabled(s->id, p->display_enabled); + gtk_widget_destroy(GTK_WIDGET(w_dialog)); + w_dialog = NULL; } -static void apply_prefs(GtkTreeModel *model, struct config *cfg) +static gboolean +on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data) { - gboolean valid; - struct sensor_pref *spref; - GtkTreeIter iter; - int i; + quit(); + return TRUE; +} - valid = gtk_tree_model_get_iter_first(model, &iter); - i = 0; - while (valid) { - gtk_tree_model_get(model, &iter, COL_SENSOR_PREF, &spref, -1); - apply_pref(spref, i, cfg); - valid = gtk_tree_model_iter_next(model, &iter); - i++; - } - config_sync(); +void ui_sensorpref_close_clicked_cb(GtkButton *btn, gpointer data) +{ + quit(); } -void ui_sensorpref_dialog_run(struct psensor *sensor, struct ui_psensor *ui) +static GtkBuilder *load_ui(struct ui_psensor *ui) { - GtkDialog *diag; - gint result; - guint ok; GtkBuilder *builder; GError *error; - GtkTreeView *w_sensors_list; - GtkListStore *store; - struct psensor **s_cur, *s, **ordered_sensors; - GtkTreeSelection *selection; - struct cb_data cbdata; - GtkTreeIter iter; - struct sensor_pref *spref; - gboolean valid; - GtkTreeModel *model; + guint ok; - cbdata.ui = ui; + error = NULL; builder = gtk_builder_new(); - cbdata.builder = builder; - - error = NULL; ok = gtk_builder_add_from_file (builder, PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "sensor-edit.glade", @@ -442,59 +422,100 @@ 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 NULL; } - w_sensors_list - = GTK_TREE_VIEW(gtk_builder_get_object(builder, - "sensors_list")); - gtk_builder_connect_signals(builder, w_sensors_list); + w_sensors_list = GTK_TREE_VIEW + (gtk_builder_get_object(builder, "sensors_list")); + w_dialog = GTK_DIALOG(gtk_builder_get_object(builder, "dialog1")); + w_sensor_id = GTK_LABEL(gtk_builder_get_object(builder, "sensor_id")); + w_sensor_type = GTK_LABEL + (gtk_builder_get_object(builder, "sensor_type")); + w_sensor_name = GTK_ENTRY + (gtk_builder_get_object(builder, "sensor_name")); + w_sensor_chipname = GTK_LABEL + (gtk_builder_get_object(builder, "chip_name")); + w_sensor_min = GTK_LABEL + (gtk_builder_get_object(builder, "sensor_min")); + w_sensor_max = GTK_LABEL + (gtk_builder_get_object(builder, "sensor_max")); + w_sensor_draw = GTK_TOGGLE_BUTTON + (gtk_builder_get_object(builder, "sensor_draw")); + w_sensor_display = GTK_TOGGLE_BUTTON + (gtk_builder_get_object(builder, "sensor_enable_checkbox")); + w_sensor_color = GTK_COLOR_BUTTON + (gtk_builder_get_object(builder, "sensor_color")); + w_sensor_alarm = GTK_TOGGLE_BUTTON + (gtk_builder_get_object(builder, "sensor_alarm")); + w_sensor_high_threshold + = GTK_SPIN_BUTTON(gtk_builder_get_object + (builder, "sensor_alarm_high_threshold")); + w_sensor_low_threshold + = GTK_SPIN_BUTTON(gtk_builder_get_object + (builder, "sensor_alarm_low_threshold")); + w_sensor_high_threshold_unit + = GTK_LABEL(gtk_builder_get_object + (builder, "sensor_alarm_high_threshold_unit")); + w_sensor_low_threshold_unit + = GTK_LABEL(gtk_builder_get_object + (builder, "sensor_alarm_low_threshold_unit")); + w_appindicator_enabled = GTK_TOGGLE_BUTTON + (gtk_builder_get_object(builder, "indicator_checkbox")); + w_appindicator_label_enabled = GTK_TOGGLE_BUTTON + (gtk_builder_get_object(builder, "indicator_label_checkbox")); store = GTK_LIST_STORE(gtk_builder_get_object(builder, "sensors_liststore")); - ordered_sensors = ui_get_sensors_ordered_by_position(ui); + gtk_window_set_transient_for(GTK_WINDOW(w_dialog), + GTK_WINDOW(ui->main_window)); + gtk_builder_connect_signals(builder, ui); + + g_signal_connect(w_dialog, + "delete_event", + G_CALLBACK(on_delete_event_cb), + w_dialog); + + return builder; +} + +static void populate(struct psensor *sensor, struct psensor **sensors) +{ + GtkTreeIter iter; + struct psensor **s_cur, **ordered_sensors, *s; + + gtk_list_store_clear(store); + + ordered_sensors = ui_get_sensors_ordered_by_position(sensors); for (s_cur = ordered_sensors; *s_cur; s_cur++) { s = *s_cur; gtk_list_store_append(store, &iter); - spref = sensor_pref_new(s, ui->config); gtk_list_store_set(store, &iter, COL_NAME, s->name, - COL_SENSOR_PREF, spref, + COL_SENSOR_PREF, s, -1); - - if (s == sensor) - update_pref(spref, ui->config, builder); } - selection = gtk_tree_view_get_selection(w_sensors_list); - g_signal_connect(selection, "changed", G_CALLBACK(on_changed), &cbdata); - select_sensor(sensor, ordered_sensors, w_sensors_list); + select_sensor(sensor, ordered_sensors); free(ordered_sensors); +} - diag = GTK_DIALOG(gtk_builder_get_object(builder, "dialog1")); - result = gtk_dialog_run(diag); +void ui_sensorpref_dialog_run(struct psensor *sensor, struct ui_psensor *ui) +{ + GtkBuilder *builder; - model = gtk_tree_view_get_model(w_sensors_list); + if (w_dialog == NULL) { + builder = load_ui(ui); - if (result == GTK_RESPONSE_ACCEPT) { - apply_prefs(model, ui->config); - ui_sensorlist_update(ui, 1); -#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) - ui_appindicator_update_menu(ui); -#endif - } + if (!builder) + return; - valid = gtk_tree_model_get_iter_first(model, &iter); - while (valid) { - gtk_tree_model_get(model, &iter, COL_SENSOR_PREF, &spref, -1); - sensor_pref_free(spref); - valid = gtk_tree_model_iter_next(model, &iter); + g_object_unref(G_OBJECT(builder)); } - g_object_unref(G_OBJECT(builder)); + populate(sensor, ui->sensors); - gtk_widget_destroy(GTK_WIDGET(diag)); + gtk_window_present(GTK_WINDOW(w_dialog)); } diff --git a/src/ui_sensorpref.h b/src/ui_sensorpref.h index e23c743..692dedc 100644 --- a/src/ui_sensorpref.h +++ b/src/ui_sensorpref.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,8 +19,20 @@ #ifndef _PSENSOR_UI_SENSORPREF_H_ #define _PSENSOR_UI_SENSORPREF_H_ -#include "ui.h" +#include void ui_sensorpref_dialog_run(struct psensor *sensor, struct ui_psensor *ui); +void ui_sensorpref_name_changed_cb(GtkEntry *, gpointer); +void ui_sensorpref_draw_toggled_cb(GtkToggleButton *, gpointer); +void ui_sensorpref_display_toggled_cb(GtkToggleButton *, gpointer); +void ui_sensorpref_alarm_toggled_cb(GtkToggleButton *, gpointer); +void ui_sensorpref_appindicator_menu_toggled_cb(GtkToggleButton *, gpointer); +void ui_sensorpref_appindicator_label_toggled_cb(GtkToggleButton *, gpointer); +void ui_sensorpref_color_set_cb(GtkColorButton *, gpointer); +void ui_sensorpref_alarm_high_threshold_changed_cb(GtkSpinButton *, gpointer); +void ui_sensorpref_alarm_low_threshold_changed_cb(GtkSpinButton *, gpointer); +void ui_sensorpref_tree_selection_changed_cb(GtkTreeSelection *, gpointer); +void ui_sensorpref_close_clicked_cb(GtkButton *, gpointer); + #endif diff --git a/src/ui_status.c b/src/ui_status.c index 50dfc9c..22ba5c0 100644 --- a/src/ui_status.c +++ b/src/ui_status.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -23,7 +23,7 @@ static const char *ICON = "psensor_normal"; static const char *ATTENTION_ICON = "psensor_hot"; static GtkStatusIcon *status; -static unsigned status_attention; +static unsigned int status_attention; static void cb_activate(GtkStatusIcon *icon, gpointer data) @@ -62,12 +62,12 @@ void ui_status_init(struct ui_psensor *ui) ui); } -int is_status_supported() +int is_status_supported(void) { return status && gtk_status_icon_is_embedded(status); } -void ui_status_cleanup() +void ui_status_cleanup(void) { log_debug("ui_status_cleanup()"); diff --git a/src/ui_status.h b/src/ui_status.h index cd23300..8a59fd5 100644 --- a/src/ui_status.h +++ b/src/ui_status.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -24,10 +24,10 @@ #include void ui_status_init(struct ui_psensor *ui); -void ui_status_cleanup(); +void ui_status_cleanup(void); void ui_status_update(struct ui_psensor *ui, unsigned int attention); /* Whether status icon is supported i.e. visible. */ -int is_status_supported(); +int is_status_supported(void); GtkStatusIcon *ui_status_get_icon(struct ui_psensor *ui); /* Whether the statuc icon should be visible.*/ void ui_status_set_visible(unsigned int visible); diff --git a/src/ui_unity.c b/src/ui_unity.c index 2c00403..b288447 100644 --- a/src/ui_unity.c +++ b/src/ui_unity.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 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 @@ -18,43 +18,81 @@ */ #include +#include #include #include -static int initialized; static UnityLauncherEntry *psensor_entry; -static unsigned int last_visible = -1; +static bool count_visible; -void ui_unity_launcher_entry_update(struct psensor **sensors, - unsigned int show, - int use_celsius) +static void +count_visible_changed_cbk(GSettings *settings, gchar *key, gpointer data) { - double v; - - if (!initialized) { - psensor_entry = unity_launcher_entry_get_for_desktop_file - (PSENSOR_DESKTOP_FILE); + count_visible = config_is_count_visible(); + if (count_visible) { unity_launcher_entry_set_count(psensor_entry, 0); - initialized = 1; + unity_launcher_entry_set_count_visible(psensor_entry, TRUE); + } else { + unity_launcher_entry_set_count_visible(psensor_entry, FALSE); } +} + +static double get_max_current_value(struct psensor **sensors, unsigned int type) +{ + double m, v; + struct psensor *s; + + m = UNKNOWN_DBL_VALUE; + while (*sensors) { + s = *sensors; - if (last_visible != show) { - if (show) - unity_launcher_entry_set_count_visible(psensor_entry, - TRUE); - else - unity_launcher_entry_set_count_visible(psensor_entry, - FALSE); - last_visible = show; + if ((s->type & type) && config_is_sensor_graph_enabled(s->id)) { + v = psensor_get_current_value(s); + + if (m == UNKNOWN_DBL_VALUE || v > m) + m = v; + } + + sensors++; } - if (sensors && *sensors) { - v = psensor_get_max_current_value(sensors, SENSOR_TYPE_TEMP); + return m; +} + +void ui_unity_launcher_entry_update(struct psensor **sensors) +{ + double v; + + if (!count_visible || !sensors || !*sensors) + return; + + v = get_max_current_value(sensors, SENSOR_TYPE_TEMP); - if (!use_celsius) + if (v != UNKNOWN_DBL_VALUE) { + if (config_get_temperature_unit() == FAHRENHEIT) v = celsius_to_fahrenheit(v); unity_launcher_entry_set_count(psensor_entry, v); } } + +void ui_unity_init(void) +{ + psensor_entry = unity_launcher_entry_get_for_desktop_file + (PSENSOR_DESKTOP_FILE); + + count_visible = config_is_count_visible(); + + if (count_visible) { + unity_launcher_entry_set_count(psensor_entry, 0); + unity_launcher_entry_set_count_visible(psensor_entry, TRUE); + } else { + unity_launcher_entry_set_count_visible(psensor_entry, FALSE); + } + + g_signal_connect_after(config_get_GSettings(), + "changed::interface-unity-launcher-count-disabled", + G_CALLBACK(count_visible_changed_cbk), + NULL); +} diff --git a/src/ui_unity.h b/src/ui_unity.h index d4c79a5..52e51d9 100644 --- a/src/ui_unity.h +++ b/src/ui_unity.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,10 +19,26 @@ #ifndef _PSENSOR_UI_UNITY_H_ #define _PSENSOR_UI_UNITY_H_ +#include #include -void ui_unity_launcher_entry_update(struct psensor **sensors, - unsigned int show, - int use_celsius); +#if defined(HAVE_UNITY) && HAVE_UNITY + +static inline bool ui_unity_is_supported(void) { return true; } + +void ui_unity_launcher_entry_update(struct psensor **); + +void ui_unity_init(void); + +#else + +static inline bool ui_unity_is_supported(void) { return false; } + +static inline void +ui_unity_launcher_entry_update(struct psensor **s) {} + +static inline void ui_unity_init(void) {} + +#endif #endif diff --git a/tests/Makefile.am b/tests/Makefile.am index 9f59764..5bf8b1f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,10 +1,11 @@ check-local: checkpatch.pl - 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 {} \; + 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 {} \; DEFS = -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@ EXTRA_DIST = checkpatch.pl \ + spelling.txt \ test-cppcheck.sh \ test-io-dir-list.sh diff --git a/tests/Makefile.in b/tests/Makefile.in index 215d0da..9b8d7f5 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -14,17 +14,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -98,11 +88,16 @@ 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.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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -399,8 +394,6 @@ 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) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -430,7 +423,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -490,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@ @@ -505,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@ @@ -551,7 +541,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -561,6 +550,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = checkpatch.pl \ + spelling.txt \ test-cppcheck.sh \ test-io-dir-list.sh @@ -588,6 +578,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -765,7 +756,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ + else \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ @@ -1087,11 +1078,9 @@ uninstall-am: mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am -.PRECIOUS: Makefile - check-local: checkpatch.pl - 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 {} \; + 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 {} \; # 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/tests/checkpatch.pl b/tests/checkpatch.pl index cab1691..4904ced 100755 --- a/tests/checkpatch.pl +++ b/tests/checkpatch.pl @@ -7,9 +7,12 @@ use strict; use POSIX; +use File::Basename; +use Cwd 'abs_path'; +use Term::ANSIColor qw(:constants); my $P = $0; -$P =~ s@.*/@@g; +my $D = dirname(abs_path($P)); my $V = '0.32'; @@ -22,13 +25,17 @@ my $chk_patch = 1; my $tst_only; my $emacs = 0; my $terse = 0; +my $showfile = 0; my $file = 0; +my $git = 0; +my %git_commits = (); my $check = 0; my $check_orig = 0; my $summary = 1; my $mailback = 0; my $summary_file = 0; my $show_types = 0; +my $list_types = 0; my $fix = 0; my $fix_inplace = 0; my $root; @@ -43,6 +50,11 @@ my $configuration_file = ".checkpatch.conf"; my $max_line_length = 80; my $ignore_perl_version = 0; my $minimum_perl_version = 5.10.0; +my $min_conf_desc_length = 4; +my $spelling_file = "$D/spelling.txt"; +my $codespell = 0; +my $codespellfile = "/usr/share/codespell/dictionary.txt"; +my $color = 1; sub help { my ($exitcode) = @_; @@ -58,12 +70,25 @@ Options: --patch treat FILE as patchfile (default) --emacs emacs compile window format --terse one line per report + --showfile emit diffed file position, not input file position + -g, --git treat FILE as a single commit or git revision range + single git commit with: + + ^ + ~n + multiple git commits with: + .. + ... + - + git merges are ignored -f, --file treat FILE as regular source file --subjective, --strict enable more subjective tests + --list-types list the possible message types --types TYPE(,TYPE2...) show only these comma separated message types --ignore TYPE(,TYPE2...) ignore various comma separated message types + --show-types show the specific message type in the output --max-line-length=n set the maximum line length, if exceeded, warn - --show-types show the message "types" in the output + --min-conf-desc-length=n set the min description length, if shorter, warn --root=PATH PATH to the kernel tree root --no-summary suppress the per-file summary --mailback only produce a report in case of warnings/errors @@ -83,6 +108,10 @@ Options: file. It's your fault if there's no backup or git --ignore-perl-version override checking of perl version. expect runtime errors. + --codespell Use the codespell dictionary for spelling/typos + (default:/usr/share/codespell/dictionary.txt) + --codespellfile Use this codespell dictionary + --color Use colors when output is STDOUT (default: on) -h, --help, --version display this help and exit When FILE is - read standard input. @@ -91,6 +120,37 @@ EOM exit($exitcode); } +sub uniq { + my %seen; + return grep { !$seen{$_}++ } @_; +} + +sub list_types { + my ($exitcode) = @_; + + my $count = 0; + + local $/ = undef; + + open(my $script, '<', abs_path($P)) or + die "$P: Can't read '$P' $!\n"; + + my $text = <$script>; + close($script); + + my @types = (); + for ($text =~ /\b(?:(?:CHK|WARN|ERROR)\s*\(\s*"([^"]+)")/g) { + push (@types, $_); + } + @types = sort(uniq(@types)); + print("#\tMessage type\n\n"); + foreach my $type (@types) { + print(++$count . "\t" . $type . "\n"); + } + + exit($exitcode); +} + my $conf = which_conf($configuration_file); if (-f $conf) { my @conf_args; @@ -124,13 +184,17 @@ GetOptions( 'patch!' => \$chk_patch, 'emacs!' => \$emacs, 'terse!' => \$terse, + 'showfile!' => \$showfile, 'f|file!' => \$file, + 'g|git!' => \$git, 'subjective!' => \$check, 'strict!' => \$check, 'ignore=s' => \@ignore, 'types=s' => \@use, 'show-types!' => \$show_types, + 'list-types!' => \$list_types, 'max-line-length=i' => \$max_line_length, + 'min-conf-desc-length=i' => \$min_conf_desc_length, 'root=s' => \$root, 'summary!' => \$summary, 'mailback!' => \$mailback, @@ -140,12 +204,17 @@ GetOptions( 'ignore-perl-version!' => \$ignore_perl_version, 'debug=s' => \%debug, 'test-only=s' => \$tst_only, + 'codespell!' => \$codespell, + 'codespellfile=s' => \$codespellfile, + 'color!' => \$color, 'h|help' => \$help, 'version' => \$help ) or help(1); help(0) if ($help); +list_types(0) if ($list_types); + $fix = 1 if ($fix_inplace); $check_orig = $check; @@ -183,12 +252,12 @@ sub hash_save_array_words { sub hash_show_words { my ($hashRef, $prefix) = @_; - if ($quiet == 0 && keys %$hashRef) { - print "NOTE: $prefix message types:"; + if (keys %$hashRef) { + print "\nNOTE: $prefix message types:"; foreach my $word (sort keys %$hashRef) { print " $word"; } - print "\n\n"; + print "\n"; } } @@ -244,11 +313,13 @@ our $Sparse = qr{ __kernel| __force| __iomem| + __pmem| __must_check| __init_refok| __kprobes| __ref| - __rcu + __rcu| + __private }x; our $InitAttributePrefix = qr{__(?:mem|cpu|dev|net_|)}; our $InitAttributeData = qr{$InitAttributePrefix(?:initdata\b)}; @@ -272,6 +343,7 @@ our $Attribute = qr{ __noreturn| __used| __cold| + __pure| __noclone| __deprecated| __read_mostly| @@ -292,6 +364,7 @@ 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 $String = qr{"[X\t]*"}; 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]?}; @@ -308,6 +381,7 @@ our $Operators = qr{ our $c90_Keywords = qr{do|for|while|if|else|return|goto|continue|switch|default|case|break}x; +our $BasicType; our $NonptrType; our $NonptrTypeMisordered; our $NonptrTypeWithAttr; @@ -331,10 +405,22 @@ our $UTF8 = qr{ | $NON_ASCII_UTF8 }x; -our $typeTypedefs = qr{(?x: +our $typeC99Typedefs = qr{(?:__)?(?:[us]_?)?int_?(?:8|16|32|64)_t}; +our $typeOtherOSTypedefs = qr{(?x: + u_(?:char|short|int|long) | # bsd + u(?:nchar|short|int|long) # sysv +)}; +our $typeKernelTypedefs = qr{(?x: (?:__)?(?:u|s|be|le)(?:8|16|32|64)| atomic_t )}; +our $typeTypedefs = qr{(?x: + $typeC99Typedefs\b| + $typeOtherOSTypedefs\b| + $typeKernelTypedefs\b +)}; + +our $zero_initializer = qr{(?:(?:0[xX])?0+$Int_type?|NULL|false)\b}; our $logFunctions = qr{(?x: printk(?:_ratelimited|_once|)| @@ -397,6 +483,29 @@ our @typeList = ( qr{${Ident}_handler_fn}, @typeListMisordered, ); + +our $C90_int_types = qr{(?x: + long\s+long\s+int\s+(?:un)?signed| + long\s+long\s+(?:un)?signed\s+int| + long\s+long\s+(?:un)?signed| + (?:(?:un)?signed\s+)?long\s+long\s+int| + (?:(?:un)?signed\s+)?long\s+long| + int\s+long\s+long\s+(?:un)?signed| + int\s+(?:(?:un)?signed\s+)?long\s+long| + + long\s+int\s+(?:un)?signed| + long\s+(?:un)?signed\s+int| + long\s+(?:un)?signed| + (?:(?:un)?signed\s+)?long\s+int| + (?:(?:un)?signed\s+)?long| + int\s+long\s+(?:un)?signed| + int\s+(?:(?:un)?signed\s+)?long| + + int\s+(?:un)?signed| + (?:(?:un)?signed\s+)?int +)}; + +our @typeListFile = (); our @typeListWithAttr = ( @typeList, qr{struct\s+$InitAttribute\s+$Ident}, @@ -406,6 +515,7 @@ our @typeListWithAttr = ( our @modifierList = ( qr{fastcall}, ); +our @modifierListFile = (); our @mode_permission_funcs = ( ["module_param", 3], @@ -423,18 +533,81 @@ foreach my $entry (@mode_permission_funcs) { $mode_perms_search .= $entry->[0]; } +our $mode_perms_world_writable = qr{ + S_IWUGO | + S_IWOTH | + S_IRWXUGO | + S_IALLUGO | + 0[0-7][0-7][2367] +}x; + our $allowed_asm_includes = qr{(?x: irq| - memory + memory| + time| + reboot )}; # memory.h: ARM has a custom one +# Load common spelling mistakes and build regular expression list. +my $misspellings; +my %spelling_fix; + +if (open(my $spelling, '<', $spelling_file)) { + while (<$spelling>) { + my $line = $_; + + $line =~ s/\s*\n?$//g; + $line =~ s/^\s*//g; + + next if ($line =~ m/^\s*#/); + next if ($line =~ m/^\s*$/); + + my ($suspect, $fix) = split(/\|\|/, $line); + + $spelling_fix{$suspect} = $fix; + } + close($spelling); +} else { + warn "No typos will be found - file '$spelling_file': $!\n"; +} + +if ($codespell) { + if (open(my $spelling, '<', $codespellfile)) { + while (<$spelling>) { + my $line = $_; + + $line =~ s/\s*\n?$//g; + $line =~ s/^\s*//g; + + next if ($line =~ m/^\s*#/); + next if ($line =~ m/^\s*$/); + next if ($line =~ m/, disabled/i); + + $line =~ s/,.*$//; + + my ($suspect, $fix) = split(/->/, $line); + + $spelling_fix{$suspect} = $fix; + } + close($spelling); + } else { + warn "No codespell typos will be found - file '$codespellfile': $!\n"; + } +} + +$misspellings = join("|", sort keys %spelling_fix) if keys %spelling_fix; + sub build_types { - my $mods = "(?x: \n" . join("|\n ", @modifierList) . "\n)"; - my $all = "(?x: \n" . join("|\n ", @typeList) . "\n)"; + my $mods = "(?x: \n" . join("|\n ", (@modifierList, @modifierListFile)) . "\n)"; + my $all = "(?x: \n" . join("|\n ", (@typeList, @typeListFile)) . "\n)"; my $Misordered = "(?x: \n" . join("|\n ", @typeListMisordered) . "\n)"; my $allWithAttr = "(?x: \n" . join("|\n ", @typeListWithAttr) . "\n)"; $Modifier = qr{(?:$Attribute|$Sparse|$mods)}; + $BasicType = qr{ + (?:$typeTypedefs\b)| + (?:${all}\b) + }x; $NonptrType = qr{ (?:$Modifier\s+|const\s+)* (?: @@ -483,10 +656,10 @@ our $Typecast = qr{\s*(\(\s*$NonptrType\s*\)){0,1}\s*}; our $balanced_parens = qr/(\((?:[^\(\)]++|(?-1))*\))/; our $LvalOrFunc = qr{((?:[\&\*]\s*)?$Lval)\s*($balanced_parens{0,1})\s*}; -our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant)}; +our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant|$String)}; our $declaration_macros = qr{(?x: - (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,2}\s*\(| + (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(| (?:$Storage\s+)?LIST_HEAD\s*\(| (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\( )}; @@ -598,6 +771,8 @@ sub git_commit_info { $output =~ s/^\s*//gm; my @lines = split("\n", $output); + return ($id, $desc) if ($#lines < 0); + 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... @@ -626,10 +801,42 @@ my @fixed_inserted = (); my @fixed_deleted = (); my $fixlinenr = -1; +# If input is git commits, extract all commits from the commit expressions. +# For example, HEAD-3 means we need check 'HEAD, HEAD~1, HEAD~2'. +die "$P: No git repository found\n" if ($git && !-e ".git"); + +if ($git) { + my @commits = (); + foreach my $commit_expr (@ARGV) { + my $git_range; + if ($commit_expr =~ m/^(.*)-(\d+)$/) { + $git_range = "-$2 $1"; + } elsif ($commit_expr =~ m/\.\./) { + $git_range = "$commit_expr"; + } else { + $git_range = "-1 $commit_expr"; + } + my $lines = `git log --no-color --no-merges --pretty=format:'%H %s' $git_range`; + foreach my $line (split(/\n/, $lines)) { + $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/; + next if (!defined($1) || !defined($2)); + my $sha1 = $1; + my $subject = $2; + unshift(@commits, $sha1); + $git_commits{$sha1} = $subject; + } + } + die "$P: no git commits after extraction!\n" if (@commits == 0); + @ARGV = @commits; +} + my $vname; for my $filename (@ARGV) { my $FILE; - if ($file) { + if ($git) { + open($FILE, '-|', "git format-patch -M --stdout -1 $filename") || + die "$P: $filename: git format-patch failed - $!\n"; + } elsif ($file) { open($FILE, '-|', "diff -u /dev/null $filename") || die "$P: $filename: diff failed - $!\n"; } elsif ($filename eq '-') { @@ -640,6 +847,8 @@ for my $filename (@ARGV) { } if ($filename eq '-') { $vname = 'Your patch'; + } elsif ($git) { + $vname = "Commit " . substr($filename, 0, 12) . ' ("' . $git_commits{$filename} . '")'; } else { $vname = $filename; } @@ -648,6 +857,13 @@ for my $filename (@ARGV) { push(@rawlines, $_); } close($FILE); + + if ($#ARGV > 0 && $quiet == 0) { + print '-' x length($vname) . "\n"; + print "$vname\n"; + print '-' x length($vname) . "\n"; + } + if (!process($filename)) { $exit = 1; } @@ -657,6 +873,29 @@ for my $filename (@ARGV) { @fixed_inserted = (); @fixed_deleted = (); $fixlinenr = -1; + @modifierListFile = (); + @typeListFile = (); + build_types(); +} + +if (!$quiet) { + hash_show_words(\%use_type, "Used"); + hash_show_words(\%ignore_type, "Ignored"); + + if ($^V lt 5.10.0) { + print << "EOM" + +NOTE: perl $^V is not modern enough to detect all possible issues. + An upgrade to at least perl v5.10.0 is suggested. +EOM + } + if ($exit) { + print << "EOM" + +NOTE: If any of the errors are false positives, please report + them to the maintainer, see CHECKPATCH in MAINTAINERS. +EOM + } } exit($exit); @@ -912,7 +1151,7 @@ sub sanitise_line { sub get_quoted_string { my ($line, $rawline) = @_; - return "" if ($line !~ m/(\"[X]+\")/g); + return "" if ($line !~ m/($String)/g); return substr($rawline, $-[0], $+[0] - $-[0]); } @@ -1521,13 +1760,13 @@ sub possible { for my $modifier (split(' ', $possible)) { if ($modifier !~ $notPermitted) { warn "MODIFIER: $modifier ($possible) ($line)\n" if ($dbg_possible); - push(@modifierList, $modifier); + push(@modifierListFile, $modifier); } } } else { warn "POSSIBLE: $possible ($line)\n" if ($dbg_possible); - push(@typeList, $possible); + push(@typeListFile, $possible); } build_types(); } else { @@ -1552,15 +1791,32 @@ sub report { (defined $tst_only && $msg !~ /\Q$tst_only\E/)) { return 0; } - my $line; + my $output = ''; + if (-t STDOUT && $color) { + if ($level eq 'ERROR') { + $output .= RED; + } elsif ($level eq 'WARNING') { + $output .= YELLOW; + } else { + $output .= GREEN; + } + } + $output .= $prefix . $level . ':'; if ($show_types) { - $line = "$prefix$level:$type: $msg\n"; - } else { - $line = "$prefix$level: $msg\n"; + $output .= BLUE if (-t STDOUT && $color); + $output .= "$type:"; + } + $output .= RESET if (-t STDOUT && $color); + $output .= ' ' . $msg . "\n"; + + if ($showfile) { + my @lines = split("\n", $output, -1); + splice(@lines, 1, 1); + $output = join("\n", @lines); } - $line = (split('\n', $line))[0] . "\n" if ($terse); + $output = (split('\n', $output))[0] . "\n" if ($terse); - push(our @report, $line); + push(our @report, $output); return 1; } @@ -1601,7 +1857,7 @@ sub fix_inserted_deleted_lines { foreach my $old_line (@{$linesRef}) { my $save_line = 1; my $line = $old_line; #don't modify the array - if ($line =~ /^(?:\+\+\+\|\-\-\-)\s+\S+/) { #new filename + if ($line =~ /^(?:\+\+\+|\-\-\-)\s+\S+/) { #new filename $delta_offset = 0; } elsif ($line =~ /^\@\@ -\d+,\d+ \+\d+,\d+ \@\@/) { #new hunk $range_last_linenr = $new_linenr; @@ -1806,13 +2062,16 @@ sub process { our $clean = 1; my $signoff = 0; my $is_patch = 0; - my $in_header_lines = $file ? 0 : 1; my $in_commit_log = 0; #Scanning lines before patch + my $commit_log_possible_stack_dump = 0; + my $commit_log_long_line = 0; + my $commit_log_has_diff = 0; my $reported_maintainer_file = 0; my $non_utf8_charset = 0; my $last_blank_line = 0; + my $last_coalesced_string_linenr = -1; our @report = (); our $cnt_lines = 0; @@ -1941,7 +2200,8 @@ sub process { my $rawline = $rawlines[$linenr - 1]; #extract the line range in the file after the patch is applied - if ($line=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) { + if (!$in_commit_log && + $line =~ /^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) { $is_patch = 1; $first_line = $linenr + 1; $realline=$1-1; @@ -1982,10 +2242,6 @@ sub process { my $hunk_line = ($realcnt != 0); -#make up the handle for any error we report on this line - $prefix = "$filename:$realline: " if ($emacs && $file); - $prefix = "$filename:$linenr: " if ($emacs && !$file); - $here = "#$linenr: " if (!$file); $here = "#$realline: " if ($file); @@ -2015,8 +2271,19 @@ sub process { $found_file = 1; } +#make up the handle for any error we report on this line + if ($showfile) { + $prefix = "$realfile:$realline: " + } elsif ($emacs) { + if ($file) { + $prefix = "$filename:$realline: "; + } else { + $prefix = "$filename:$linenr: "; + } + } + if ($found_file) { - if ($realfile =~ m@^(drivers/net/|net/)@) { + if ($realfile =~ m@^(?:drivers/net/|net/|drivers/staging/)@) { $check = 1; } else { $check = $check_orig; @@ -2032,6 +2299,17 @@ sub process { $cnt_lines++ if ($realcnt != 0); +# Check if the commit log has what seems like a diff which can confuse patch + if ($in_commit_log && !$commit_log_has_diff && + (($line =~ m@^\s+diff\b.*a/[\w/]+@ && + $line =~ m@^\s+diff\b.*a/([\w/]+)\s+b/$1\b@) || + $line =~ m@^\s*(?:\-\-\-\s+a/|\+\+\+\s+b/)@ || + $line =~ m/^\s*\@\@ \-\d+,\d+ \+\d+,\d+ \@\@/)) { + ERROR("DIFF_IN_COMMIT_MSG", + "Avoid using diff content in the commit message - patch(1) might not work\n" . $herecurr); + $commit_log_has_diff = 1; + } + # Check for incorrect file permissions if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) { my $permhere = $here . "FILE: $realfile\n"; @@ -2048,6 +2326,12 @@ sub process { $in_commit_log = 0; } +# Check if MAINTAINERS is being updated. If so, there's probably no need to +# emit the "does MAINTAINERS need updating?" message on file add/move/delete + if ($line =~ /^\s*MAINTAINERS\s*\|/) { + $reported_maintainer_file = 1; + } + # Check signature styles if (!$in_header_lines && $line =~ /^(\s*)([a-z0-9_-]+by:|$signature_tags)(\s*)(.*)/i) { @@ -2118,6 +2402,13 @@ sub process { } } +# Check email subject for common tools that don't need to be mentioned + if ($in_header_lines && + $line =~ /^Subject:.*\b(?:checkpatch|sparse|smatch)\b[^:]/i) { + WARN("EMAIL_SUBJECT", + "A patch subject line should describe the change not the tool that found it\n" . $herecurr); + } + # Check for old stable address if ($line =~ /^\s*cc:\s*.*?.*$/i) { ERROR("STABLE_ADDRESS", @@ -2130,21 +2421,92 @@ sub process { "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 if the commit log is in a possible stack dump + if ($in_commit_log && !$commit_log_possible_stack_dump && + ($line =~ /^\s*(?:WARNING:|BUG:)/ || + $line =~ /^\s*\[\s*\d+\.\d{6,6}\s*\]/ || + # timestamp + $line =~ /^\s*\[\<[0-9a-fA-F]{8,}\>\]/)) { + # stack dump address + $commit_log_possible_stack_dump = 1; + } + +# Check for line lengths > 75 in commit log, warn once + if ($in_commit_log && !$commit_log_long_line && + length($line) > 75 && + !($line =~ /^\s*[a-zA-Z0-9_\/\.]+\s+\|\s+\d+/ || + # file delta changes + $line =~ /^\s*(?:[\w\.\-]+\/)++[\w\.\-]+:/ || + # filename then : + $line =~ /^\s*(?:Fixes:|Link:)/i || + # A Fixes: or Link: line + $commit_log_possible_stack_dump)) { + WARN("COMMIT_LOG_LONG_LINE", + "Possible unwrapped commit description (prefer a maximum 75 chars per line)\n" . $herecurr); + $commit_log_long_line = 1; + } + +# Reset possible stack dump if a blank line is found + if ($in_commit_log && $commit_log_possible_stack_dump && + $line =~ /^\s*$/) { + $commit_log_possible_stack_dump = 0; + } + +# Check for git id commit length and improperly formed commit descriptions + if ($in_commit_log && !$commit_log_possible_stack_dump && + $line !~ /^\s*(?:Link|Patchwork|http|BugLink):/i && + ($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i || + ($line =~ /\b[0-9a-f]{12,40}\b/i && + $line !~ /[\<\[][0-9a-f]{12,40}[\>\]]/i && + $line !~ /\bfixes:\s*[0-9a-f]{12,40}/i))) { + my $init_char = "c"; + my $orig_commit = ""; + my $short = 1; + my $long = 0; + my $case = 1; + my $space = 1; + my $hasdesc = 0; + my $hasparens = 0; + my $id = '0123456789ab'; + my $orig_desc = "commit description"; + my $description = ""; + + if ($line =~ /\b(c)ommit\s+([0-9a-f]{5,})\b/i) { + $init_char = $1; + $orig_commit = lc($2); + } elsif ($line =~ /\b([0-9a-f]{12,40})\b/i) { + $orig_commit = lc($1); + } + + $short = 0 if ($line =~ /\bcommit\s+[0-9a-f]{12,40}/i); + $long = 1 if ($line =~ /\bcommit\s+[0-9a-f]{41,}/i); + $space = 0 if ($line =~ /\bcommit [0-9a-f]/i); + $case = 0 if ($line =~ /\b[Cc]ommit\s+[0-9a-f]{5,40}[^A-F]/); + if ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)"\)/i) { + $orig_desc = $1; + $hasparens = 1; + } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s*$/i && + defined $rawlines[$linenr] && + $rawlines[$linenr] =~ /^\s*\("([^"]+)"\)/) { + $orig_desc = $1; + $hasparens = 1; + } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("[^"]+$/i && + defined $rawlines[$linenr] && + $rawlines[$linenr] =~ /^\s*[^"]+"\)/) { + $line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)$/i; + $orig_desc = $1; + $rawlines[$linenr] =~ /^\s*([^"]+)"\)/; + $orig_desc .= " " . $1; + $hasparens = 1; + } + + ($id, $description) = git_commit_info($orig_commit, + $id, $orig_desc); + + if ($short || $long || $space || $case || ($orig_desc ne $description) || !$hasparens) { + ERROR("GIT_COMMIT_ID", + "Please use git commit description style 'commit <12+ chars of sha1> (\"\")' - ie: '${init_char}ommit $id (\"$description\")'\n" . $herecurr); + } } # Check for added, moved or deleted files @@ -2215,6 +2577,24 @@ sub process { "8-bit UTF-8 used in possible commit log\n" . $herecurr); } +# Check for various typo / spelling mistakes + if (defined($misspellings) && + ($in_commit_log || $line =~ /^(?:\+|Subject:)/i)) { + while ($rawline =~ /(?:^|[^a-z@])($misspellings)(?:\b|$|[^a-z@])/gi) { + my $typo = $1; + my $typo_fix = $spelling_fix{lc($typo)}; + $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/); + $typo_fix = uc($typo_fix) if ($typo =~ /^[A-Z]+$/); + my $msg_type = \&WARN; + $msg_type = \&CHK if ($file); + if (&{$msg_type}("TYPO_SPELLING", + "'$typo' may be misspelled - perhaps '$typo_fix'?\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(^|[^A-Za-z@])($typo)($|[^A-Za-z@])/$1$typo_fix$3/; + } + } + } + # ignore non-hunk lines and lines being removed next if (!$hunk_line || $line =~ /^-/); @@ -2283,8 +2663,10 @@ sub process { } $length++; } - WARN("CONFIG_DESCRIPTION", - "please write a paragraph that describes the config symbol fully\n" . $herecurr) if ($is_start && $is_end && $length < 4); + if ($is_start && $is_end && $length < $min_conf_desc_length) { + WARN("CONFIG_DESCRIPTION", + "please write a paragraph that describes the config symbol fully\n" . $herecurr); + } #print "is_start<$is_start> is_end<$is_end> length<$length>\n"; } @@ -2295,6 +2677,13 @@ sub process { "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see https://lkml.org/lkml/2012/10/23/580\n"); } +# discourage the use of boolean for type definition attributes of Kconfig options + if ($realfile =~ /Kconfig/ && + $line =~ /^\+\s*\bboolean\b/) { + WARN("CONFIG_TYPE_BOOLEAN", + "Use of boolean is deprecated, please use bool instead.\n" . $herecurr); + } + if (($realfile =~ /Makefile.*/ || $realfile =~ /Kbuild.*/) && ($line =~ /\+(EXTRA_[A-Z]+FLAGS).*/)) { my $flag = $1; @@ -2341,44 +2730,58 @@ sub process { } # check we are in a valid source file if not then ignore this hunk - next if ($realfile !~ /\.(h|c|s|S|pl|sh)$/); - -#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 > $max_line_length) - { - WARN("LONG_LINE", - "line over $max_line_length characters\n" . $herecurr); - } + next if ($realfile !~ /\.(h|c|s|S|pl|sh|dtsi|dts)$/); -# Check for user-visible strings broken across lines, which breaks the ability -# 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*$/ && - $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); - } +# line length limit (with some exclusions) +# +# There are a few types of lines that may extend beyond $max_line_length: +# logging functions like pr_info that end in a string +# lines with a single string +# #defines that are a single string +# +# There are 3 different line length message types: +# LONG_LINE_COMMENT a comment starts before but extends beyond $max_linelength +# LONG_LINE_STRING a string starts before but extends beyond $max_line_length +# LONG_LINE all other lines longer than $max_line_length +# +# if LONG_LINE is ignored, the other 2 types are also ignored +# -# 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); - } + if ($line =~ /^\+/ && $length > $max_line_length) { + my $msg_type = "LONG_LINE"; -# check for spaces before a quoted newline - if ($rawline =~ /^.*\".*\s\\n/) { - if (WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE", - "unnecessary whitespace before a quoted newline\n" . $herecurr) && - $fix) { - $fixed[$fixlinenr] =~ s/^(\+.*\".*)\s+\\n/$1\\n/; + # Check the allowed long line types first + + # logging functions that end in a string that starts + # before $max_line_length + if ($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(?:KERN_\S+\s*|[^"]*))?($String\s*(?:|,|\)\s*;)\s*)$/ && + length(expand_tabs(substr($line, 1, length($line) - length($1) - 1))) <= $max_line_length) { + $msg_type = ""; + + # lines with only strings (w/ possible termination) + # #defines with only strings + } elsif ($line =~ /^\+\s*$String\s*(?:\s*|,|\)\s*;)\s*$/ || + $line =~ /^\+\s*#\s*define\s+\w+\s+$String$/) { + $msg_type = ""; + + # Otherwise set the alternate message types + + # a comment starts before $max_line_length + } elsif ($line =~ /($;[\s$;]*)$/ && + length(expand_tabs(substr($line, 1, length($line) - length($1) - 1))) <= $max_line_length) { + $msg_type = "LONG_LINE_COMMENT" + + # a quoted string starts before $max_line_length + } elsif ($sline =~ /\s*($String(?:\s*(?:\\|,\s*|\)\s*;\s*))?)$/ && + length(expand_tabs(substr($line, 1, length($line) - length($1) - 1))) <= $max_line_length) { + $msg_type = "LONG_LINE_STRING" } + if ($msg_type ne "" && + (show_type("LONG_LINE") || show_type($msg_type))) { + WARN($msg_type, + "line over $max_line_length characters\n" . $herecurr); + } } # check for adding lines without a newline. @@ -2402,7 +2805,7 @@ sub process { } # check we are in a valid source file C or perl if not then ignore this hunk - next if ($realfile !~ /\.(h|c|pl)$/); + next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/); # at the beginning of a line any tabs must come first and anything # more than 8 must use tabs. @@ -2436,6 +2839,19 @@ sub process { "Logical continuations should be on the previous line\n" . $hereprev); } +# check indentation starts on a tab stop + if ($^V && $^V ge 5.10.0 && + $sline =~ /^\+\t+( +)(?:$c90_Keywords\b|\{\s*$|\}\s*(?:else\b|while\b|\s*$))/) { + my $indent = length($1); + if ($indent % 8) { + if (WARN("TABSTOP", + "Statements should start on a tabstop\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s@(^\+\t+) +@$1 . "\t" x ($indent/8)@e; + } + } + } + # check multi-line statement indentation matches previous line if ($^V && $^V ge 5.10.0 && $prevline =~ /^\+([ \t]*)((?:$c90_Keywords(?:\s+if)\s*)|(?:$Declare\s*)?(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*|$Ident\s*=\s*$Ident\s*)\(.*(\&\&|\|\||,)\s*$/) { @@ -2466,7 +2882,15 @@ sub process { } } - if ($line =~ /^\+.*\(\s*$Type\s*\)[ \t]+(?!$Assignment|$Arithmetic|{)/) { +# check for space after cast like "(int) foo" or "(struct foo) bar" +# avoid checking a few false positives: +# "sizeof(<type>)" or "__alignof__(<type>)" +# function pointer declarations like "(*foo)(int) = bar;" +# structure definitions like "(struct foo) { 0 };" +# multiline macros that define functions +# known attributes or the __attribute__ keyword + if ($line =~ /^\+(.*)\(\s*$Type\s*\)([ \t]++)((?![={]|\\$|$Attribute|__attribute__))/ && + (!defined($1) || $1 !~ /\b(?:sizeof|__alignof__)\s*$/)) { if (CHK("SPACING", "No space is necessary after a cast\n" . $herecurr) && $fix) { @@ -2475,6 +2899,8 @@ sub process { } } +# Block comment styles +# Networking with an initial /* if ($realfile =~ m@^(drivers/net/|net/)@ && $prevrawline =~ /^\+[ \t]*\/\*[ \t]*$/ && $rawline =~ /^\+[ \t]*\*/ && @@ -2483,22 +2909,23 @@ sub process { "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev); } - if ($realfile =~ m@^(drivers/net/|net/)@ && - $prevrawline =~ /^\+[ \t]*\/\*/ && #starting /* +# Block comments use * on subsequent lines + if ($prevline =~ /$;[ \t]*$/ && #ends in comment + $prevrawline =~ /^\+.*?\/\*/ && #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); + WARN("BLOCK_COMMENT_STYLE", + "Block comments use * on subsequent lines\n" . $hereprev); } - if ($realfile =~ m@^(drivers/net/|net/)@ && - $rawline !~ m@^\+[ \t]*\*/[ \t]*$@ && #trailing */ +# Block comments use */ on trailing lines + if ($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); + WARN("BLOCK_COMMENT_STYLE", + "Block comments use a trailing */ on a separate line\n" . $herecurr); } # check for missing blank lines after struct/union declarations @@ -2592,10 +3019,14 @@ sub process { next if ($realfile !~ /\.(h|c)$/); # check indentation of any line with a bare else +# (but not if it is a multiple line "if (foo) return bar; else return baz;") # 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/) { + if ($prevline =~ /^\+\t{$tabs,$tabs}break\b/ || + ($prevline =~ /^\+\t{$tabs,$tabs}return\b/ && + defined $lines[$linenr] && + $lines[$linenr] !~ /^[ \+]\t{$tabs,$tabs}return/)) { WARN("UNNECESSARY_ELSE", "else is not generally useful after a break or return\n" . $hereprev); } @@ -2800,15 +3231,22 @@ sub process { substr($s, 0, length($c), ''); - # Make sure we remove the line prefixes as we have - # none on the first line, and are going to readd them - # where necessary. - $s =~ s/\n./\n/gs; + # remove inline comments + $s =~ s/$;/ /g; + $c =~ s/$;/ /g; # Find out how long the conditional actually is. my @newlines = ($c =~ /\n/gs); my $cond_lines = 1 + $#newlines; + # Make sure we remove the line prefixes as we have + # none on the first line, and are going to readd them + # where necessary. + $s =~ s/\n./\n/gs; + while ($s =~ /\n\s+\\\n/) { + $cond_lines += $s =~ s/\n\s+\\\n/\n/g; + } + # We want to check the first line inside the block # starting at the end of the conditional, so remove: # 1) any blank line termination @@ -2874,8 +3312,10 @@ sub process { #print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n"; - if ($check && (($sindent % 8) != 0 || - ($sindent <= $indent && $s ne ''))) { + if ($check && $s ne '' && + (($sindent % 8) != 0 || + ($sindent < $indent) || + ($sindent > $indent + 8))) { WARN("SUSPECT_CODE_INDENT", "suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n"); } @@ -2897,6 +3337,30 @@ sub process { #ignore lines not being added next if ($line =~ /^[^\+]/); +# check for declarations of signed or unsigned without int + while ($line =~ m{($Declare)\s*(?!char\b|short\b|int\b|long\b)\s*($Ident)?\s*[=,;\[\)\(]}g) { + my $type = $1; + my $var = $2; + $var = "" if (!defined $var); + if ($type =~ /^(?:(?:$Storage|$Inline|$Attribute)\s+)*((?:un)?signed)((?:\s*\*)*)\s*$/) { + my $sign = $1; + my $pointer = $2; + + $pointer = "" if (!defined $pointer); + + if (WARN("UNSPECIFIED_INT", + "Prefer '" . trim($sign) . " int" . rtrim($pointer) . "' to bare use of '$sign" . rtrim($pointer) . "'\n" . $herecurr) && + $fix) { + my $decl = trim($sign) . " int "; + my $comp_pointer = $pointer; + $comp_pointer =~ s/\s//g; + $decl .= $comp_pointer; + $decl = rtrim($decl) if ($var eq ""); + $fixed[$fixlinenr] =~ s@\b$sign\s*\Q$pointer\E\s*$var\b@$decl$var@; + } + } + } + # TEST: allow direct testing of the type matcher. if ($dbg_type) { if ($line =~ /^.\s*$Declare\s*$/) { @@ -3016,21 +3480,20 @@ sub process { } # check for global initialisers. - if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/) { + if ($line =~ /^\+$Type\s*$Ident(?:\s+$Modifier)*\s*=\s*($zero_initializer)\s*;/) { if (ERROR("GLOBAL_INITIALISERS", - "do not initialise globals to 0 or NULL\n" . - $herecurr) && + "do not initialise globals to $1\n" . $herecurr) && $fix) { - $fixed[$fixlinenr] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/; + $fixed[$fixlinenr] =~ s/(^.$Type\s*$Ident(?:\s+$Modifier)*)\s*=\s*$zero_initializer\s*;/$1;/; } } # check for static initialisers. - if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL|false)\s*;/) { + if ($line =~ /^\+.*\bstatic\s.*=\s*($zero_initializer)\s*;/) { if (ERROR("INITIALISED_STATIC", - "do not initialise statics to 0 or NULL\n" . + "do not initialise statics to $1\n" . $herecurr) && $fix) { - $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/; + $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*$zero_initializer\s*;/$1;/; } } @@ -3055,6 +3518,18 @@ sub process { $herecurr); } +# check for const <foo> const where <foo> is not a pointer or array type + if ($sline =~ /\bconst\s+($BasicType)\s+const\b/) { + my $found = $1; + if ($sline =~ /\bconst\s+\Q$found\E\s+const\b\s*\*/) { + WARN("CONST_CONST", + "'const $found const *' should probably be 'const $found * const'\n" . $herecurr); + } elsif ($sline !~ /\bconst\s+\Q$found\E\s+const\s+\w+\s*\[/) { + WARN("CONST_CONST", + "'const $found const' should probably be 'const $found'\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", @@ -3062,6 +3537,19 @@ sub process { $herecurr); } +# check for sizeof(foo)/sizeof(foo[0]) that could be ARRAY_SIZE(foo) + if ($line =~ m@\bsizeof\s*\(\s*($Lval)\s*\)@) { + my $array = $1; + if ($line =~ m@\b(sizeof\s*\(\s*\Q$array\E\s*\)\s*/\s*sizeof\s*\(\s*\Q$array\E\s*\[\s*0\s*\]\s*\))@) { + my $array_div = $1; + if (WARN("ARRAY_SIZE", + "Prefer ARRAY_SIZE($array)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\Q$array_div\E/ARRAY_SIZE($array)/; + } + } + } + # check for function declarations without arguments like "int foo()" if ($line =~ /(\b$Type\s+$Ident)\s*\(\s*\)/) { if (ERROR("FUNCTION_WITHOUT_ARGS", @@ -3147,13 +3635,15 @@ sub process { } } -# # no BUG() or BUG_ON() -# if ($line =~ /\b(BUG|BUG_ON)\b/) { -# print "Try to use WARN_ON & Recovery code rather than BUG() or BUG_ON()\n"; -# print "$herecurr"; -# $clean = 0; -# } +# avoid BUG() or BUG_ON() + if ($line =~ /\b(?:BUG|BUG_ON)\b/) { + my $msg_type = \&WARN; + $msg_type = \&CHK if ($file); + &{$msg_type}("AVOID_BUG", + "Avoid crashing the kernel - try using WARN_ON & recovery code rather than BUG() or BUG_ON()\n" . $herecurr); + } +# avoid LINUX_VERSION_CODE if ($line =~ /\bLINUX_VERSION_CODE\b/) { WARN("LINUX_VERSION_CODE", "LINUX_VERSION_CODE should be avoided, code should be for the version to which it is merged\n" . $herecurr); @@ -3162,7 +3652,7 @@ sub process { # check for uses of printk_ratelimit if ($line =~ /\bprintk_ratelimit\s*\(/) { WARN("PRINTK_RATELIMITED", -"Prefer printk_ratelimited or pr_<level>_ratelimited to printk_ratelimit\n" . $herecurr); + "Prefer printk_ratelimited or pr_<level>_ratelimited to printk_ratelimit\n" . $herecurr); } # printk should use KERN_* levels. Note that follow on printk's on the @@ -3217,10 +3707,18 @@ sub process { "Prefer dev_$level(... to dev_printk(KERN_$orig, ...\n" . $herecurr); } +# ENOSYS means "bad syscall nr" and nothing else. This will have a small +# number of false positives, but assembly files are not checked, so at +# least the arch entry code will not trigger this warning. + if ($line =~ /\bENOSYS\b/) { + WARN("ENOSYS", + "ENOSYS means 'invalid syscall nr' and nothing else\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 - !($line=~/\#\s*define.*do\s{/) and !($line=~/}/)) { + !($line=~/\#\s*define.*do\s\{/) and !($line=~/}/)) { if (ERROR("OPEN_BRACE", "open brace '{' following function declarations go on the next line\n" . $herecurr) && $fix) { @@ -3473,7 +3971,7 @@ sub process { # Ignore operators passed as parameters. if ($op_type ne 'V' && - $ca =~ /\s$/ && $cc =~ /^\s*,/) { + $ca =~ /\s$/ && $cc =~ /^\s*[,\)]/) { # # Ignore comments # } elsif ($op =~ /^$;+$/) { @@ -3510,14 +4008,33 @@ sub process { } } - # , must have a space on the right. + # , must not have a space before and must have a space on the right. } elsif ($op eq ',') { + my $rtrim_before = 0; + my $space_after = 0; + if ($ctx =~ /Wx./) { + if (ERROR("SPACING", + "space prohibited before that '$op' $at\n" . $hereptr)) { + $line_fixed = 1; + $rtrim_before = 1; + } + } if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/) { 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; + $space_after = 1; + } + } + if ($rtrim_before || $space_after) { + if ($rtrim_before) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + } else { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]); + } + if ($space_after) { + $good .= " "; } } @@ -3589,7 +4106,22 @@ sub process { $op eq '*' or $op eq '/' or $op eq '%') { - if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) { + if ($check) { + if (defined $fix_elements[$n + 2] && $ctx !~ /[EW]x[EW]/) { + if (CHK("SPACING", + "spaces preferred around that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " "; + $fix_elements[$n + 2] =~ s/^\s+//; + $line_fixed = 1; + } + } elsif (!defined $fix_elements[$n + 2] && $ctx !~ /Wx[OE]/) { + if (CHK("SPACING", + "space preferred before that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]); + $line_fixed = 1; + } + } + } elsif ($ctx =~ /Wx[^WCE]|[^WCE]xW/) { if (ERROR("SPACING", "need consistent spacing around '$op' $at\n" . $hereptr)) { $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " "; @@ -3624,6 +4156,14 @@ sub process { $ok = 1; } + # for asm volatile statements + # ignore a colon with another + # colon immediately before or after + if (($op eq ':') && + ($ca =~ /:$/ || $cc =~ /^:/)) { + $ok = 1; + } + # messages are ERROR, but ?: are CHK if ($ok == 0) { my $msg_type = \&ERROR; @@ -3690,8 +4230,8 @@ sub process { ## } #need space before brace following if, while, etc - if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) || - $line =~ /do{/) { + if (($line =~ /\(.*\)\{/ && $line !~ /\($Type\)\{/) || + $line =~ /do\{/) { if (ERROR("SPACING", "space required before the open brace '{'\n" . $herecurr) && $fix) { @@ -3752,7 +4292,6 @@ sub process { if (ERROR("SPACING", "space prohibited before that close parenthesis ')'\n" . $herecurr) && $fix) { - print("fixlinenr: <$fixlinenr> fixed[fixlinenr]: <$fixed[$fixlinenr]>\n"); $fixed[$fixlinenr] =~ s/\s+\)/\)/; } @@ -3762,9 +4301,27 @@ sub process { # 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); - } + my $var = $1; + if (CHK("UNNECESSARY_PARENTHESES", + "Unnecessary parentheses around $var\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\(\s*\Q$var\E\s*\)/$var/; + } + } + +# check for unnecessary parentheses around function pointer uses +# ie: (foo->bar)(); should be foo->bar(); +# but not "if (foo->bar) (" to avoid some false positives + if ($line =~ /(\bif\s*|)(\(\s*$Ident\s*(?:$Member\s*)+\))[ \t]*\(/ && $1 !~ /^if/) { + my $var = $2; + if (CHK("UNNECESSARY_PARENTHESES", + "Unnecessary parentheses around function pointer $var\n" . $herecurr) && + $fix) { + my $var2 = deparenthesize($var); + $var2 =~ s/\s//g; + $fixed[$fixlinenr] =~ s/\Q$var\E/$var2/; + } + } #goto labels aren't indented, allow a single space however if ($line=~/^.\s+[A-Za-z\d_]+:(?![0-9]+)/ and @@ -3820,12 +4377,41 @@ sub process { } } -# Return of what appears to be an errno should normally be -'ve - if ($line =~ /^.\s*return\s*(E[A-Z]*)\s*;/) { +# comparisons with a constant or upper case identifier on the left +# avoid cases like "foo + BAR < baz" +# only fix matches surrounded by parentheses to avoid incorrect +# conversions like "FOO < baz() + 5" being "misfixed" to "baz() > FOO + 5" + if ($^V && $^V ge 5.10.0 && + $line =~ /^\+(.*)\b($Constant|[A-Z_][A-Z0-9_]*)\s*($Compare)\s*($LvalOrFunc)/) { + my $lead = $1; + my $const = $2; + my $comp = $3; + my $to = $4; + my $newcomp = $comp; + if ($lead !~ /(?:$Operators|\.)\s*$/ && + $to !~ /^(?:Constant|[A-Z_][A-Z0-9_]*)$/ && + WARN("CONSTANT_COMPARISON", + "Comparisons should place the constant on the right side of the test\n" . $herecurr) && + $fix) { + if ($comp eq "<") { + $newcomp = ">"; + } elsif ($comp eq "<=") { + $newcomp = ">="; + } elsif ($comp eq ">") { + $newcomp = "<"; + } elsif ($comp eq ">=") { + $newcomp = "<="; + } + $fixed[$fixlinenr] =~ s/\(\s*\Q$const\E\s*$Compare\s*\Q$to\E\s*\)/($to $newcomp $const)/; + } + } + +# Return of what appears to be an errno should normally be negative + if ($sline =~ /\breturn(?:\s*\(+\s*|\s+)(E[A-Z]+)(?:\s*\)+\s*|\s*)[;:,]/) { my $name = $1; if ($name ne 'EOF' && $name ne 'ERROR') { WARN("USE_NEGATIVE_ERRNO", - "return of an errno should typically be -ve (return -$1)\n" . $herecurr); + "return of an errno should typically be negative (ie: return -$1)\n" . $herecurr); } } @@ -4004,7 +4590,9 @@ sub process { #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_]+)?$/) { + $var !~ /^(?:[a-z_]*?)_?[a-z][A-Z](?:_[a-z_]+)?$/ && +#Ignore some three character SI units explicitly, like MiB and KHz + $var !~ /^(?:[a-z_]*?)_?(?:[KMGT]iB|[KMGT]?Hz)(?:_[a-z_]+)?$/) { while ($var =~ m{($Ident)}g) { my $word = $1; next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/); @@ -4033,7 +4621,8 @@ sub process { } } -#warn if <asm/foo.h> is #included and <linux/foo.h> is available (uses RAW line) +# warn if <asm/foo.h> is #included and <linux/foo.h> is available and includes +# itself <asm/foo.h> (uses RAW line) if ($tree && $rawline =~ m{^.\s*\#\s*include\s*\<asm\/(.*)\.h\>}) { my $file = "$1.h"; my $checkfile = "include/linux/$file"; @@ -4041,12 +4630,15 @@ sub process { $realfile ne $checkfile && $1 !~ /$allowed_asm_includes/) { - if ($realfile =~ m{^arch/}) { - CHK("ARCH_INCLUDE_LINUX", - "Consider using #include <linux/$file> instead of <asm/$file>\n" . $herecurr); - } else { - WARN("INCLUDE_LINUX", - "Use #include <linux/$file> instead of <asm/$file>\n" . $herecurr); + my $asminclude = `grep -Ec "#include\\s+<asm/$file>" $root/$checkfile`; + if ($asminclude > 0) { + if ($realfile =~ m{^arch/}) { + CHK("ARCH_INCLUDE_LINUX", + "Consider using #include <linux/$file> instead of <asm/$file>\n" . $herecurr); + } else { + WARN("INCLUDE_LINUX", + "Use #include <linux/$file> instead of <asm/$file>\n" . $herecurr); + } } } } @@ -4060,12 +4652,17 @@ sub process { my $cnt = $realcnt; my ($off, $dstat, $dcond, $rest); my $ctx = ''; + my $has_flow_statement = 0; + my $has_arg_concat = 0; ($dstat, $dcond, $ln, $cnt, $off) = ctx_statement_block($linenr, $realcnt, 0); $ctx = $dstat; #print "dstat<$dstat> dcond<$dcond> cnt<$cnt> off<$off>\n"; #print "LINE<$lines[$ln-1]> len<" . length($lines[$ln-1]) . "\n"; + $has_flow_statement = 1 if ($ctx =~ /\b(goto|return)\b/); + $has_arg_concat = 1 if ($ctx =~ /\#\#/ && $ctx !~ /\#\#\s*(?:__VA_ARGS__|args)\b/); + $dstat =~ s/^.\s*\#\s*define\s+$Ident(?:\([^\)]*\))?\s*//; $dstat =~ s/$;//g; $dstat =~ s/\\\n.//g; @@ -4075,16 +4672,19 @@ sub process { # Flatten any parentheses and braces while ($dstat =~ s/\([^\(\)]*\)/1/ || $dstat =~ s/\{[^\{\}]*\}/1/ || - $dstat =~ s/\[[^\[\]]*\]/1/) + $dstat =~ s/.\[[^\[\]]*\]/1/) { } # Flatten any obvious string concatentation. - while ($dstat =~ s/("X*")\s*$Ident/$1/ || - $dstat =~ s/$Ident\s*("X*")/$1/) + while ($dstat =~ s/($String)\s*$Ident/$1/ || + $dstat =~ s/$Ident\s*($String)/$1/) { } + # Make asm volatile uses seem like a generic function + $dstat =~ s/\b_*asm_*\s+_*volatile_*\b/asm_volatile/g; + my $exceptions = qr{ $Declare| module_param_named| @@ -4095,7 +4695,8 @@ sub process { union| struct| \.$Ident\s*=\s*| - ^\"|\"$ + ^\"|\"$| + ^\[ }x; #print "REST<$rest> dstat<$dstat> ctx<$ctx>\n"; if ($dstat ne '' && @@ -4110,7 +4711,7 @@ sub process { $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*$//; @@ -4126,10 +4727,23 @@ sub process { "Macros with multiple statements should be enclosed in a do - while loop\n" . "$herectx"); } else { ERROR("COMPLEX_MACRO", - "Macros with complex values should be enclosed in parenthesis\n" . "$herectx"); + "Macros with complex values should be enclosed in parentheses\n" . "$herectx"); } } +# check for macros with flow control, but without ## concatenation +# ## concatenation is commonly a macro that defines a function so ignore those + if ($has_flow_statement && !$has_arg_concat) { + my $herectx = $here . "\n"; + my $cnt = statement_rawlines($ctx); + + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + WARN("MACRO_WITH_FLOW_CONTROL", + "Macros with flow control statements should be avoided\n" . "$herectx"); + } + # check for line continuations outside of #defines, preprocessor #, and asm } else { @@ -4157,6 +4771,7 @@ sub process { $ctx = $dstat; $dstat =~ s/\\\n.//g; + $dstat =~ s/$;/ /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; @@ -4323,12 +4938,18 @@ sub process { # 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); + if (CHK("BRACES", + "Blank lines aren't necessary before a close brace '}'\n" . $hereprev) && + $fix && $prevrawline =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + } } if (($rawline =~ /^.\s*$/ && $prevline =~ /^..*{\s*$/)) { - CHK("BRACES", - "Blank lines aren't necessary after an open brace '{'\n" . $hereprev); + if (CHK("BRACES", + "Blank lines aren't necessary after an open brace '{'\n" . $hereprev) && + $fix) { + fix_delete_line($fixlinenr, $rawline); + } } # no volatiles please @@ -4338,6 +4959,89 @@ sub process { "Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n" . $herecurr); } +# Check for user-visible strings broken across lines, which breaks the ability +# 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*$String/ && + $prevline =~ /"\s*$/ && + $prevrawline !~ /(?:\\(?:[ntr]|[0-7]{1,3}|x[0-9a-fA-F]{1,2})|;\s*|\{\s*)"\s*$/) { + if (WARN("SPLIT_STRING", + "quoted string split across lines\n" . $hereprev) && + $fix && + $prevrawline =~ /^\+.*"\s*$/ && + $last_coalesced_string_linenr != $linenr - 1) { + my $extracted_string = get_quoted_string($line, $rawline); + my $comma_close = ""; + if ($rawline =~ /\Q$extracted_string\E(\s*\)\s*;\s*$|\s*,\s*)/) { + $comma_close = $1; + } + + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + $fixedline =~ s/"\s*$//; + $fixedline .= substr($extracted_string, 1) . trim($comma_close); + fix_insert_line($fixlinenr - 1, $fixedline); + $fixedline = $rawline; + $fixedline =~ s/\Q$extracted_string\E\Q$comma_close\E//; + if ($fixedline !~ /\+\s*$/) { + fix_insert_line($fixlinenr, $fixedline); + } + $last_coalesced_string_linenr = $linenr; + } + } + +# check for missing a space in a string concatenation + 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/) { + if (WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE", + "unnecessary whitespace before a quoted newline\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/^(\+.*\".*)\s+\\n/$1\\n/; + } + + } + +# concatenated string without spaces between elements + if ($line =~ /$String[A-Z_]/ || $line =~ /[A-Za-z0-9_]$String/) { + CHK("CONCATENATED_STRING", + "Concatenated strings should use spaces between elements\n" . $herecurr); + } + +# uncoalesced string fragments + if ($line =~ /$String\s*"/) { + WARN("STRING_FRAGMENTS", + "Consecutive strings are generally better as a single string\n" . $herecurr); + } + +# check for %L{u,d,i} and 0x%[udi] in strings + my $string; + while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) { + $string = substr($rawline, $-[1], $+[1] - $-[1]); + $string =~ s/%%/__/g; + if ($string =~ /(?<!%)%[\*\d\.\$]*L[udi]/) { + WARN("PRINTF_L", + "\%Ld/%Lu are not-standard C, use %lld/%llu\n" . $herecurr); + last; + } + if ($string =~ /0x%[\*\d\.\$\Llzth]*[udi]/) { + ERROR("PRINTF_0xDECIMAL", + "Prefixing 0x with decimal output is defective\n" . $herecurr); + } + } + +# 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); + } + # warn about #if 0 if ($line =~ /^.\s*\#\s*if\s+0\b/) { CHK("REDUNDANT_CODE", @@ -4347,10 +5051,34 @@ sub process { # 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); + my $tested = quotemeta($1); + my $expr = '\s*\(\s*' . $tested . '\s*\)\s*;'; + if ($line =~ /\b(kfree|usb_free_urb|debugfs_remove(?:_recursive)?|(?:kmem_cache|mempool|dma_pool)_destroy)$expr/) { + my $func = $1; + if (WARN('NEEDLESS_IF', + "$func(NULL) is safe and this check is probably not required\n" . $hereprev) && + $fix) { + my $do_fix = 1; + my $leading_tabs = ""; + my $new_leading_tabs = ""; + if ($lines[$linenr - 2] =~ /^\+(\t*)if\s*\(\s*$tested\s*\)\s*$/) { + $leading_tabs = $1; + } else { + $do_fix = 0; + } + if ($lines[$linenr - 1] =~ /^\+(\t+)$func\s*\(\s*$tested\s*\)\s*;\s*$/) { + $new_leading_tabs = $1; + if (length($leading_tabs) + 1 ne length($new_leading_tabs)) { + $do_fix = 0; + } + } else { + $do_fix = 0; + } + if ($do_fix) { + fix_delete_line($fixlinenr - 1, $prevrawline); + $fixed[$fixlinenr] =~ s/^\+$new_leading_tabs/\+$leading_tabs/; + } + } } } @@ -4371,6 +5099,39 @@ sub process { } } +# check for logging functions with KERN_<LEVEL> + if ($line !~ /printk(?:_ratelimited|_once)?\s*\(/ && + $line =~ /\b$logFunctions\s*\(.*\b(KERN_[A-Z]+)\b/) { + my $level = $1; + if (WARN("UNNECESSARY_KERN_LEVEL", + "Possible unnecessary $level\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\s*$level\s*//; + } + } + +# check for mask then right shift without a parentheses + if ($^V && $^V ge 5.10.0 && + $line =~ /$LvalOrFunc\s*\&\s*($LvalOrFunc)\s*>>/ && + $4 !~ /^\&/) { # $LvalOrFunc may be &foo, ignore if so + WARN("MASK_THEN_SHIFT", + "Possible precedence defect with mask then right shift - may need parentheses\n" . $herecurr); + } + +# check for pointer comparisons to NULL + if ($^V && $^V ge 5.10.0) { + while ($line =~ /\b$LvalOrFunc\s*(==|\!=)\s*NULL\b/g) { + my $val = $1; + my $equal = "!"; + $equal = "" if ($4 eq "!="); + if (CHK("COMPARISON_TO_NULL", + "Comparison to NULL could be written \"${equal}${val}\"\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b\Q$val\E\s*(?:==|\!=)\s*NULL\b/$equal$val/; + } + } + } + # check for bad placement of section $InitAttribute (e.g.: __initdata) if ($line =~ /(\b$InitAttribute\b)/) { my $attr = $1; @@ -4418,6 +5179,16 @@ sub process { } } +# check for __read_mostly with const non-pointer (should just be const) + if ($line =~ /\b__read_mostly\b/ && + $line =~ /($Type)\s*$Ident/ && $1 !~ /\*\s*$/ && $1 =~ /\bconst\b/) { + if (ERROR("CONST_READ_MOSTLY", + "Invalid use of __read_mostly with const type\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\s+__read_mostly\b//; + } + } + # 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*\(/) { @@ -4493,12 +5264,69 @@ 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)\(/) { + + my $barriers = qr{ + mb| + rmb| + wmb| + read_barrier_depends + }x; + my $barrier_stems = qr{ + mb__before_atomic| + mb__after_atomic| + store_release| + load_acquire| + store_mb| + (?:$barriers) + }x; + my $all_barriers = qr{ + (?:$barriers)| + smp_(?:$barrier_stems)| + virt_(?:$barrier_stems) + }x; + + if ($line =~ /\b(?:$all_barriers)\s*\(/) { if (!ctx_has_comment($first_line, $linenr)) { WARN("MEMORY_BARRIER", "memory barrier without comment\n" . $herecurr); } } + + my $underscore_smp_barriers = qr{__smp_(?:$barrier_stems)}x; + + if ($realfile !~ m@^include/asm-generic/@ && + $realfile !~ m@/barrier\.h$@ && + $line =~ m/\b(?:$underscore_smp_barriers)\s*\(/ && + $line !~ m/^.\s*\#\s*define\s+(?:$underscore_smp_barriers)\s*\(/) { + WARN("MEMORY_BARRIER", + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr); + } + +# check for waitqueue_active without a comment. + if ($line =~ /\bwaitqueue_active\s*\(/) { + if (!ctx_has_comment($first_line, $linenr)) { + WARN("WAITQUEUE_ACTIVE", + "waitqueue_active without comment\n" . $herecurr); + } + } + +# Check for expedited grace periods that interrupt non-idle non-nohz +# online CPUs. These expedited can therefore degrade real-time response +# if used carelessly, and should be avoided where not absolutely +# needed. It is always OK to use synchronize_rcu_expedited() and +# synchronize_sched_expedited() at boot time (before real-time applications +# start) and in error situations where real-time response is compromised in +# any case. Note that synchronize_srcu_expedited() does -not- interrupt +# other CPUs, so don't warn on uses of synchronize_srcu_expedited(). +# Of course, nothing comes for free, and srcu_read_lock() and +# srcu_read_unlock() do contain full memory barriers in payment for +# synchronize_srcu_expedited() non-interruption properties. + if ($line =~ /\b(synchronize_rcu_expedited|synchronize_sched_expedited)\(/) { + WARN("EXPEDITED_RCU_GRACE_PERIOD", + "expedited RCU grace periods should be avoided where they can degrade real-time response\n" . $herecurr); + + } + # check of hardware specific defines if ($line =~ m@^.\s*\#\s*if.*\b(__i386__|__powerpc64__|__sun__|__s390x__)\b@ && $realfile !~ m@include/asm-@) { CHK("ARCH_DEFINES", @@ -4565,6 +5393,53 @@ sub process { } } +# Check for __attribute__ weak, or __weak declarations (may have link issues) + if ($^V && $^V ge 5.10.0 && + $line =~ /(?:$Declare|$DeclareMisordered)\s*$Ident\s*$balanced_parens\s*(?:$Attribute)?\s*;/ && + ($line =~ /\b__attribute__\s*\(\s*\(.*\bweak\b/ || + $line =~ /\b__weak\b/)) { + ERROR("WEAK_DECLARATION", + "Using weak declarations can have unintended link defects\n" . $herecurr); + } + +# check for c99 types like uint8_t used outside of uapi/ + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b($Declare)\s*$Ident\s*[=;,\[]/) { + my $type = $1; + if ($type =~ /\b($typeC99Typedefs)\b/) { + $type = $1; + my $kernel_type = 'u'; + $kernel_type = 's' if ($type =~ /^_*[si]/); + $type =~ /(\d+)/; + $kernel_type .= $1; + if (CHK("PREFER_KERNEL_TYPES", + "Prefer kernel type '$kernel_type' over '$type'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b$type\b/$kernel_type/; + } + } + } + +# check for cast of C90 native int or longer types constants + if ($line =~ /(\(\s*$C90_int_types\s*\)\s*)($Constant)\b/) { + my $cast = $1; + my $const = $2; + if (WARN("TYPECAST_INT_CONSTANT", + "Unnecessary typecast of c90 int constant\n" . $herecurr) && + $fix) { + my $suffix = ""; + my $newconst = $const; + $newconst =~ s/${Int_type}$//; + $suffix .= 'U' if ($cast =~ /\bunsigned\b/); + if ($cast =~ /\blong\s+long\b/) { + $suffix .= 'LL'; + } elsif ($cast =~ /\blong\b/) { + $suffix .= 'L'; + } + $fixed[$fixlinenr] =~ s/\Q$cast\E$const\b/$newconst$suffix/; + } + } + # check for sizeof(&) if ($line =~ /\bsizeof\s*\(\s*\&/) { WARN("SIZEOF_ADDRESS", @@ -4580,12 +5455,6 @@ sub process { } } -# 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", @@ -4595,7 +5464,8 @@ sub process { # 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 !~ /[^\\]\%/) { + $fmt =~ s/%%//g; + if ($fmt !~ /%/) { if (WARN("PREFER_SEQ_PUTS", "Prefer seq_puts to seq_printf\n" . $herecurr) && $fix) { @@ -4607,7 +5477,7 @@ sub process { # Check for misused memsets if ($^V && $^V ge 5.10.0 && defined $stat && - $stat =~ /^\+(?:.*?)\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*$FuncArg\s*\)/s) { + $stat =~ /^\+(?:.*?)\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*$FuncArg\s*\)/) { my $ms_addr = $2; my $ms_val = $7; @@ -4624,14 +5494,46 @@ 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) { + defined $stat && + $stat =~ /^\+(?:.*?)\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/) { if (WARN("PREFER_ETHER_ADDR_COPY", - "Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)\n" . $herecurr) && + "Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)\n" . "$here\n$stat\n") && $fix) { $fixed[$fixlinenr] =~ s/\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/ether_addr_copy($2, $7)/; } } +# Check for memcmp(foo, bar, ETH_ALEN) that could be ether_addr_equal*(foo, bar) + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+(?:.*?)\bmemcmp\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/) { + WARN("PREFER_ETHER_ADDR_EQUAL", + "Prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp()\n" . "$here\n$stat\n") + } + +# check for memset(foo, 0x0, ETH_ALEN) that could be eth_zero_addr +# check for memset(foo, 0xFF, ETH_ALEN) that could be eth_broadcast_addr + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+(?:.*?)\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/) { + + my $ms_val = $7; + + if ($ms_val =~ /^(?:0x|)0+$/i) { + if (WARN("PREFER_ETH_ZERO_ADDR", + "Prefer eth_zero_addr over memset()\n" . "$here\n$stat\n") && + $fix) { + $fixed[$fixlinenr] =~ s/\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*,\s*ETH_ALEN\s*\)/eth_zero_addr($2)/; + } + } elsif ($ms_val =~ /^(?:0xff|255)$/i) { + if (WARN("PREFER_ETH_BROADCAST_ADDR", + "Prefer eth_broadcast_addr() over memset()\n" . "$here\n$stat\n") && + $fix) { + $fixed[$fixlinenr] =~ s/\bmemset\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*,\s*ETH_ALEN\s*\)/eth_broadcast_addr($2)/; + } + } + } + # typecasts on min/max could be min_t/max_t if ($^V && $^V ge 5.10.0 && defined $stat && @@ -4821,6 +5723,27 @@ sub process { } } +# check for #defines like: 1 << <digit> that could be BIT(digit) + if ($line =~ /#\s*define\s+\w+\s+\(?\s*1\s*([ulUL]*)\s*\<\<\s*(?:\d+|$Ident)\s*\)?/) { + my $ull = ""; + $ull = "_ULL" if (defined($1) && $1 =~ /ll/i); + if (CHK("BIT_MACRO", + "Prefer using the BIT$ull macro\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\(?\s*1\s*[ulUL]*\s*<<\s*(\d+|$Ident)\s*\)?/BIT${ull}($1)/; + } + } + +# check for #if defined CONFIG_<FOO> || defined CONFIG_<FOO>_MODULE + if ($line =~ /^\+\s*#\s*if\s+defined(?:\s*\(?\s*|\s+)(CONFIG_[A-Z_]+)\s*\)?\s*\|\|\s*defined(?:\s*\(?\s*|\s+)\1_MODULE\s*\)?\s*$/) { + my $config = $1; + if (WARN("PREFER_IS_ENABLED", + "Prefer IS_ENABLED(<FOO>) to CONFIG_<FOO> || CONFIG_<FOO>_MODULE\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = "\+#if IS_ENABLED($config)"; + } + } + # check for case / default statements not preceded by break/fallthrough/switch if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) { my $has_break = 0; @@ -4869,6 +5792,12 @@ sub process { } } +# check for uses of __DATE__, __TIME__, __TIMESTAMP__ + while ($line =~ /\b(__(?:DATE|TIME|TIMESTAMP)__)\b/g) { + ERROR("DATE_TIME", + "Use of the '$1' macro makes the build non-deterministic\n" . $herecurr); + } + # check for use of yield() if ($line =~ /\byield\s*\(\s*\)/) { WARN("YIELD", @@ -4920,8 +5849,9 @@ sub process { "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. - my $struct_ops = qr{acpi_dock_ops| +# check for various structs that are normally const (ops, kgdb, device_tree) + my $const_structs = qr{ + acpi_dock_ops| address_space_operations| backlight_ops| block_device_operations| @@ -4944,6 +5874,7 @@ sub process { mtrr_ops| neigh_ops| nlmsvc_binding| + of_device_id| pci_raw_ops| pipe_buf_operations| platform_hibernation_ops| @@ -4956,10 +5887,11 @@ sub process { stacktrace_ops| sysfs_ops| tty_operations| + uart_ops| usb_mon_operations| wd_ops}x; if ($line !~ /\bconst\b/ && - $line =~ /\bstruct\s+($struct_ops)\b/) { + $line =~ /\bstruct\s+($const_structs)\b/) { WARN("CONST_STRUCT", "struct $1 should normally be const\n" . $herecurr); @@ -4984,16 +5916,11 @@ sub process { "#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) { - $string = substr($rawline, $-[1], $+[1] - $-[1]); - $string =~ s/%%/__/g; - if ($string =~ /(?<!%)%L[udi]/) { - WARN("PRINTF_L", - "\%Ld/%Lu are not-standard C, use %lld/%llu\n" . $herecurr); - last; - } +# likely/unlikely comparisons similar to "(likely(foo) > 0)" + if ($^V && $^V ge 5.10.0 && + $line =~ /\b((?:un)?likely)\s*\(\s*$FuncArg\s*\)\s*$Compare/) { + WARN("LIKELY_MISUSE", + "Using $1 should generally have parentheses around the comparison\n" . $herecurr); } # whine mightly about in_atomic @@ -5007,6 +5934,28 @@ sub process { } } +# whine about ACCESS_ONCE + if ($^V && $^V ge 5.10.0 && + $line =~ /\bACCESS_ONCE\s*$balanced_parens\s*(=(?!=))?\s*($FuncArg)?/) { + my $par = $1; + my $eq = $2; + my $fun = $3; + $par =~ s/^\(\s*(.*)\s*\)$/$1/; + if (defined($eq)) { + if (WARN("PREFER_WRITE_ONCE", + "Prefer WRITE_ONCE(<FOO>, <BAR>) over ACCESS_ONCE(<FOO>) = <BAR>\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bACCESS_ONCE\s*\(\s*\Q$par\E\s*\)\s*$eq\s*\Q$fun\E/WRITE_ONCE($par, $fun)/; + } + } else { + if (WARN("PREFER_READ_ONCE", + "Prefer READ_ONCE(<FOO>) over ACCESS_ONCE(<FOO>)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bACCESS_ONCE\s*\(\s*\Q$par\E\s*\)/READ_ONCE($par)/; + } + } + } + # check for lockdep_set_novalidate_class if ($line =~ /^.\s*lockdep_set_novalidate_class\s*\(/ || $line =~ /__lockdep_no_validate__\s*\)/ ) { @@ -5018,8 +5967,8 @@ sub process { } } - if ($line =~ /debugfs_create_file.*S_IWUGO/ || - $line =~ /DEVICE_ATTR.*S_IWUGO/ ) { + if ($line =~ /debugfs_create_\w+.*\b$mode_perms_world_writable\b/ || + $line =~ /DEVICE_ATTR.*\b$mode_perms_world_writable\b/) { WARN("EXPORTED_WORLD_WRITABLE", "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr); } @@ -5047,10 +5996,31 @@ sub process { length($val) ne 4)) { ERROR("NON_OCTAL_PERMISSIONS", "Use 4 digit octal (0777) not decimal permissions\n" . $herecurr); + } elsif ($val =~ /^$Octal$/ && (oct($val) & 02)) { + ERROR("EXPORTED_WORLD_WRITABLE", + "Exporting writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr); } } } } + +# validate content of MODULE_LICENSE against list from include/linux/module.h + if ($line =~ /\bMODULE_LICENSE\s*\(\s*($String)\s*\)/) { + my $extracted_string = get_quoted_string($line, $rawline); + my $valid_licenses = qr{ + GPL| + GPL\ v2| + GPL\ and\ additional\ rights| + Dual\ BSD/GPL| + Dual\ MIT/GPL| + Dual\ MPL/GPL| + Proprietary + }x; + if ($extracted_string !~ /^"(?:$valid_licenses)"$/x) { + WARN("MODULE_LICENSE", + "unknown module license " . $extracted_string . "\n" . $herecurr); + } + } } # If we have no input at all, then there is nothing to report on @@ -5071,11 +6041,11 @@ sub process { exit(0); } - if (!$is_patch) { + if (!$is_patch && $file !~ /cover-letter\.patch$/) { ERROR("NOT_UNIFIED_DIFF", "Does not appear to be a unified-diff format patch\n"); } - if ($is_patch && $chk_signoff && $signoff == 0) { + if ($is_patch && $filename ne '-' && $chk_signoff && $signoff == 0) { ERROR("MISSING_SIGN_OFF", "Missing Signed-off-by: line(s)\n"); } @@ -5086,28 +6056,29 @@ sub process { print "total: $cnt_error errors, $cnt_warn warnings, " . (($check)? "$cnt_chk checks, " : "") . "$cnt_lines lines checked\n"; - print "\n" if ($quiet == 0); } if ($quiet == 0) { + # If there were any defects found and not already fixing them + if (!$clean and !$fix) { + print << "EOM" - if ($^V lt 5.10.0) { - print("NOTE: perl $^V is not modern enough to detect all possible issues.\n"); - print("An upgrade to at least perl v5.10.0 is suggested.\n\n"); +NOTE: For some of the reported defects, checkpatch may be able to + mechanically convert to the typical style using --fix or --fix-inplace. +EOM } - # If there were whitespace errors which cleanpatch can fix # then suggest that. if ($rpt_cleaners) { - print "NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or\n"; - print " scripts/cleanfile\n\n"; $rpt_cleaners = 0; + print << "EOM" + +NOTE: Whitespace errors detected. + You may wish to use scripts/cleanpatch or scripts/cleanfile +EOM } } - 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)) { @@ -5135,6 +6106,7 @@ sub process { if (!$quiet) { print << "EOM"; + Wrote EXPERIMENTAL --fix correction(s) to '$newfile' Do _NOT_ trust the results written to this file. @@ -5142,22 +6114,17 @@ 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) { - print "$vname has no obvious style problems and is ready for submission.\n" - } - if ($clean == 0 && $quiet == 0) { - print << "EOM"; -$vname has style problems, please review. - -If any of these errors are false positives, please report -them to the maintainer, see CHECKPATCH in MAINTAINERS. -EOM + if ($quiet == 0) { + print "\n"; + if ($clean == 1) { + print "$vname has no obvious style problems and is ready for submission.\n"; + } else { + print "$vname has style problems, please review.\n"; + } } - return $clean; } diff --git a/tests/spelling.txt b/tests/spelling.txt new file mode 100644 index 0000000..e52a21e --- /dev/null +++ b/tests/spelling.txt @@ -0,0 +1,1076 @@ +# Downloaded from Linux kernel sources +# https://github.com/torvalds/linux/blob/master/scripts/spelling.txt +# +# Originally from Debian's Lintian tool. Various false positives have been +# removed, and various additions have been made as they've been discovered +# in the kernel source. +# +# License: GPLv2 +# +# The format of each line is: +# mistake||correction +# +abandonning||abandoning +abigious||ambiguous +abitrate||arbitrate +abov||above +abreviated||abbreviated +absense||absence +absolut||absolute +absoulte||absolute +acccess||access +acceleratoin||acceleration +accelleration||acceleration +accesing||accessing +accesnt||accent +accessable||accessible +accesss||access +accidentaly||accidentally +accidentually||accidentally +accoding||according +accomodate||accommodate +accomodates||accommodates +accordign||according +accoring||according +accout||account +accquire||acquire +accquired||acquired +accross||across +acessable||accessible +acess||access +achitecture||architecture +acient||ancient +acitions||actions +acitve||active +acknowldegement||acknowldegement +acknowledgement||acknowledgment +ackowledge||acknowledge +ackowledged||acknowledged +acording||according +activete||activate +acumulating||accumulating +adapater||adapter +addional||additional +additionaly||additionally +addres||address +addreses||addresses +addresss||address +aditional||additional +aditionally||additionally +aditionaly||additionally +adminstrative||administrative +adress||address +adresses||addresses +adviced||advised +afecting||affecting +agaist||against +albumns||albums +alegorical||allegorical +algorith||algorithm +algorithmical||algorithmically +algoritm||algorithm +algoritms||algorithms +algorrithm||algorithm +algorritm||algorithm +allign||align +allocatrd||allocated +allocte||allocate +allpication||application +alocate||allocate +alogirhtms||algorithms +alogrithm||algorithm +alot||a lot +alow||allow +alows||allows +altough||although +alue||value +ambigious||ambiguous +amoung||among +amout||amount +analysator||analyzer +ang||and +anniversery||anniversary +annoucement||announcement +anomolies||anomalies +anomoly||anomaly +anway||anyway +aplication||application +appearence||appearance +applicaion||application +appliction||application +applictions||applications +appplications||applications +appropiate||appropriate +appropriatly||appropriately +approriate||appropriate +approriately||appropriately +apropriate||appropriate +aquainted||acquainted +aquired||acquired +aquisition||acquisition +arbitary||arbitrary +architechture||architecture +arguement||argument +arguements||arguments +aritmetic||arithmetic +arne't||aren't +arraival||arrival +artifical||artificial +artillary||artillery +asign||assign +assertation||assertion +assiged||assigned +assigment||assignment +assigments||assignments +assistent||assistant +assocation||association +associcated||associated +assotiated||associated +assum||assume +assumtpion||assumption +asuming||assuming +asycronous||asynchronous +asynchnous||asynchronous +atomatically||automatically +atomicly||atomically +attachement||attachment +attched||attached +attemps||attempts +attruibutes||attributes +authentification||authentication +automaticaly||automatically +automaticly||automatically +automatize||automate +automatized||automated +automatizes||automates +autonymous||autonomous +auxillary||auxiliary +auxilliary||auxiliary +avaiable||available +avaible||available +availabe||available +availabled||available +availablity||availability +availale||available +availavility||availability +availble||available +availiable||available +avalable||available +avaliable||available +aysnc||async +backgroud||background +backword||backward +backwords||backwards +bahavior||behavior +bakup||backup +baloon||balloon +baloons||balloons +bandwith||bandwidth +batery||battery +beacuse||because +becasue||because +becomming||becoming +becuase||because +beeing||being +befor||before +begining||beginning +beter||better +betweeen||between +bianries||binaries +bitmast||bitmask +boardcast||broadcast +borad||board +boundry||boundary +brievely||briefly +broadcat||broadcast +cacluated||calculated +caculation||calculation +calender||calendar +calle||called +calucate||calculate +calulate||calculate +cancelation||cancellation +capabilites||capabilities +capabitilies||capabilities +capatibilities||capabilities +carefuly||carefully +cariage||carriage +catagory||category +cehck||check +challange||challenge +challanges||challenges +chanell||channel +changable||changeable +channle||channel +channnel||channel +charachter||character +charachters||characters +charactor||character +charater||character +charaters||characters +charcter||character +chcek||check +chck||check +checksuming||checksumming +childern||children +childs||children +chiled||child +chked||checked +chnage||change +chnages||changes +chnnel||channel +choosen||chosen +chouse||chose +circumvernt||circumvent +claread||cleared +clared||cleared +closeing||closing +clustred||clustered +collapsable||collapsible +colorfull||colorful +comand||command +comit||commit +commerical||commercial +comming||coming +comminucation||communication +commited||committed +commiting||committing +committ||commit +commoditiy||commodity +compability||compatibility +compaibility||compatibility +compatability||compatibility +compatable||compatible +compatibiliy||compatibility +compatibilty||compatibility +compatiblity||compatibility +competion||completion +compilant||compliant +compleatly||completely +completly||completely +complient||compliant +componnents||components +compres||compress +compresion||compression +comression||compression +comunication||communication +conbination||combination +conditionaly||conditionally +conected||connected +configuratoin||configuration +configuraton||configuration +configuretion||configuration +conider||consider +conjuction||conjunction +connectinos||connections +connnection||connection +connnections||connections +consistancy||consistency +consistant||consistent +containes||contains +containts||contains +contaisn||contains +contant||contact +contence||contents +continous||continuous +continously||continuously +continueing||continuing +contraints||constraints +controled||controlled +controler||controller +controll||control +contruction||construction +contry||country +convertion||conversion +convertor||converter +convienient||convenient +convinient||convenient +corected||corrected +correponding||corresponding +correponds||corresponds +correspoding||corresponding +cotrol||control +couter||counter +coutner||counter +cryptocraphic||cryptographic +cunter||counter +curently||currently +dafault||default +deafult||default +deamon||daemon +decompres||decompress +decription||description +defailt||default +defferred||deferred +definate||definite +definately||definitely +defintion||definition +defintions||definitions +defualt||default +defult||default +deivce||device +delared||declared +delare||declare +delares||declares +delaring||declaring +delemiter||delimiter +dependancies||dependencies +dependancy||dependency +dependant||dependent +depreacted||deprecated +depreacte||deprecate +desactivate||deactivate +desciptors||descriptors +descripton||description +descrition||description +descritptor||descriptor +desctiptor||descriptor +desriptor||descriptor +desriptors||descriptors +destory||destroy +destoryed||destroyed +destorys||destroys +destroied||destroyed +detabase||database +develope||develop +developement||development +developped||developed +developpement||development +developper||developer +developpment||development +deveolpment||development +devided||divided +deviece||device +diable||disable +dictionnary||dictionary +didnt||didn't +diferent||different +differrence||difference +difinition||definition +diplay||display +direectly||directly +disapear||disappear +disapeared||disappeared +disappared||disappeared +disconnet||disconnect +discontinous||discontinuous +dispertion||dispersion +dissapears||disappears +distiction||distinction +docuentation||documentation +documantation||documentation +documentaion||documentation +documment||document +doesnt||doesn't +dorp||drop +dosen||doesn +downlad||download +downlads||downloads +druing||during +dynmaic||dynamic +easilly||easily +ecspecially||especially +edditable||editable +editting||editing +efficently||efficiently +ehther||ether +eigth||eight +eletronic||electronic +enabledi||enabled +enchanced||enhanced +encorporating||incorporating +encrupted||encrypted +encrypiton||encryption +endianess||endianness +enhaced||enhanced +enlightnment||enlightenment +enocded||encoded +enterily||entirely +enviroiment||environment +enviroment||environment +environement||environment +environent||environment +eqivalent||equivalent +equiped||equipped +equivelant||equivalent +equivilant||equivalent +eror||error +estbalishment||establishment +etsablishment||establishment +etsbalishment||establishment +excecutable||executable +exceded||exceeded +excellant||excellent +existance||existence +existant||existent +exixt||exist +exlcude||exclude +exlcusive||exclusive +exmaple||example +expecially||especially +explicite||explicit +explicitely||explicitly +explict||explicit +explictly||explicitly +expresion||expression +exprimental||experimental +extened||extended +extensability||extensibility +extention||extension +extracter||extractor +faild||failed +faill||fail +failue||failure +failuer||failure +faireness||fairness +faliure||failure +familar||familiar +fatser||faster +feauture||feature +feautures||features +fetaure||feature +fetaures||features +fileystem||filesystem +fimware||firmware +finanize||finalize +findn||find +finilizes||finalizes +finsih||finish +flusing||flushing +folloing||following +followign||following +follwing||following +forseeable||foreseeable +forse||force +fortan||fortran +forwardig||forwarding +framwork||framework +frequncy||frequency +frome||from +fucntion||function +fuction||function +fuctions||functions +funcion||function +functionallity||functionality +functionaly||functionally +functionnality||functionality +functonality||functionality +funtion||function +funtions||functions +furthur||further +futhermore||furthermore +futrue||future +gaurenteed||guaranteed +generiously||generously +genric||generic +globel||global +grabing||grabbing +grahical||graphical +grahpical||graphical +grapic||graphic +guage||gauge +guarenteed||guaranteed +guarentee||guarantee +halfs||halves +hander||handler +handfull||handful +hanled||handled +happend||happened +harware||hardware +heirarchically||hierarchically +helpfull||helpful +hierachy||hierarchy +hierarchie||hierarchy +howver||however +hsould||should +hypter||hyper +identidier||identifier +imblance||imbalance +immeadiately||immediately +immedaite||immediate +immediatelly||immediately +immediatly||immediately +immidiate||immediate +impelentation||implementation +impementated||implemented +implemantation||implementation +implemenation||implementation +implementaiton||implementation +implementated||implemented +implemention||implementation +implemetation||implementation +implemntation||implementation +implentation||implementation +implmentation||implementation +implmenting||implementing +incomming||incoming +incompatabilities||incompatibilities +incompatable||incompatible +inconsistant||inconsistent +increas||increase +incrment||increment +indendation||indentation +indended||intended +independant||independent +independantly||independently +independed||independent +indiate||indicate +inexpect||inexpected +infomation||information +informatiom||information +informations||information +informtion||information +infromation||information +ingore||ignore +inital||initial +initalised||initialized +initalise||initialize +initalize||initialize +initation||initiation +initators||initiators +initializiation||initialization +initialzed||initialized +initilization||initialization +initilize||initialize +inofficial||unofficial +insititute||institute +instal||install +inteface||interface +integreated||integrated +integrety||integrity +integrey||integrity +intendet||intended +intented||intended +interanl||internal +interchangable||interchangeable +interferring||interfering +interger||integer +intermittant||intermittent +internel||internal +interoprability||interoperability +interrface||interface +interrrupt||interrupt +interrup||interrupt +interrups||interrupts +interruptted||interrupted +interupted||interrupted +interupt||interrupt +intial||initial +intialized||initialized +intialize||initialize +intregral||integral +intrrupt||interrupt +intuative||intuitive +invaid||invalid +invalde||invald +invalide||invalid +invididual||individual +invokation||invocation +invokations||invocations +irrelevent||irrelevant +isnt||isn't +isssue||issue +itslef||itself +jave||java +jeffies||jiffies +juse||just +jus||just +kown||known +langage||language +langauage||language +langauge||language +langugage||language +lauch||launch +layed||laid +leightweight||lightweight +lengh||length +lenght||length +lenth||length +lesstiff||lesstif +libaries||libraries +libary||library +librairies||libraries +libraris||libraries +licenceing||licencing +loggging||logging +loggin||login +logile||logfile +loosing||losing +losted||lost +machinary||machinery +maintainance||maintenance +maintainence||maintenance +maintan||maintain +makeing||making +malplaced||misplaced +malplace||misplace +managable||manageable +managment||management +mangement||management +manoeuvering||maneuvering +mappping||mapping +mathimatical||mathematical +mathimatic||mathematic +mathimatics||mathematics +maxium||maximum +mechamism||mechanism +meetign||meeting +ment||meant +mergable||mergeable +mesage||message +messags||messages +messgaes||messages +messsage||message +messsages||messages +microprocesspr||microprocessor +milliseonds||milliseconds +minumum||minimum +miscelleneous||miscellaneous +misformed||malformed +mispelled||misspelled +mispelt||misspelt +miximum||maximum +mmnemonic||mnemonic +mnay||many +modeled||modelled +modulues||modules +monochorome||monochrome +monochromo||monochrome +monocrome||monochrome +mopdule||module +mroe||more +mulitplied||multiplied +multidimensionnal||multidimensional +multple||multiple +mumber||number +muticast||multicast +mutiple||multiple +mutli||multi +nams||names +navagating||navigating +nead||need +neccecary||necessary +neccesary||necessary +neccessary||necessary +necesary||necessary +negaive||negative +negoitation||negotiation +negotation||negotiation +nerver||never +nescessary||necessary +nessessary||necessary +noticable||noticeable +notications||notifications +notifed||notified +numebr||number +numner||number +obtaion||obtain +occassionally||occasionally +occationally||occasionally +occurance||occurrence +occurances||occurrences +occured||occurred +occurence||occurrence +occure||occurred +occuring||occurring +offet||offset +omitt||omit +ommiting||omitting +ommitted||omitted +onself||oneself +ony||only +operatione||operation +opertaions||operations +optionnal||optional +optmizations||optimizations +orientatied||orientated +orientied||oriented +otherise||otherwise +ouput||output +overaall||overall +overhread||overhead +overlaping||overlapping +overriden||overridden +overun||overrun +pacakge||package +pachage||package +packacge||package +packege||package +packge||package +packtes||packets +pakage||package +pallette||palette +paln||plan +paramameters||parameters +paramater||parameter +parametes||parameters +parametised||parametrised +paramter||parameter +paramters||parameters +particuarly||particularly +particularily||particularly +pased||passed +passin||passing +pathes||paths +pecularities||peculiarities +peformance||performance +peice||piece +pendantic||pedantic +peprocessor||preprocessor +perfoming||performing +permissons||permissions +peroid||period +persistance||persistence +persistant||persistent +platfrom||platform +plattform||platform +pleaes||please +ploting||plotting +plugable||pluggable +poinnter||pointer +poiter||pointer +posible||possible +positon||position +possibilites||possibilities +powerfull||powerful +preceeded||preceded +preceeding||preceding +preceed||precede +precendence||precedence +precission||precision +preemptable||preemptible +prefered||preferred +prefferably||preferably +premption||preemption +prepaired||prepared +pressre||pressure +primative||primitive +princliple||principle +priorty||priority +privilaged||privileged +privilage||privilege +priviledge||privilege +priviledges||privileges +probaly||probably +procceed||proceed +proccesors||processors +procesed||processed +proces||process +processessing||processing +processess||processes +processpr||processor +processsed||processed +processsing||processing +procteted||protected +prodecure||procedure +progams||programs +progess||progress +programers||programmers +programm||program +programms||programs +progresss||progress +promiscous||promiscuous +promps||prompts +pronnounced||pronounced +prononciation||pronunciation +pronouce||pronounce +pronunce||pronounce +propery||property +propigate||propagate +propigation||propagation +propogate||propagate +prosess||process +protable||portable +protcol||protocol +protecion||protection +protocoll||protocol +psudo||pseudo +psuedo||pseudo +psychadelic||psychedelic +pwoer||power +quering||querying +raoming||roaming +reasearcher||researcher +reasearchers||researchers +reasearch||research +recepient||recipient +receving||receiving +recieved||received +recieve||receive +reciever||receiver +recieves||receives +recogniced||recognised +recognizeable||recognizable +recommanded||recommended +recyle||recycle +redircet||redirect +redirectrion||redirection +refcounf||refcount +refence||reference +refered||referred +referenace||reference +refering||referring +refernces||references +refernnce||reference +refrence||reference +registerd||registered +registeresd||registered +registes||registers +registraration||registration +regster||register +regualar||regular +reguator||regulator +regulamentations||regulations +reigstration||registration +releated||related +relevent||relevant +remoote||remote +remore||remote +removeable||removable +repectively||respectively +replacable||replaceable +replacments||replacements +replys||replies +reponse||response +representaion||representation +reqeust||request +requiere||require +requirment||requirement +requred||required +requried||required +requst||request +reseting||resetting +resizeable||resizable +resouces||resources +resoures||resources +responce||response +ressizes||resizes +ressource||resource +ressources||resources +retransmited||retransmitted +retreived||retrieved +retreive||retrieve +retrive||retrieve +retuned||returned +reudce||reduce +reuest||request +reuqest||request +reutnred||returned +rmeoved||removed +rmeove||remove +rmeoves||removes +rountine||routine +routins||routines +rquest||request +runing||running +runned||ran +runnning||running +runtine||runtime +sacrifying||sacrificing +safly||safely +safty||safety +savable||saveable +scaned||scanned +scaning||scanning +scarch||search +seach||search +searchs||searches +secquence||sequence +secund||second +segement||segment +senarios||scenarios +sentivite||sensitive +separatly||separately +sepcify||specify +sepc||spec +seperated||separated +seperately||separately +seperate||separate +seperatly||separately +seperator||separator +sepperate||separate +sequece||sequence +sequencial||sequential +serveral||several +setts||sets +settting||setting +shotdown||shutdown +shoud||should +shouldnt||shouldn't +shoule||should +shrinked||shrunk +siginificantly||significantly +signabl||signal +similary||similarly +similiar||similar +simlar||similar +simliar||similar +simpified||simplified +singaled||signaled +singal||signal +singed||signed +sleeped||slept +softwares||software +speach||speech +specfic||specific +speciefied||specified +specifc||specific +specifed||specified +specificatin||specification +specificaton||specification +specifing||specifying +specifiying||specifying +speficied||specified +speicify||specify +speling||spelling +spinlcok||spinlock +spinock||spinlock +splitted||split +spreaded||spread +sructure||structure +stablilization||stabilization +staically||statically +staion||station +standardss||standards +standartization||standardization +standart||standard +staticly||statically +stoped||stopped +stoppped||stopped +straming||streaming +struc||struct +structres||structures +stuct||struct +stucture||structure +sturcture||structure +subdirectoires||subdirectories +suble||subtle +substract||subtract +succesfully||successfully +succesful||successful +successfull||successful +sucessfully||successfully +sucess||success +superflous||superfluous +superseeded||superseded +suplied||supplied +suported||supported +suport||support +suppored||supported +supportin||supporting +suppoted||supported +suppported||supported +suppport||support +supress||suppress +surpresses||suppresses +susbsystem||subsystem +suspicously||suspiciously +swaping||swapping +switchs||switches +symetric||symmetric +synax||syntax +synchonized||synchronized +syncronize||synchronize +syncronizing||synchronizing +syncronus||synchronous +syste||system +sytem||system +sythesis||synthesis +taht||that +targetted||targeted +targetting||targeting +teh||the +temorary||temporary +temproarily||temporarily +thier||their +threds||threads +threshhold||threshold +throught||through +thses||these +tiggered||triggered +tipically||typically +tmis||this +torerable||tolerable +tramsmitted||transmitted +tramsmit||transmit +tranfer||transfer +transciever||transceiver +transferd||transferrd +transfered||transferred +transfering||transferring +transision||transition +transmittd||transmitted +transormed||transformed +trasmission||transmission +treshold||threshold +trigerring||triggering +trun||turn +ture||true +tyep||type +udpate||update +uesd||used +unconditionaly||unconditionally +underun||underrun +unecessary||unnecessary +unexecpted||unexpected +unexpectd||unexpected +unexpeted||unexpected +unfortunatelly||unfortunately +unifiy||unify +unintialized||uninitialized +unknonw||unknown +unknow||unknown +unkown||unknown +unneedingly||unnecessarily +unresgister||unregister +unsinged||unsigned +unstabel||unstable +unsuccessfull||unsuccessful +unsuported||unsupported +untill||until +unuseful||useless +upate||update +usefule||useful +usefull||useful +usege||usage +usera||users +usualy||usually +utilites||utilities +utillities||utilities +utilties||utilities +utiltity||utility +utitity||utility +utitlty||utility +vaid||valid +vaild||valid +valide||valid +variantions||variations +varient||variant +vaule||value +verbse||verbose +verisons||versions +verison||version +verson||version +vicefersa||vice-versa +virtal||virtual +virtaul||virtual +virtiual||virtual +visiters||visitors +vitual||virtual +wating||waiting +wether||whether +whataver||whatever +whcih||which +whenver||whenever +wheter||whether +whe||when +wierd||weird +wiil||will +wirte||write +withing||within +wnat||want +workarould||workaround +writeing||writing +writting||writing +zombe||zombie +zomebie||zombie diff --git a/tests/test_io_dir_list.c b/tests/test_io_dir_list.c index 29a9c31..1d3ec17 100644 --- a/tests/test_io_dir_list.c +++ b/tests/test_io_dir_list.c @@ -23,7 +23,7 @@ #include "../src/lib/pio.h" -static int test_empty_dir() +static int test_empty_dir(void) { int ret; char **paths; @@ -38,12 +38,12 @@ static int test_empty_dir() } paths_free(paths); - } + } return ret; } -static int test_2files_dir() +static int test_2files_dir(void) { int ret, one, two; char **paths, **cur; @@ -68,21 +68,21 @@ static int test_2files_dir() ret = 1; } - + cur++; } - + if (!ret && one == 1 && two == 1) ret = 0; else ret = 1; - + paths_free(paths); return ret; } -static int tests_dir_list() { +static int tests_dir_list(void) { int failures; failures = test_empty_dir(); @@ -98,7 +98,7 @@ int main(int argc, char **argv) failures = tests_dir_list(); - if (failures) + if (failures) exit(EXIT_FAILURE); else exit(EXIT_SUCCESS); diff --git a/tests/test_psensor_type_to_unit_str.c b/tests/test_psensor_type_to_unit_str.c index 3ce27f8..6be91d5 100644 --- a/tests/test_psensor_type_to_unit_str.c +++ b/tests/test_psensor_type_to_unit_str.c @@ -42,7 +42,7 @@ test_fct(unsigned int type, int use_celsius, const char *ref) return 1; } -static int test() { +static int test(void) { int failures; failures = 0; @@ -75,7 +75,7 @@ int main(int argc, char **argv) failures = test(); - if (failures) + if (failures) exit(EXIT_FAILURE); else exit(EXIT_SUCCESS); diff --git a/tests/test_url_encode.c b/tests/test_url_encode.c index 0b64aef..1ffe0ca 100644 --- a/tests/test_url_encode.c +++ b/tests/test_url_encode.c @@ -24,7 +24,7 @@ #include "../src/lib/url.h" -int test_url_encode(char *url, char *ref_url) +static int test_url_encode(char *url, char *ref_url) { char *res_url; int ret; @@ -45,7 +45,7 @@ int test_url_encode(char *url, char *ref_url) return ret; } -int tests_url_encode() +static int tests_url_encode(void) { int failures; diff --git a/tests/test_url_normalize.c b/tests/test_url_normalize.c index ef48203..9736c66 100644 --- a/tests/test_url_normalize.c +++ b/tests/test_url_normalize.c @@ -24,7 +24,7 @@ #include "../src/lib/url.h" -int test_url_normalize(const char *url, const char *ref_url) +static int test_url_normalize(const char *url, const char *ref_url) { int ret; char *tmp = url_normalize(url); @@ -46,7 +46,7 @@ int test_url_normalize(const char *url, const char *ref_url) return ret; } -int tests_url_normalize() +static int tests_url_normalize(void) { int failures; @@ -69,7 +69,7 @@ int main(int argc, char **argv) failures += tests_url_normalize(); - if (failures) + if (failures) exit(EXIT_FAILURE); else exit(EXIT_SUCCESS); diff --git a/www/Makefile.in b/www/Makefile.in index 3b9d8c1..5d9a836 100644 --- a/www/Makefile.in +++ b/www/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 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, @@ -15,17 +15,7 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,11 +79,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = www +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) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -147,7 +141,6 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(defaultwwwdir)" DATA = $(defaultwww_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -177,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -236,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@ @@ -251,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@ @@ -297,7 +287,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -334,6 +323,7 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu www/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu www/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -526,8 +516,6 @@ uninstall-am: uninstall-defaultwwwDATA mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-defaultwwwDATA -.PRECIOUS: Makefile - # 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. -- 2.7.4