/*
- Copyright (C) 2010-2011 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-2012 jeanfi@gmail.com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
#include <locale.h>
#include <getopt.h>
static void print_version()
{
printf("psensor %s\n", VERSION);
- printf(_("Copyright (C) %s jeanfi@gmail.com\n\
-License GPLv2: GNU GPL version 2 or later \
-<http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>\n\
-This is free software: you are free to change and redistribute it.\n\
-There is NO WARRANTY, to the extent permitted by law.\n"),
- "2010-2011");
+ printf(_("Copyright (C) %s jeanfi@gmail.com\n"
+ "License GPLv2: GNU GPL version 2 or later "
+ "<http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>\n"
+ "This is free software: you are free to change and "
+ " redistribute it.\n"
+ "There is NO WARRANTY, to the extent permitted by law.\n"),
+ "2010-2012");
}
static void print_help()
puts("");
puts(_("Options:"));
- puts(_("\
- -h, --help display this help and exit\n\
- -v, --version display version information and exit"));
+ puts(_(" -h, --help display this help and exit\n"
+ " -v, --version display version information and exit"));
puts("");
- puts(_("\
- -u, --url=URL \
-the URL of the psensor-server, example: http://hostname:3131"));
+ puts(_(" -u, --url=URL "
+ "the URL of the psensor-server, example: http://hostname:3131"));
+
+ puts("");
+
+ puts(_(" -d, --debug=LEVEL "
+ "set the debug level, integer between 0 and 3"));
puts("");
}
static struct option long_options[] = {
+ {"use_libatasmart", no_argument, 0, 0},
{"version", no_argument, 0, 'v'},
{"help", no_argument, 0, 'h'},
{"url", required_argument, 0, 'u'},
- {"debug", no_argument, 0, 'd'},
+ {"debug", required_argument, 0, 'd'},
{0, 0, 0, 0}
};
return FALSE;
}
+static void log_glib_info()
+{
+ log_debug("Compiled with GLib %d.%d.%d",
+ GLIB_MAJOR_VERSION,
+ GLIB_MINOR_VERSION,
+ GLIB_MICRO_VERSION);
+
+ log_debug("Running with GLib %d.%d.%d",
+ glib_major_version,
+ glib_minor_version,
+ glib_micro_version);
+}
+
int main(int argc, char **argv)
{
struct ui_psensor ui;
GError *error;
GThread *thread;
- int optc;
+ int optc, cmdok, opti, use_libatasmart;
char *url = NULL;
- int cmdok = 1;
program_name = argv[0];
textdomain(PACKAGE);
#endif
- while ((optc = getopt_long(argc, argv, "vhdu:", long_options,
- NULL)) != -1) {
+ use_libatasmart = 0;
+
+ cmdok = 1;
+ while ((optc = getopt_long(argc, argv, "vhd:u:", long_options,
+ &opti)) != -1) {
switch (optc) {
+ case 0:
+ if (!strcmp(long_options[opti].name, "use_libatasmart"))
+ use_libatasmart = 1;
+ break;
case 'u':
if (optarg)
url = strdup(optarg);
print_version();
exit(EXIT_SUCCESS);
case 'd':
- printf(_("Enables debug mode.\n"));
- log_level = LOG_DEBUG;
+ log_level = atoi(optarg);
+ log_printf(LOG_INFO, _("Enables debug mode."));
break;
default:
cmdok = 0;
log_init();
+ log_glib_info();
+#if !(GLIB_CHECK_VERSION(2, 31, 0))
+ /*
+ * Since GLib 2.31 g_thread_init call is deprecated and not
+ * needed.
+ */
+ log_debug("Calling g_thread_init(NULL)");
g_thread_init(NULL);
+#endif
+
gdk_threads_init();
- /* gdk_threads_enter(); */
gtk_init(NULL, NULL);
exit(EXIT_FAILURE);
#endif
} else {
- ui.sensors = get_all_sensors(600);
+ ui.sensors = get_all_sensors(use_libatasmart, 600);
#ifdef HAVE_NVIDIA
ui.sensors = nvidia_psensor_list_add(ui.sensors, 600);
#endif
associate_colors(ui.sensors);
associate_cb_alarm_raised(ui.sensors, &ui);
+#if !defined(HAVE_APPINDICATOR) && !defined(HAVE_APPINDICATOR_029)
ui_status_init(&ui);
+#endif
/* main window */
ui_window_create(&ui);