1 /* 2 * Copyright (c) 2010 Mike Massonnet, <mmassonnet@xfce.org> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 */ 9 10 #ifndef PROCESS_WINDOW_H 11 #define PROCESS_WINDOW_H 12 13 #ifdef HAVE_CONFIG_H 14 #include <config.h> 15 #endif 16 17 #include <X11/Xlib.h> 18 #include <glib-object.h> 19 #include <gtk/gtk.h> 20 21 #define XTM_TYPE_PROCESS_WINDOW (xtm_process_window_get_type ()) 22 #define XTM_PROCESS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_PROCESS_WINDOW, XtmProcessWindow)) 23 #define XTM_PROCESS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_PROCESS_WINDOW, XtmProcessWindowClass)) 24 #define XTM_IS_PROCESS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_PROCESS_WINDOW)) 25 #define XTM_IS_PROCESS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_PROCESS_WINDOW)) 26 #define XTM_PROCESS_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_PROCESS_WINDOW, XtmProcessWindowClass)) 27 #define XTM_SHOW_MESSAGE(type, title, message, ...) { \ 28 GtkWidget *dialog = gtk_message_dialog_new (NULL, 0, type, GTK_BUTTONS_OK, title); \ 29 gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), message , ## __VA_ARGS__ ); \ 30 gtk_window_set_title (GTK_WINDOW (dialog), _("Task Manager")); \ 31 gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); \ 32 gtk_window_set_icon_name (GTK_WINDOW (dialog), "org.xfce.taskmanager"); \ 33 gtk_dialog_run (GTK_DIALOG (dialog)); \ 34 gtk_widget_destroy (dialog); \ 35 } 36 37 typedef struct _XtmProcessWindow XtmProcessWindow; 38 39 GType xtm_process_window_get_type (void); 40 GtkWidget * xtm_process_window_new (void); 41 void xtm_process_window_show (GtkWidget *widget); 42 GtkTreeModel * xtm_process_window_get_model (XtmProcessWindow *window); 43 void xtm_process_window_set_system_info (XtmProcessWindow *window, guint num_processes, gfloat cpu, gfloat memory, gchar* memory_str, gfloat swap, gchar* swap_str); 44 void xtm_process_window_show_swap_usage (XtmProcessWindow *window, gboolean show_swap_usage); 45 46 #endif /* !PROCESS_WINDOW_H */ 47