Resource Usage of X Clients

Resource Usage of X Clients — reading resource usage of X clients.

Stability Level

Unstable, unless otherwise indicated

Types and Values

Includes

#include <libwnck/libwnck.h>

Description

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.

Functions

wnck_xid_read_resource_usage ()

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.

Parameters

gdk_display

a GdkDisplay.

 

xid

an X window ID.

 

usage

return location for the X resource usage of the application owning the X window ID xid .

 

Since: 2.6


wnck_pid_read_resource_usage ()

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.

Parameters

gdk_display

a GdkDisplay.

 

pid

a process ID.

 

usage

return location for the X resource usage of the application with process ID pid .

 

Since: 2.6

Types and Values

struct WnckResourceUsage

struct WnckResourceUsage {
  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;
};

The WnckResourceUsage struct contains information about the total resource usage of an X client, and the number of resources allocated for each resource type.

Members

gulong total_bytes_estimate;

estimation of the total number of bytes allocated in the X server.

 

gulong pixmap_bytes;

number of bytes allocated in the X server for resources of type Pixmap.

 

unsigned int n_pixmaps;

number of Pixmap resources allocated.

 

unsigned int n_windows;

number of Window resources allocated.

 

unsigned int n_gcs;

number of GContext resources allocated.

 

unsigned int n_pictures;

number of Picture resources allocated.

 

unsigned int n_glyphsets;

number of Glyphset resources allocated.

 

unsigned int n_fonts;

number of Font resources allocated.

 

unsigned int n_colormap_entries;

number of Colormap resources allocated.

 

unsigned int n_passive_grabs;

number of PassiveGrab resources allocated.

 

unsigned int n_cursors;

number of Cursor resources allocated.

 

unsigned int n_other;

number of other resources allocated.

 

Since: 2.6