summaryrefslogtreecommitdiff
path: root/hardinfo2
diff options
context:
space:
mode:
Diffstat (limited to 'hardinfo2')
-rw-r--r--hardinfo2/arch/common/printers.h2
l---------hardinfo2/arch/linux/alpha/devmemory.h1
l---------hardinfo2/arch/linux/armv4l/devmemory.h1
-rw-r--r--hardinfo2/arch/linux/common/devmemory.h50
l---------hardinfo2/arch/linux/ia64/devmemory.h1
l---------hardinfo2/arch/linux/m68k/devmemory.h1
l---------hardinfo2/arch/linux/mips/devmemory.h1
l---------hardinfo2/arch/linux/parisc/devmemory.h1
l---------hardinfo2/arch/linux/ppc/devmemory.h1
l---------hardinfo2/arch/linux/s390/devmemory.h1
l---------hardinfo2/arch/linux/sparc/devmemory.h1
l---------hardinfo2/arch/linux/x86/devmemory.h1
-rw-r--r--hardinfo2/computer.c2
-rw-r--r--hardinfo2/devices.c29
-rw-r--r--hardinfo2/hardinfo.c12
-rw-r--r--hardinfo2/iconcache.c1
-rw-r--r--hardinfo2/shell.c22
-rw-r--r--hardinfo2/stock.c3
-rw-r--r--hardinfo2/util.c10
19 files changed, 128 insertions, 13 deletions
diff --git a/hardinfo2/arch/common/printers.h b/hardinfo2/arch/common/printers.h
index 9fd146c0..3daf28e6 100644
--- a/hardinfo2/arch/common/printers.h
+++ b/hardinfo2/arch/common/printers.h
@@ -78,6 +78,6 @@ __scan_printers(void)
}
} else {
printer_list = g_strdup("[Printers]\n"
- "No printers found");
+ "No printers found=\n");
}
}
diff --git a/hardinfo2/arch/linux/alpha/devmemory.h b/hardinfo2/arch/linux/alpha/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/alpha/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/armv4l/devmemory.h b/hardinfo2/arch/linux/armv4l/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/armv4l/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/common/devmemory.h b/hardinfo2/arch/linux/common/devmemory.h
new file mode 100644
index 00000000..ca8ec4e6
--- /dev/null
+++ b/hardinfo2/arch/linux/common/devmemory.h
@@ -0,0 +1,50 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2007 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * 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, version 2.
+ *
+ * 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 St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static void __scan_memory()
+{
+ gchar **keys;
+ gint i;
+
+ g_file_get_contents("/proc/meminfo", &meminfo, NULL, NULL);
+
+ keys = g_strsplit(meminfo, "\n", 0);
+
+ g_free(meminfo);
+ meminfo = "";
+
+ g_free(lginterval);
+ lginterval = "";
+
+ for (i = 0; keys[i]; i++) {
+ gchar **newkeys = g_strsplit(keys[i], ":", 0);
+
+ if (!newkeys[0]) break;
+
+ g_strstrip(newkeys[1]);
+
+ g_hash_table_replace(moreinfo, g_strdup(newkeys[0]), g_strdup(newkeys[1]));
+ meminfo = g_strconcat(meminfo, newkeys[0], "=", newkeys[1], "\n", NULL);
+ lginterval = g_strconcat(lginterval,
+ "LoadGraphInterval$", newkeys[0], "=500\n",
+ "UpdateInterval$", newkeys[0], "=500\n", NULL);
+
+ g_strfreev(newkeys);
+ }
+ g_strfreev(keys);
+}
diff --git a/hardinfo2/arch/linux/ia64/devmemory.h b/hardinfo2/arch/linux/ia64/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/ia64/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/m68k/devmemory.h b/hardinfo2/arch/linux/m68k/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/m68k/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/mips/devmemory.h b/hardinfo2/arch/linux/mips/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/mips/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/parisc/devmemory.h b/hardinfo2/arch/linux/parisc/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/parisc/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/ppc/devmemory.h b/hardinfo2/arch/linux/ppc/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/ppc/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/s390/devmemory.h b/hardinfo2/arch/linux/s390/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/s390/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/sparc/devmemory.h b/hardinfo2/arch/linux/sparc/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/sparc/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/arch/linux/x86/devmemory.h b/hardinfo2/arch/linux/x86/devmemory.h
new file mode 120000
index 00000000..f8a833e7
--- /dev/null
+++ b/hardinfo2/arch/linux/x86/devmemory.h
@@ -0,0 +1 @@
+../../../arch/linux/common/devmemory.h \ No newline at end of file
diff --git a/hardinfo2/computer.c b/hardinfo2/computer.c
index 2d82cd50..9be3dcba 100644
--- a/hardinfo2/computer.c
+++ b/hardinfo2/computer.c
@@ -106,7 +106,7 @@ hi_more_info(gchar * entry)
if (info)
return g_strdup(info);
- return g_strdup_printf("[Empty %s]", entry);
+ return g_strdup_printf("[%s]", entry);
}
gchar *
diff --git a/hardinfo2/devices.c b/hardinfo2/devices.c
index d44e5222..76d5204b 100644
--- a/hardinfo2/devices.c
+++ b/hardinfo2/devices.c
@@ -79,6 +79,7 @@ static gchar *pci_list = "";
static gchar *input_list = NULL;
static gchar *storage_list = NULL;
static gchar *battery_list = NULL;
+static gchar *meminfo = NULL, *lginterval = NULL;
#define WALK_UNTIL(x) while((*buf != '\0') && (*buf != x)) buf++
@@ -113,7 +114,6 @@ static gchar *battery_list = NULL;
typedef struct _Processor Processor;
#include <arch/this/processor.h>
-
#include <arch/this/pci.h>
#include <arch/common/printers.h>
#include <arch/this/inputdevices.h>
@@ -121,6 +121,7 @@ typedef struct _Processor Processor;
#include <arch/this/storage.h>
#include <arch/this/battery.h>
#include <arch/this/sensors.h>
+#include <arch/this/devmemory.h>
gchar *
get_processor_name(void)
@@ -183,7 +184,19 @@ hi_more_info(gchar * entry)
if (info)
return g_strdup(info);
- return g_strdup("[Empty]");
+
+ return g_strdup("[TSC]");
+}
+
+gchar *
+hi_get_field(gchar * field)
+{
+ gchar *info = (gchar *) g_hash_table_lookup(moreinfo, field);
+
+ if (info)
+ return g_strdup(info);
+
+ return g_strdup(field);
}
void
@@ -199,6 +212,7 @@ void
scan_memory(gboolean reload)
{
SCAN_START();
+ __scan_memory();
SCAN_END();
}
@@ -271,7 +285,13 @@ callback_processors()
gchar *
callback_memory()
{
- return g_strdup("[Memory]\nNot implemented=\n");
+ return g_strdup_printf("[Memory]\n"
+ "%s\n"
+ "[$ShellParam$]\n"
+ "ViewType=2\n"
+ "RescanInterval=2000\n"
+ "%s\n",
+ meminfo, lginterval);
}
gchar *
@@ -358,6 +378,5 @@ hi_module_get_weight(void)
void
hi_module_init(void)
{
- moreinfo = g_hash_table_new(g_str_hash, g_str_equal);
+ moreinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
}
-
diff --git a/hardinfo2/hardinfo.c b/hardinfo2/hardinfo.c
index 807b3239..8178d792 100644
--- a/hardinfo2/hardinfo.c
+++ b/hardinfo2/hardinfo.c
@@ -33,6 +33,8 @@ main(int argc, char **argv)
{
GSList *modules;
+ DEBUG("HardInfo version " VERSION ". Debug version.");
+
/* parse all command line parameters */
parameters_init(&argc, &argv, &params);
@@ -52,6 +54,8 @@ main(int argc, char **argv)
PREFIX,
LIBPREFIX,
PLATFORM, KERNEL, HOSTNAME);
+
+ DEBUG(" Debugging is enabled.");
/* show also available modules */
params.list_modules = TRUE;
@@ -96,24 +100,29 @@ main(int argc, char **argv)
if (params.use_modules) {
/* load only selected modules */
+ DEBUG("loading user-selected modules");
modules = modules_load_selected();
} else {
/* load all modules */
+ DEBUG("loading all modules");
modules = modules_load_all();
}
if (params.gui_running) {
- /* initialize gui and start gtk+ main loop */
+ /* initialize gui and start gtk+ main loop */
icon_cache_init();
stock_icons_init();
shell_init(modules);
+ DEBUG("entering gtk+ main loop");
gtk_main();
} else if (params.create_report) {
/* generate report */
gchar *report;
+ DEBUG("generating report");
+
report = report_create_from_module_list_format(modules,
params.report_format);
g_print("%s", report);
@@ -121,5 +130,6 @@ main(int argc, char **argv)
g_free(report);
}
+ DEBUG("finished");
return 0;
}
diff --git a/hardinfo2/iconcache.c b/hardinfo2/iconcache.c
index 353f1454..fbd0dd84 100644
--- a/hardinfo2/iconcache.c
+++ b/hardinfo2/iconcache.c
@@ -23,6 +23,7 @@ static GHashTable *cache = NULL;
void icon_cache_init(void)
{
+ DEBUG("initializing icon cache");
if (!cache) {
cache = g_hash_table_new(g_str_hash, g_str_equal);
}
diff --git a/hardinfo2/shell.c b/hardinfo2/shell.c
index efe3a4e1..34fd1aea 100644
--- a/hardinfo2/shell.c
+++ b/hardinfo2/shell.c
@@ -42,6 +42,7 @@ static void module_selected_show_info(ShellModuleEntry * entry,
static void info_selected(GtkTreeSelection * ts, gpointer data);
static void info_selected_show_extra(gchar * data);
static gboolean reload_section(gpointer data);
+static gboolean rescan_section(gpointer data);
/*
* Globals ********************************************************************
@@ -471,6 +472,8 @@ void shell_init(GSList * modules)
return;
}
+ DEBUG("initializing shell");
+
create_window();
shell->tree = tree_new();
@@ -536,7 +539,7 @@ static gboolean update_field(gpointer data)
ts = gtk_tree_view_get_selection(GTK_TREE_VIEW
(shell->info->view));
-
+
if (iter && gtk_tree_selection_iter_is_selected(ts, iter)) {
load_graph_update(shell->loadgraph, atoi(value));
}
@@ -596,6 +599,15 @@ static gboolean reload_section(gpointer data)
return FALSE;
}
+static gboolean rescan_section(gpointer data)
+{
+ ShellModuleEntry *entry = (ShellModuleEntry *) data;
+
+ module_entry_reload(entry);
+
+ return entry->selected;
+}
+
gint
info_tree_compare_val_func(GtkTreeModel * model,
GtkTreeIter * a,
@@ -705,7 +717,7 @@ group_handle_special(GKeyFile * key_file, ShellModuleEntry * entry,
fu->field_name = g_strdup(strchr(key, '$') + 1);
fu->entry = entry;
fu->loadgraph = TRUE;
-
+
g_timeout_add(ms, update_field, fu);
} else if (g_str_equal(key, "LoadGraphMaxValue")) {
gint max_value;
@@ -719,6 +731,12 @@ group_handle_special(GKeyFile * key_file, ShellModuleEntry * entry,
ms = g_key_file_get_integer(key_file, group, key, NULL);
g_timeout_add(ms, reload_section, entry);
+ } else if (g_str_equal(key, "RescanInterval")) {
+ gint ms;
+
+ ms = g_key_file_get_integer(key_file, group, key, NULL);
+
+ g_timeout_add(ms, rescan_section, entry);
} else if (g_str_equal(key, "OrderType")) {
shell->_order_type = g_key_file_get_integer(key_file,
group,
diff --git a/hardinfo2/stock.c b/hardinfo2/stock.c
index 6d82fcea..7dc22b7d 100644
--- a/hardinfo2/stock.c
+++ b/hardinfo2/stock.c
@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <config.h>
#include <gtk/gtk.h>
#include <stock.h>
#include <iconcache.h>
@@ -69,6 +70,8 @@ void stock_icons_init(void)
gint i;
guint n_stock_icons = G_N_ELEMENTS(stock_icons);
+ DEBUG("initializing stock icons");
+
icon_factory = gtk_icon_factory_new();
for (i = 0; i < n_stock_icons; i++) {
diff --git a/hardinfo2/util.c b/hardinfo2/util.c
index 96dfbbc7..c0b7d35e 100644
--- a/hardinfo2/util.c
+++ b/hardinfo2/util.c
@@ -805,8 +805,9 @@ void tree_view_save_image(gchar *filename)
static gboolean __idle_free_do(gpointer ptr)
{
- DEBUG("GC memory at %p: %s", ptr,
- g_utf8_validate((gchar*)ptr, 3, NULL) ? (gchar*)ptr : "[non string data]");
+ DEBUG("Freeing mem @ %p: %s", ptr,
+ g_utf8_validate((gchar*)ptr, 3, NULL) ?
+ (gchar*)ptr : "[non string data]");
g_free(ptr);
@@ -815,6 +816,8 @@ static gboolean __idle_free_do(gpointer ptr)
gpointer idle_free(gpointer ptr)
{
+ DEBUG("Will free mem @ %p in 5000ms", ptr);
+
g_timeout_add(5000, __idle_free_do, ptr);
return ptr;
@@ -866,5 +869,6 @@ gchar *module_entry_function(ShellModuleEntry *module_entry)
return g_strdup(module_entry->func());
}
- return g_strdup("[Error]\n" "Invalid module=");
+ return g_strdup("[Error]\n"
+ "Invalid module=");
}