1 /* Nabi - X Input Method server for hangul
2  * Copyright (C) 2007-2009 Choe Hwanjin
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
17  */
18 
19 #ifndef nabi_conf_h
20 #define nabi_conf_h
21 
22 #include <glib.h>
23 
24 typedef struct _NabiConfig NabiConfig;
25 
26 struct _NabiConfig {
27     gint            x;
28     gint            y;
29 
30     GString*        theme;
31     gint            palette_height;
32     gboolean        show_palette;
33     gboolean        use_tray_icon;
34 
35     GString*        trigger_keys;
36     GString*        off_keys;
37     GString*        candidate_keys;
38 
39     /* keyboard option */
40     GString*        hangul_keyboard;
41     GString*        latin_keyboard;
42     GString*        keyboard_layouts_file;
43 
44     /* xim server option */
45     GString*        xim_name;
46     GString*        output_mode;
47     GString*        default_input_mode;
48     GString*        input_mode_scope;
49     gboolean        use_dynamic_event_flow;
50     gboolean        commit_by_word;
51     gboolean        auto_reorder;
52     gboolean        use_simplified_chinese;
53     gboolean        hanja_mode;
54     gboolean        ignore_app_fontset;
55     gboolean        use_system_keymap;
56 
57     /* candidate options */
58     GString*        candidate_font;
59     GString*        candidate_format;
60 
61     /* preedit attribute */
62     GString*        preedit_font;
63     GString*        preedit_fg;
64     GString*        preedit_bg;
65 };
66 
67 NabiConfig* nabi_config_new();
68 void        nabi_config_delete(NabiConfig* config);
69 void        nabi_config_load(NabiConfig* config);
70 void        nabi_config_save(NabiConfig* config);
71 
72 #endif /* nabi_config_h */
73