1 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
2 /* vim:set et sts=4: */
3 /* ibus - The Input Bus
4 * Copyright (c) 2010, Google Inc. All rights reserved.
5 * Copyright (C) 2010 Peng Huang <shawn.p.huang@gmail.com>
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
27 static IBusBus *bus = NULL;
28 static IBusConfigMemconf *config = NULL;
31 static gboolean ibus = FALSE;
32 static gboolean verbose = FALSE;
34 static const GOptionEntry entries[] =
36 { "ibus", 'i', 0, G_OPTION_ARG_NONE, &ibus, "component is executed by ibus", NULL },
37 { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "verbose", NULL },
43 ibus_disconnected_cb (IBusBus *bus,
50 ibus_memconf_start (void)
53 bus = ibus_bus_new ();
54 if (!ibus_bus_is_connected (bus)) {
57 g_signal_connect (bus, "disconnected", G_CALLBACK (ibus_disconnected_cb), NULL);
58 config = ibus_config_memconf_new (ibus_bus_get_connection (bus));
59 ibus_bus_request_name (bus, IBUS_SERVICE_CONFIG, 0);
64 main (gint argc, gchar **argv)
67 GOptionContext *context;
69 setlocale (LC_ALL, "");
71 context = g_option_context_new ("- ibus memconf component");
73 g_option_context_add_main_entries (context, entries, "ibus-memconf");
75 if (!g_option_context_parse (context, &argc, &argv, &error)) {
76 g_print ("Option parsing failed: %s\n", error->message);
80 ibus_memconf_start ();