### Constructor

# Gtk Application new

#### Declaration [src]

    GtkApplication*
    gtk_application_new (
      const char* application_id,
      GApplicationFlags flags
    )

#### Description [src]

Creates a new `GtkApplication` instance.

When using `GtkApplication`, it is not necessary to call gtk_init() manually. It is called as soon as the application gets registered as the primary instance.

Concretely, gtk_init() is called in the default handler for the `GApplication::startup` signal. Therefore, `GtkApplication` subclasses should always chain up in their `GApplication::startup` handler before using any GTK API.

Note that commandline arguments are not passed to gtk_init().

If `application_id` is not `NULL`, then it must be valid. See `g_application_id_is_valid()`.

If no application ID is given then some features (most notably application uniqueness) will be disabled.

#### Parameters

`application_id` | `const char*`
| The application ID.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
| The string is a NUL terminated UTF-8 string.
`flags` | `GApplicationFlags`
| The application flags.

#### Return value

Returns: | `GtkApplication`
| A new `GtkApplication` instance.
| The caller of the function takes ownership of the data, and is responsible for freeing it.