* added progessbars for cpu and memory usage
(Old svn revision: 1935)
This commit is contained in:
@@ -28,7 +28,7 @@ top_srcdir = ..
|
|||||||
top_builddir = ..
|
top_builddir = ..
|
||||||
|
|
||||||
|
|
||||||
prefix = /usr/local
|
prefix = /opt/xfce4/
|
||||||
exec_prefix = ${prefix}
|
exec_prefix = ${prefix}
|
||||||
datadir = ${datarootdir}
|
datadir = ${datarootdir}
|
||||||
datarootdir = ${prefix}/share
|
datarootdir = ${prefix}/share
|
||||||
@@ -53,7 +53,7 @@ INTLTOOL_EXTRACT = $(top_builddir)/intltool-extract
|
|||||||
MSGMERGE = XGETTEXT_ARGS="$(XGETTEXT_ARGS)" INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
MSGMERGE = XGETTEXT_ARGS="$(XGETTEXT_ARGS)" INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||||
GENPOT = XGETTEXT_ARGS="$(XGETTEXT_ARGS)" INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
GENPOT = XGETTEXT_ARGS="$(XGETTEXT_ARGS)" INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||||
|
|
||||||
ALL_LINGUAS = de eu fi fr gl hu ja pl pt_BR ru vi zh_TW
|
ALL_LINGUAS = cs de eu fi fr gl hu ja pl pt_BR ru vi zh_TW
|
||||||
|
|
||||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-04-01 17:42+0900\n"
|
"POT-Creation-Date: 2006-08-25 07:22+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@@ -16,7 +16,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=CHARSET\n"
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: ../src/interface.c:41 ../src/interface.c:246
|
#: ../src/interface.c:41 ../src/interface.c:241
|
||||||
msgid "xfce4-taskmanager"
|
msgid "xfce4-taskmanager"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -24,58 +24,62 @@ msgstr ""
|
|||||||
msgid "more details"
|
msgid "more details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:108
|
#: ../src/interface.c:101
|
||||||
msgid "Command"
|
msgid "Command"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:114
|
#: ../src/interface.c:107
|
||||||
msgid "PID"
|
msgid "PID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:120
|
#: ../src/interface.c:113
|
||||||
msgid "PPID"
|
msgid "PPID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:126
|
#: ../src/interface.c:119
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:132
|
#: ../src/interface.c:125
|
||||||
msgid "VM-Size"
|
msgid "VM-Size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:138
|
#: ../src/interface.c:131
|
||||||
msgid "RSS"
|
msgid "RSS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:144
|
#: ../src/interface.c:137
|
||||||
msgid "User"
|
msgid "User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:163
|
#: ../src/interface.c:143
|
||||||
|
msgid "CPU%"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/interface.c:159
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:167
|
#: ../src/interface.c:164
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:171
|
#: ../src/interface.c:169
|
||||||
msgid "Term"
|
msgid "Term"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:175
|
#: ../src/interface.c:174
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:210
|
#: ../src/interface.c:205
|
||||||
msgid "Show user tasks"
|
msgid "Show user tasks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:215
|
#: ../src/interface.c:210
|
||||||
msgid "Show root tasks"
|
msgid "Show root tasks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/interface.c:220
|
#: ../src/interface.c:215
|
||||||
msgid "Show other tasks"
|
msgid "Show other tasks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@@ -102,9 +102,32 @@ gboolean refresh_task_list(void)
|
|||||||
|
|
||||||
g_array_free(new_task_list, TRUE);
|
g_array_free(new_task_list, TRUE);
|
||||||
|
|
||||||
|
system_status *sys_stat = g_new (system_status, 1);
|
||||||
|
get_system_status (sys_stat);
|
||||||
|
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (mem_usage_progress_bar), 1.0 - ( (gdouble) sys_stat->mem_free / sys_stat->mem_total ));
|
||||||
|
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (cpu_usage_progress_bar), get_cpu_usage(sys_stat));
|
||||||
|
g_free (sys_stat);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdouble get_cpu_usage(system_status *sys_stat)
|
||||||
|
{
|
||||||
|
gdouble cpu_usage = 0.0;
|
||||||
|
gint i = 0;
|
||||||
|
|
||||||
|
for(i = 0; i < task_array->len; i++)
|
||||||
|
{
|
||||||
|
struct task *tmp = &g_array_index(task_array, struct task, i);
|
||||||
|
cpu_usage += tmp->time_percentage;
|
||||||
|
}
|
||||||
|
|
||||||
|
cpu_usage = cpu_usage / (sys_stat->cpu_count * 100.0);
|
||||||
|
|
||||||
|
printf("%i\n", sys_stat->cpu_count);
|
||||||
|
|
||||||
|
return cpu_usage;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* configurationfile support
|
* configurationfile support
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#define FUNCTIONS_H
|
#define FUNCTIONS_H
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
#include <glib.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -45,6 +46,7 @@
|
|||||||
#define PROC_DIR_3 "/proc"
|
#define PROC_DIR_3 "/proc"
|
||||||
|
|
||||||
gboolean refresh_task_list(void);
|
gboolean refresh_task_list(void);
|
||||||
|
gdouble get_cpu_usage(system_status *sys_stat);
|
||||||
void send_signal_to_task(gchar *task_id, gchar *signal);
|
void send_signal_to_task(gchar *task_id, gchar *signal);
|
||||||
|
|
||||||
/* Configurationfile support */
|
/* Configurationfile support */
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ GtkWidget* create_main_window (void)
|
|||||||
GtkWidget *button2;
|
GtkWidget *button2;
|
||||||
GtkWidget *button3;
|
GtkWidget *button3;
|
||||||
|
|
||||||
|
GtkWidget *system_info_box;
|
||||||
|
|
||||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||||
gtk_window_set_title (GTK_WINDOW (window), _("xfce4-taskmanager"));
|
gtk_window_set_title (GTK_WINDOW (window), _("xfce4-taskmanager"));
|
||||||
gtk_window_set_default_size (GTK_WINDOW (window), win_width, win_height);
|
gtk_window_set_default_size (GTK_WINDOW (window), win_width, win_height);
|
||||||
@@ -46,6 +48,20 @@ GtkWidget* create_main_window (void)
|
|||||||
gtk_container_add (GTK_CONTAINER (window), vbox1);
|
gtk_container_add (GTK_CONTAINER (window), vbox1);
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (vbox1), 10);
|
gtk_container_set_border_width (GTK_CONTAINER (vbox1), 10);
|
||||||
|
|
||||||
|
system_info_box = gtk_hbox_new (FALSE, 10);
|
||||||
|
gtk_widget_show (system_info_box);
|
||||||
|
gtk_box_pack_start (GTK_BOX (vbox1), system_info_box, FALSE, TRUE, 0);
|
||||||
|
|
||||||
|
cpu_usage_progress_bar = gtk_progress_bar_new ();
|
||||||
|
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (cpu_usage_progress_bar), _("cpu usage"));
|
||||||
|
gtk_widget_show (cpu_usage_progress_bar);
|
||||||
|
gtk_box_pack_start (GTK_BOX (system_info_box), cpu_usage_progress_bar, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
mem_usage_progress_bar = gtk_progress_bar_new ();
|
||||||
|
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (mem_usage_progress_bar), _("memory usage"));
|
||||||
|
gtk_widget_show (mem_usage_progress_bar);
|
||||||
|
gtk_box_pack_start (GTK_BOX (system_info_box), mem_usage_progress_bar, TRUE, TRUE, 0);
|
||||||
|
|
||||||
scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
|
scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
|
||||||
gtk_widget_show (scrolledwindow1);
|
gtk_widget_show (scrolledwindow1);
|
||||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ GtkTreeSelection *selection;
|
|||||||
GtkWidget *treeview;
|
GtkWidget *treeview;
|
||||||
GtkWidget *mainmenu;
|
GtkWidget *mainmenu;
|
||||||
GtkWidget *taskpopup;
|
GtkWidget *taskpopup;
|
||||||
|
GtkWidget *cpu_usage_progress_bar;
|
||||||
|
GtkWidget *mem_usage_progress_bar;
|
||||||
|
|
||||||
#define COLUMN_NAME 0
|
#define COLUMN_NAME 0
|
||||||
#define COLUMN_PID 1
|
#define COLUMN_PID 1
|
||||||
|
|||||||
@@ -41,6 +41,13 @@ struct task
|
|||||||
gdouble time_percentage;
|
gdouble time_percentage;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
gint mem_total;
|
||||||
|
gint mem_free;
|
||||||
|
gint cpu_count;
|
||||||
|
} system_status;
|
||||||
|
|
||||||
GtkWidget *main_window;
|
GtkWidget *main_window;
|
||||||
|
|
||||||
GArray *task_array;
|
GArray *task_array;
|
||||||
|
|||||||
@@ -151,3 +151,63 @@ GArray *get_task_list()
|
|||||||
|
|
||||||
return task_list;
|
return task_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean get_system_status (system_status *sys_stat)
|
||||||
|
{
|
||||||
|
FILE *file;
|
||||||
|
gchar *file_name;
|
||||||
|
gchar *buffer;
|
||||||
|
|
||||||
|
buffer = g_new (gchar, 100);
|
||||||
|
|
||||||
|
file_name = g_strdup ("/proc/meminfo");
|
||||||
|
|
||||||
|
if (!g_file_test (file_name, G_FILE_TEST_EXISTS))
|
||||||
|
{
|
||||||
|
g_free(file_name);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
file = fopen (file_name, "r");
|
||||||
|
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
while (fgets (buffer, 100, file) != NULL)
|
||||||
|
{
|
||||||
|
sscanf (buffer, "MemTotal:\t%i kB", &sys_stat->mem_total);
|
||||||
|
sscanf (buffer, "MemFree:\t%i kB", &sys_stat->mem_free);
|
||||||
|
}
|
||||||
|
fclose (file);
|
||||||
|
}
|
||||||
|
g_free (buffer);
|
||||||
|
g_free (file_name);
|
||||||
|
|
||||||
|
buffer = g_new (gchar, 100);
|
||||||
|
|
||||||
|
file_name = g_strdup ("/proc/cpuinfo");
|
||||||
|
|
||||||
|
if (!g_file_test (file_name, G_FILE_TEST_EXISTS))
|
||||||
|
{
|
||||||
|
g_free(file_name);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
file = fopen (file_name, "r");
|
||||||
|
|
||||||
|
sys_stat->cpu_count = -1;
|
||||||
|
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
|
||||||
|
while (fgets (buffer, 100, file) != NULL)
|
||||||
|
{
|
||||||
|
sscanf (buffer, "processor : %i", &sys_stat->cpu_count);
|
||||||
|
}
|
||||||
|
fclose (file);
|
||||||
|
sys_stat->cpu_count++;
|
||||||
|
}
|
||||||
|
g_free (buffer);
|
||||||
|
g_free (file_name);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|||||||
@@ -13,5 +13,6 @@
|
|||||||
|
|
||||||
struct task get_task_details(gint pid);
|
struct task get_task_details(gint pid);
|
||||||
GArray *get_task_list();
|
GArray *get_task_list();
|
||||||
|
gboolean get_system_status(system_status *sys_stat);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user