## WnckClassGroup WnckClassGroup — an object representing a group of windows of the same class. |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libwnck/libwnck.h>

                        WnckClassGroup;
    WnckClassGroup *    wnck_class_group_get                (const char *res_class);
    const char *        wnck_class_group_get_res_class      (WnckClassGroup *class_group);
    const char *        wnck_class_group_get_name           (WnckClassGroup *class_group);
    GdkPixbuf *         wnck_class_group_get_icon           (WnckClassGroup *class_group);
    GdkPixbuf *         wnck_class_group_get_mini_icon      (WnckClassGroup *class_group);
    GList *             wnck_class_group_get_windows        (WnckClassGroup *class_group);

## Object Hierarchy

      GObject
       +----WnckClassGroup

## Signals

      "icon-changed"                                   : Run Last
      "name-changed"                                   : Run Last

## Description

The WnckClassGroup is a group of WnckWindow that are all in the same class. It can be used to represent windows by classes, group windows by classes or to manipulate all windows of a particular class.

The class of a window is defined by the WM_CLASS property of this window. More information about the WM_CLASS property is available in the WM_CLASS Property section (section 4.1.2.5) of the ICCCM.

The WnckClassGroup objects are always owned by libwnck and must not be referenced or unreferenced.

## Details

### WnckClassGroup

    typedef struct _WnckClassGroup WnckClassGroup;

The WnckClassGroup struct contains only private fields and should not be directly accessed.

### wnck_class_group_get ()

    WnckClassGroup *    wnck_class_group_get                (const char *res_class);

Gets the WnckClassGroup corresponding to `res_class`.

`res_class` : | name of the sought resource class.
Returns : | the WnckClassGroup corresponding to `res_class`, or `NULL` if there is no WnckClassGroup with the specified `res_class`. The returned WnckClassGroup is owned by libwnck and must not be referenced or unreferenced. [transfer none]

Since 2.2

### wnck_class_group_get_res_class ()

    const char *        wnck_class_group_get_res_class      (WnckClassGroup *class_group);

Gets the resource class name for `class_group`.

`class_group` : | a WnckClassGroup.
Returns : | the resource class name of `class_group`, or an empty string if the group has no resource class name.

Since 2.2

### wnck_class_group_get_name ()

    const char *        wnck_class_group_get_name           (WnckClassGroup *class_group);

Gets an human-readable name for `class_group`. Since there is no way to properly find this name, a suboptimal heuristic is used to find it. The name is the name of all WnckApplication for each WnckWindow in `class_group` if they all have the same name. If all WnckApplication don't have the same name, the name is the name of all WnckWindow in `class_group` if they all have the same name. If all WnckWindow don't have the same name, the resource class name is used.

`class_group` : | a WnckClassGroup.
Returns : | an human-readable name for `class_group`.

Since 2.2

### wnck_class_group_get_icon ()

    GdkPixbuf *         wnck_class_group_get_icon           (WnckClassGroup *class_group);

Gets the icon to be used for `class_group`. Since there is no way to properly find the icon, a suboptimal heuristic is used to find it. The icon is the first icon found by looking at all the WnckApplication for each WnckWindow in `class_group`, then at all the WnckWindow in `class_group`. If no icon was found, a fallback icon is used.

`class_group` : | a WnckClassGroup.
Returns : | the icon for `class_group`. The caller should reference the returned `GdkPixbuf` if it needs to keep the icon around.

Since 2.2

### wnck_class_group_get_mini_icon ()

    GdkPixbuf *         wnck_class_group_get_mini_icon      (WnckClassGroup *class_group);

Gets the mini-icon to be used for `class_group`. Since there is no way to properly find the mini-icon, the same suboptimal heuristic as the one for `wnck_class_group_get_icon()` is used to find it.

`class_group` : | a WnckClassGroup.
Returns : | the mini-icon for `class_group`. The caller should reference the returned `GdkPixbuf` if it needs to keep the mini-icon around.

Since 2.2

### wnck_class_group_get_windows ()

    GList *             wnck_class_group_get_windows        (WnckClassGroup *class_group);

Gets the list of WnckWindow that are grouped in `class_group`.

`class_group` : | a WnckClassGroup.
Returns : | the list of WnckWindow grouped in `class_group`, or `NULL` if the group contains no window. The list should not be modified nor freed, as it is owned by `class_group`. [element-type WnckWindow][transfer none]

Since 2.2

## Signal Details

### The `"icon-changed"` signal

    void                user_function                      (WnckClassGroup *class_group,
                                                            gpointer        user_data)        : Run Last

Emitted when the icon of `class_group` changes.

`class_group` : | the WnckClassGroup which emitted the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"name-changed"` signal

    void                user_function                      (WnckClassGroup *class_group,
                                                            gpointer        user_data)        : Run Last

Emitted when the name of `class_group` changes.

`class_group` : | the WnckClassGroup which emitted the signal.
`user_data` : | user data set when the signal handler was connected.

## See Also

wnck_window_get_class_group()