if (!application->priv->is_registered)
{
- application->priv->impl =
- g_application_impl_register (application, application->priv->id,
- application->priv->flags,
- &application->priv->remote_actions,
- cancellable, error);
-
- if (application->priv->impl == NULL)
- return FALSE;
+ if (~application->priv->flags & G_APPLICATION_NON_UNIQUE)
+ {
+ application->priv->impl =
+ g_application_impl_register (application, application->priv->id,
+ application->priv->flags,
+ &application->priv->remote_actions,
+ cancellable, error);
+
+ if (application->priv->impl == NULL)
+ return FALSE;
+ }
application->priv->is_remote = application->priv->remote_actions != NULL;
application->priv->is_registered = TRUE;
* when editing a git commit message. The environment is available
* to the #GApplication::command-line signal handler, via
* g_application_command_line_getenv().
+ * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical
+ * single-instance application negotiation. The application neither
+ * attempts to become the owner of the application ID nor does it
+ * check if an existing owner already exists. Everything occurs in
+ * the local process. Since: 2.30.
*
* Flags used to define the behaviour of a #GApplication.
*
G_APPLICATION_HANDLES_OPEN = (1 << 2),
G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3),
- G_APPLICATION_SEND_ENVIRONMENT = (1 << 4)
+ G_APPLICATION_SEND_ENVIRONMENT = (1 << 4),
+
+ G_APPLICATION_NON_UNIQUE = (1 << 5),
} GApplicationFlags;
/**