MatewnckClassGroup

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

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libmatewnck/libmatewnck.h>

                        MatewnckClassGroup;
    MatewnckClassGroup * matewnck_class_group_get           (const char *res_class);
    const char *        matewnck_class_group_get_res_class  (MatewnckClassGroup *class_group);
    const char *        matewnck_class_group_get_name       (MatewnckClassGroup *class_group);
    GdkPixbuf *         matewnck_class_group_get_icon       (MatewnckClassGroup *class_group);
    GdkPixbuf *         matewnck_class_group_get_mini_icon  (MatewnckClassGroup *class_group);
    GList *             matewnck_class_group_get_windows    (MatewnckClassGroup *class_group);

## Object Hierarchy

      GObject
       +----MatewnckClassGroup

## Signals

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

## Description

The MatewnckClassGroup is a group of MatewnckWindow 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 MatewnckClassGroup objects are always owned by libmatewnck and must not be referenced or unreferenced.

## Details

### MatewnckClassGroup

    typedef struct _MatewnckClassGroup MatewnckClassGroup;

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

### matewnck_class_group_get ()

    MatewnckClassGroup * matewnck_class_group_get           (const char *res_class);

Gets the MatewnckClassGroup corresponding to `res_class`.

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

Since 2.2

### matewnck_class_group_get_res_class ()

    const char *        matewnck_class_group_get_res_class  (MatewnckClassGroup *class_group);

Gets the resource class name for `class_group`.

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

Since 2.2

### matewnck_class_group_get_name ()

    const char *        matewnck_class_group_get_name       (MatewnckClassGroup *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 MatewnckApplication for each MatewnckWindow in `class_group` if they all have the same name. If all MatewnckApplication don't have the same name, the name is the name of all MatewnckWindow in `class_group` if they all have the same name. If all MatewnckWindow don't have the same name, the resource class name is used.

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

Since 2.2

### matewnck_class_group_get_icon ()

    GdkPixbuf *         matewnck_class_group_get_icon       (MatewnckClassGroup *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 MatewnckApplication for each MatewnckWindow in `class_group`, then at all the MatewnckWindow in `class_group`. If no icon was found, a fallback icon is used.

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

Since 2.2

### matewnck_class_group_get_mini_icon ()

    GdkPixbuf *         matewnck_class_group_get_mini_icon  (MatewnckClassGroup *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 `matewnck_class_group_get_icon()` is used to find it.

`class_group` : | a MatewnckClassGroup.
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

### matewnck_class_group_get_windows ()

    GList *             matewnck_class_group_get_windows    (MatewnckClassGroup *class_group);

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

`class_group` : | a MatewnckClassGroup.
Returns : | the list of MatewnckWindow 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 MatewnckWindow][transfer none]

Since 2.2

## Signal Details

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

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

Emitted when the icon of `class_group` changes.

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

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

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

Emitted when the name of `class_group` changes.

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

## See Also

matewnck_window_get_class_group()