Use frames.
[tweakr] / modules / maemo-tweaks-desktop-save.c
1 /*
2  * vim:ts=4:sw=4:et:cindent:cino=(0
3  */ 
4
5 #include <stdlib.h>
6 #include <glib.h>
7
8 static gchar *groups[] =
9 {
10     "edit_mode",
11     NULL
12 };
13 static gchar *keys[] =
14 {
15     "snap_grid_size",
16     NULL
17 };
18
19 int main (int argc, char *argv[])
20 {
21     GKeyFile *kf;
22     gint i;
23     GError *error = NULL;
24     gchar *data;
25     gsize size;
26
27     if (argc < 2)
28     {
29         exit (EXIT_FAILURE);;
30     }
31
32     kf = g_key_file_new ();
33     if (!g_key_file_load_from_file (kf, TRANSITIONS,
34                                     G_KEY_FILE_KEEP_COMMENTS |
35                                     G_KEY_FILE_KEEP_TRANSLATIONS,
36                                     &error))
37     {
38         g_warning ("Error while reading %s: %s", TRANSITIONS, error->message);
39         g_error_free (error);
40         exit (EXIT_FAILURE);
41     }
42
43     for (i = 0; i < argc - 1; i++)
44     {
45         g_key_file_set_string (kf, groups[i], keys[i], argv[i+1]);
46     }
47
48     data = g_key_file_to_data (kf, &size, &error);
49     if (data == NULL)
50     {
51         g_warning ("Error while writing keyfile data.");
52         g_error_free (error);
53         exit (EXIT_FAILURE);
54     }
55     
56     if (!g_file_set_contents (TRANSITIONS, data, size, &error))
57     {
58         g_warning ("Error writing %s", TRANSITIONS);
59         g_free (data);
60         g_error_free (error);
61         exit (EXIT_FAILURE);
62     }
63
64     g_free (data);
65     g_key_file_free (kf);
66
67     return 0;
68 }
69