3 static void _e_help(void);
5 /* externally accessible functions */
8 main(int argc, char **argv)
14 E_Input_Method_Config *write_imc = NULL;
15 E_Input_Method_Config *read_imc = NULL;
18 char *set_name = NULL;
20 char *set_setup = NULL;
21 char *set_gtk_im_module = NULL;
22 char *set_qt_im_module = NULL;
23 char *set_xmodifiers = NULL;
24 char *set_ecore_imf_module = NULL;
27 /* handle some command-line parameters */
28 for (i = 1; i < argc; i++)
30 if ((!strcmp(argv[i], "-set-name")) && (i < (argc - 1)))
37 else if ((!strcmp(argv[i], "-set-exe")) && (i < (argc - 1)))
44 else if ((!strcmp(argv[i], "-set-setup")) && (i < (argc - 1)))
51 else if ((!strcmp(argv[i], "-set-gtk-im-module")) && (i < (argc - 1)))
54 set_gtk_im_module = argv[i];
58 else if ((!strcmp(argv[i], "-set-qt-im-module")) && (i < (argc - 1)))
61 set_qt_im_module = argv[i];
65 else if ((!strcmp(argv[i], "-set-xmodifiers")) && (i < (argc - 1)))
68 set_xmodifiers = argv[i];
72 else if ((!strcmp(argv[i], "-set-ecore-imf-module")) && (i < (argc - 1)))
75 set_ecore_imf_module = argv[i];
79 else if ((!strcmp(argv[i], "-h")) ||
80 (!strcmp(argv[i], "-help")) ||
81 (!strcmp(argv[i], "--h")) ||
82 (!strcmp(argv[i], "--help")))
87 else if ((!strcmp(argv[i], "-list")))
97 printf("ERROR: no file specified!\n");
102 if (valid_args == 0) {
103 printf("ERROR: no valid arguments!\n");
111 if (write_ops != 0 && ecore_file_exists(file))
113 ef = eet_open(file, EET_FILE_MODE_READ_WRITE);
115 else if (write_ops != 0)
117 ef = eet_open(file, EET_FILE_MODE_WRITE);
121 ef = eet_open(file, EET_FILE_MODE_READ);
126 printf("ERROR: cannot open file %s for READ/WRITE (%i:%s)\n",
127 file, errno, strerror(errno));
131 /* If File Exists, Try to read imc */
132 read_imc = e_intl_input_method_config_read(ef);
134 /* else create new imc */
137 write_imc = calloc(sizeof(E_Input_Method_Config), 1);
138 write_imc->version = E_INTL_INPUT_METHOD_CONFIG_VERSION;
141 write_imc->e_im_name = read_imc->e_im_name;
142 write_imc->gtk_im_module = read_imc->gtk_im_module;
143 write_imc->qt_im_module = read_imc->qt_im_module;
144 write_imc->xmodifiers = read_imc->xmodifiers;
145 write_imc->ecore_imf_module = read_imc->ecore_imf_module;
146 write_imc->e_im_exec = read_imc->e_im_exec;
147 write_imc->e_im_setup_exec = read_imc->e_im_setup_exec;
151 write_imc->e_im_name = set_name;
152 if (set_gtk_im_module)
153 write_imc->gtk_im_module = set_gtk_im_module;
154 if (set_qt_im_module)
155 write_imc->qt_im_module = set_qt_im_module;
157 write_imc->xmodifiers = set_xmodifiers;
158 if (set_ecore_imf_module)
159 write_imc->ecore_imf_module = set_ecore_imf_module;
161 write_imc->e_im_exec = set_exe;
163 write_imc->e_im_setup_exec = set_setup;
166 /* write imc to file */
167 e_intl_input_method_config_write(ef, write_imc);
173 printf("Config File List:\n");
174 printf("Config Version: %i\n", read_imc->version);
175 printf("Config Name: %s\n", read_imc->e_im_name);
176 printf("Command Line: %s\n", read_imc->e_im_exec);
177 printf("Setup Line: %s\n", read_imc->e_im_setup_exec);
178 printf("gtk_im_module: %s\n", read_imc->gtk_im_module);
179 printf("qt_im_module: %s\n", read_imc->qt_im_module);
180 printf("xmodifiers: %s\n", read_imc->xmodifiers);
181 printf("ecore_imf_module: %s\n", read_imc->ecore_imf_module);
184 e_intl_input_method_config_free(read_imc);
187 e_intl_data_shutdown();
189 /* just return 0 to keep the compiler quiet */
197 " -set-name NAME Set the application name\n"
198 " -set-exe EXE Set the application execute line\n"
199 " -set-setup EXE Set the setup application execute line\n"
200 " -set-gtk-im-module Set the gtk_im_module env var\n"
201 " -set-qt-im-module Set the qt_im_module env var\n"
202 " -set-ecore-imf-module Set the ecore_imf_module env var\n"
203 " -set-xmodifiers Set the xmodifiers env var\n"
204 " -list List Contents of Input Method Config file\n"