Blame src/main.c

Packit fabffb
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
Packit fabffb
/* NetworkManager Applet -- allow user control over networking
Packit fabffb
 *
Packit fabffb
 * Dan Williams <dcbw@redhat.com>
Packit fabffb
 *
Packit fabffb
 * This program is free software; you can redistribute it and/or modify
Packit fabffb
 * it under the terms of the GNU General Public License as published by
Packit fabffb
 * the Free Software Foundation; either version 2 of the License, or
Packit fabffb
 * (at your option) any later version.
Packit fabffb
 *
Packit fabffb
 * This program is distributed in the hope that it will be useful,
Packit fabffb
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit fabffb
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit fabffb
 * GNU General Public License for more details.
Packit fabffb
 *
Packit fabffb
 * You should have received a copy of the GNU General Public License along
Packit fabffb
 * with this program; if not, write to the Free Software Foundation, Inc.,
Packit fabffb
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Packit fabffb
 *
Packit fabffb
 * This applet used the GNOME Wireless Applet as a skeleton to build from.
Packit fabffb
 *
Packit fabffb
 * (C) Copyright 2005 Red Hat, Inc.
Packit fabffb
 */
Packit fabffb
Packit fabffb
#include "nm-default.h"
Packit fabffb
Packit fabffb
#include <string.h>
Packit fabffb
#include <stdlib.h>
Packit fabffb
Packit fabffb
#include "applet.h"
Packit fabffb
Packit fabffb
gboolean shell_debug = FALSE;
Packit fabffb
gboolean with_agent = TRUE;
Packit fabffb
gboolean with_appindicator = FALSE;
Packit fabffb
Packit fabffb
static void
Packit fabffb
usage (const char *progname)
Packit fabffb
{
Packit fabffb
	gs_free char *basename = g_path_get_basename (progname);
Packit fabffb
Packit fabffb
	fprintf (stdout, "%s %s\n\n%s\n%s\n\n",
Packit fabffb
	                 _("Usage:"),
Packit fabffb
	                 basename,
Packit fabffb
	                 _("This program is a component of NetworkManager (https://wiki.gnome.org/Projects/NetworkManager/)."),
Packit fabffb
	                 _("It is not intended for command-line interaction but instead runs in the GNOME desktop environment."));
Packit fabffb
}
Packit fabffb
Packit fabffb
int main (int argc, char *argv[])
Packit fabffb
{
Packit fabffb
	GApplication *applet;
Packit fabffb
	char *fake_args[1] = { argv[0] };
Packit fabffb
	guint32 i;
Packit fabffb
	int status;
Packit fabffb
Packit fabffb
	for (i = 1; i < argc; i++) {
Packit fabffb
		if (!strcmp (argv[i], "--help")) {
Packit fabffb
			usage (argv[0]);
Packit fabffb
			exit (0);
Packit fabffb
		}
Packit fabffb
		if (!strcmp (argv[i], "--shell-debug"))
Packit fabffb
			shell_debug = TRUE;
Packit fabffb
		else if (!strcmp (argv[i], "--no-agent"))
Packit fabffb
			with_agent = FALSE;
Packit fabffb
		else if (!strcmp (argv[i], "--indicator")) {
Packit fabffb
#ifdef WITH_APPINDICATOR
Packit fabffb
			with_appindicator = TRUE;
Packit fabffb
#else
Packit fabffb
			g_error ("Error: --indicator requested but indicator support not available");
Packit fabffb
#endif
Packit fabffb
		}
Packit fabffb
	}
Packit fabffb
Packit fabffb
	bindtextdomain (GETTEXT_PACKAGE, NMALOCALEDIR);
Packit fabffb
	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
Packit fabffb
	if (!with_appindicator)
Packit fabffb
		gdk_set_allowed_backends ("x11,*");
Packit fabffb
	gtk_init (&argc, &argv);
Packit fabffb
	textdomain (GETTEXT_PACKAGE);
Packit fabffb
Packit fabffb
	applet = g_object_new (NM_TYPE_APPLET,
Packit fabffb
	                       "application-id", "org.freedesktop.network-manager-applet",
Packit fabffb
	                       NULL);
Packit fabffb
	status = g_application_run (applet, 1, fake_args);
Packit fabffb
	g_object_unref (applet);
Packit fabffb
Packit fabffb
	return status;
Packit fabffb
}
Packit fabffb