| Libwnck Reference Manual | ||||
|---|---|---|---|---|
#include <libwnck/libwnck.h>
WnckResourceUsage;
void wnck_xid_read_resource_usage (GdkDisplay *gdk_display,
gulong xid,
WnckResourceUsage *usage);
void wnck_pid_read_resource_usage (GdkDisplay *gdk_display,
gulong pid,
WnckResourceUsage *usage);
libwnck provides an easy-to-use interface to the XRes X server extension to read resource usage of X clients, which can be defined either by the X window ID of one of their windows or by the process ID of their process.
typedef struct {
gulong total_bytes_estimate;
gulong pixmap_bytes;
unsigned int n_pixmaps;
unsigned int n_windows;
unsigned int n_gcs;
unsigned int n_pictures;
unsigned int n_glyphsets;
unsigned int n_fonts;
unsigned int n_colormap_entries;
unsigned int n_passive_grabs;
unsigned int n_cursors;
unsigned int n_other;
} WnckResourceUsage;
The WnckResourceUsage struct contains information about the total resource usage of an X client, and the number of resources allocated for each resource type.
gulong |
estimation of the total number of bytes allocated in the X server. |
gulong |
number of bytes allocated in the X server for resources of type Pixmap. |
unsigned int |
number of Pixmap resources allocated. |
unsigned int |
number of Window resources allocated. |
unsigned int |
number of GContext resources allocated. |
unsigned int |
number of Picture resources allocated. |
unsigned int |
number of Glyphset resources allocated. |
unsigned int |
number of Font resources allocated. |
unsigned int |
number of Colormap resources allocated. |
unsigned int |
number of PassiveGrab resources allocated. |
unsigned int |
number of Cursor resources allocated. |
unsigned int |
number of other resources allocated. |
Since 2.6
void wnck_xid_read_resource_usage (GdkDisplay *gdk_display, gulong xid, WnckResourceUsage *usage);
Looks for the X resource usage of the application owning the X window ID
xid on display gdisplay. If no resource usage can be found, then all
fields of usage are set to 0.
To properly work, this function requires the XRes extension on the X server.
|
a GdkDisplay.
|
|
an X window ID. |
|
return location for the X resource usage of the application owning
the X window ID xid.
|
Since 2.6
void wnck_pid_read_resource_usage (GdkDisplay *gdk_display, gulong pid, WnckResourceUsage *usage);
Looks for the X resource usage of the application with process ID pid on
display gdisplay. If no resource usage can be found, then all fields of
usage are set to 0.
In order to find the resource usage of an application that does not have an
X window visible to libwnck (panel applets do not have any toplevel windows,
for example), wnck_pid_read_resource_usage() walks through the whole tree of
X windows. Since this walk is expensive in CPU, a cache is created. This
cache is updated in the background. This means there is a non-null
probability that no resource usage will be found for an application, even if
it is an X client. If this happens, calling wnck_pid_read_resource_usage()
again after a few seconds should work.
To properly work, this function requires the XRes extension on the X server.
|
a GdkDisplay.
|
|
a process ID. |
|
return location for the X resource usage of the application with
process ID pid.
|
Since 2.6