## shell-app-system shell-app-system |

## Functions

ShellAppSystem * | shell_app_system_get_default ()
ShellApp * | shell_app_system_lookup_app ()
ShellApp * | shell_app_system_lookup_heuristic_basename ()
ShellApp * | shell_app_system_lookup_startup_wmclass ()
ShellApp * | shell_app_system_lookup_desktop_wmclass ()
GSList * | shell_app_system_get_running ()
char *** | shell_app_system_search ()

## Signals

void | app-state-changed | Run Last
void | installed-changed | Run Last

## Types and Values

#define | SHELL_TYPE_APP_SYSTEM
| ShellAppSystem

## Object Hierarchy

        GObject
        ╰── ShellAppSystem

## Description

## Functions

### shell_app_system_get_default ()

    ShellAppSystem *
    shell_app_system_get_default (void);

#### Returns

The global ShellAppSystem singleton.

[transfer none]

### shell_app_system_lookup_app ()

    ShellApp *
    shell_app_system_lookup_app (ShellAppSystem *system,
                                 const char *id);

Find a ShellApp corresponding to an id.

#### Returns

The ShellApp for id, or `NULL` if none.

[transfer none]

### shell_app_system_lookup_heuristic_basename ()

    ShellApp *
    shell_app_system_lookup_heuristic_basename
                                   (ShellAppSystem *system,
                                    const char *id);

Find a valid application corresponding to a given heuristically determined application identifier string, or `NULL` if none.

#### Parameters

system | a ShellAppSystem |
id | Probable application identifier |

#### Returns

A ShellApp for `name` .

[transfer none]

### shell_app_system_lookup_startup_wmclass ()

    ShellApp *
    shell_app_system_lookup_startup_wmclass
                                   (ShellAppSystem *system,
                                    const char *wmclass);

Find a valid application whose .desktop file contains a StartupWMClass entry matching `wmclass` .

#### Parameters

system | a ShellAppSystem |
wmclass | A WM_CLASS value. | [nullable]

#### Returns

A ShellApp for `wmclass` .

[transfer none]

### shell_app_system_lookup_desktop_wmclass ()

    ShellApp *
    shell_app_system_lookup_desktop_wmclass
                                   (ShellAppSystem *system,
                                    const char *wmclass);

Find a valid application whose .desktop file, without the extension and properly canonicalized, matches `wmclass` .

#### Parameters

system | a ShellAppSystem |
wmclass | A WM_CLASS value. | [nullable]

#### Returns

A ShellApp for `wmclass` .

[transfer none]

### shell_app_system_get_running ()

    GSList *
    shell_app_system_get_running (ShellAppSystem *self);

Returns the set of applications which currently have at least one open window in the given context. The returned list will be sorted by `shell_app_compare()`.

#### Parameters

self | A ShellAppSystem |

#### Returns

Active applications.

[element-type ShellApp][transfer container]

### shell_app_system_search ()

    char ***
    shell_app_system_search (const char *search_string);

Wrapper around `g_desktop_app_info_search()` that replaces results that don't validate as UTF-8 with the empty string.

#### Parameters

search_string | the search string to use |

#### Returns

a list of strvs. Free each item with `g_strfreev()` and free the outer list with `g_free()`.

[array zero-terminated=1][element-type GStrv][transfer full]

## Types and Values

### SHELL_TYPE_APP_SYSTEM

    #define SHELL_TYPE_APP_SYSTEM (shell_app_system_get_type ())

### ShellAppSystem

    typedef struct _ShellAppSystem ShellAppSystem;

## Signal Details

### The `“app-state-changed”` signal

    void
    user_function (ShellAppSystem *shellappsystem,
                   ShellApp       *arg1,
                   gpointer        user_data)

Flags: Run Last

### The `“installed-changed”` signal

    void
    user_function (ShellAppSystem *shellappsystem,
                   gpointer        user_data)

Flags: Run Last