diff options
author | Owen Taylor <otaylor@redhat.com> | 1999-02-23 19:05:46 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1999-02-23 19:05:46 +0000 |
commit | 49f909ce6fdb9f65ae97b28b03cd04b888018e81 (patch) | |
tree | 177e69914ebba65398825e2f59ecdaf62726c168 | |
parent | 36f65a53fb108e05d854f1893b0c8c7e4126ba5d (diff) | |
download | gnome-control-center-49f909ce6fdb9f65ae97b28b03cd04b888018e81.tar.gz |
Use g_get_home_dir() instead of getenv ("HOME")
Mon Feb 22 22:23:34 1999 Owen Taylor <otaylor@redhat.com>
* capplets/theme-switcher/lister.c: Use g_get_home_dir()
instead of getenv ("HOME")
* capplets/theme-switcher/demo.c (demo_main): Strip
out ~/.gtkrc from the default file set so we don't
get a merge of the current theme and the new one.
* capplets/theme-switcher/lister.c (use_theme): Modify
.gtkrc instead of .gnome/gtkrc.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | capplets/theme-switcher/demo.c | 32 | ||||
-rw-r--r-- | capplets/theme-switcher/demo.c-45827 | 32 | ||||
-rw-r--r-- | capplets/theme-switcher/install.c | 2 | ||||
-rw-r--r-- | capplets/theme-switcher/install.c-64828 | 2 | ||||
-rw-r--r-- | capplets/theme-switcher/lister.c | 26 | ||||
-rw-r--r-- | capplets/theme-switcher/lister.c-42011 | 26 |
7 files changed, 118 insertions, 14 deletions
@@ -1,3 +1,15 @@ +Mon Feb 22 22:23:34 1999 Owen Taylor <otaylor@redhat.com> + + * capplets/theme-switcher/lister.c: Use g_get_home_dir() + instead of getenv ("HOME") + + * capplets/theme-switcher/demo.c (demo_main): Strip + out ~/.gtkrc from the default file set so we don't + get a merge of the current theme and the new one. + + * capplets/theme-switcher/lister.c (use_theme): Modify + .gtkrc instead of .gnome/gtkrc. + 1999-02-23 Nuno Ferreira <nmrf@rnl.ist.utl.pt> * capplets/session-properties/session-properties.desktop, diff --git a/capplets/theme-switcher/demo.c b/capplets/theme-switcher/demo.c index 9daa71087..f70b998da 100644 --- a/capplets/theme-switcher/demo.c +++ b/capplets/theme-switcher/demo.c @@ -47,15 +47,45 @@ void demo_main(int argc, char **argv) gchar *row2[2] = {"Mynie", "Moe"}; gchar *row3[2] = {"Catcha", "Tiger"}; gchar *row4[2] = {"By Its", "Toe"}; + gchar **rc_files; + gchar **new_rc_files; + gint rc_file_count; + gint new_count; + gchar *home_dir; + gint i; read(0, buf, 12); buf[12] = 0; sscanf(buf, "%x", &window); fcntl(0, F_SETFL, O_NONBLOCK); + + /* Strip out ~/.gtkrc from the set of initial default files. + * to suppress reading of the previous rc file. + */ + + rc_files = gtk_rc_get_default_files(); + for (rc_file_count = 0; rc_files[rc_file_count]; rc_file_count++) + /* Nothing */; + + new_rc_files = g_new (gchar *, rc_file_count + 2); + + home_dir = g_get_home_dir(); + new_count = 0; + + for (i = 0; i<rc_file_count; i++) + { + if (strncmp (rc_files[i], home_dir, strlen (home_dir)) != 0) + new_rc_files[new_count++] = g_strdup (rc_files[i]); + } + new_rc_files[new_count++] = g_strdup (gtkrc_tmp); + new_rc_files[new_count] = NULL; + + gtk_rc_set_default_files (new_rc_files); + g_strfreev (new_rc_files); + gtk_init (&argc, &argv); - gtk_rc_parse(gtkrc_tmp); plug = gtk_plug_new(window); diff --git a/capplets/theme-switcher/demo.c-45827 b/capplets/theme-switcher/demo.c-45827 index 9daa71087..f70b998da 100644 --- a/capplets/theme-switcher/demo.c-45827 +++ b/capplets/theme-switcher/demo.c-45827 @@ -47,15 +47,45 @@ void demo_main(int argc, char **argv) gchar *row2[2] = {"Mynie", "Moe"}; gchar *row3[2] = {"Catcha", "Tiger"}; gchar *row4[2] = {"By Its", "Toe"}; + gchar **rc_files; + gchar **new_rc_files; + gint rc_file_count; + gint new_count; + gchar *home_dir; + gint i; read(0, buf, 12); buf[12] = 0; sscanf(buf, "%x", &window); fcntl(0, F_SETFL, O_NONBLOCK); + + /* Strip out ~/.gtkrc from the set of initial default files. + * to suppress reading of the previous rc file. + */ + + rc_files = gtk_rc_get_default_files(); + for (rc_file_count = 0; rc_files[rc_file_count]; rc_file_count++) + /* Nothing */; + + new_rc_files = g_new (gchar *, rc_file_count + 2); + + home_dir = g_get_home_dir(); + new_count = 0; + + for (i = 0; i<rc_file_count; i++) + { + if (strncmp (rc_files[i], home_dir, strlen (home_dir)) != 0) + new_rc_files[new_count++] = g_strdup (rc_files[i]); + } + new_rc_files[new_count++] = g_strdup (gtkrc_tmp); + new_rc_files[new_count] = NULL; + + gtk_rc_set_default_files (new_rc_files); + g_strfreev (new_rc_files); + gtk_init (&argc, &argv); - gtk_rc_parse(gtkrc_tmp); plug = gtk_plug_new(window); diff --git a/capplets/theme-switcher/install.c b/capplets/theme-switcher/install.c index a0b29c1cf..9629c2a17 100644 --- a/capplets/theme-switcher/install.c +++ b/capplets/theme-switcher/install.c @@ -20,7 +20,7 @@ install_theme(gchar *file) g_snprintf(th, sizeof(th), "%s/", theme_dir); else { - home = getenv("HOME"); + home = g_get_home_dir(); if (!home) { g_free(theme_dir); diff --git a/capplets/theme-switcher/install.c-64828 b/capplets/theme-switcher/install.c-64828 index a0b29c1cf..9629c2a17 100644 --- a/capplets/theme-switcher/install.c-64828 +++ b/capplets/theme-switcher/install.c-64828 @@ -20,7 +20,7 @@ install_theme(gchar *file) g_snprintf(th, sizeof(th), "%s/", theme_dir); else { - home = getenv("HOME"); + home = g_get_home_dir(); if (!home) { g_free(theme_dir); diff --git a/capplets/theme-switcher/lister.c b/capplets/theme-switcher/lister.c index 0ea737c45..efb483401 100644 --- a/capplets/theme-switcher/lister.c +++ b/capplets/theme-switcher/lister.c @@ -1,4 +1,6 @@ #include "da.h" +#include <sys/types.h> +#include <utime.h> void edit_file_to_use(gchar *file, gchar *theme) @@ -60,10 +62,10 @@ set_tmp_rc() { gchar s[4096], *home; - home = getenv("HOME"); + home = g_get_home_dir (); if (!home) return; - g_snprintf(s, sizeof(s), "%s/.gnome/gtkrc", home); + g_snprintf(s, sizeof(s), "%s/.gtkrc", home); srand(time(NULL)); g_snprintf(gtkrc_tmp, sizeof(gtkrc_tmp), "/tmp/%i-gtkrc-%i", time(NULL), rand()); cp(s, gtkrc_tmp); @@ -74,17 +76,31 @@ use_theme(gchar *theme) { gchar s[4096], *home; - home = getenv("HOME"); + home = g_get_home_dir (); if (!home) return; - g_snprintf(s, sizeof(s), "%s/.gnome/gtkrc", home); + g_snprintf(s, sizeof(s), "%s/.gtkrc", home); edit_file_to_use(s, theme); } void test_theme(gchar *theme) { + static time_t last_written_time = 0; + time_t current_time = time (NULL); + struct utimbuf buf; + edit_file_to_use(gtkrc_tmp, theme); + + if (last_written_time >= current_time) + { + current_time = last_written_time + 1; + buf.actime = current_time; + buf.modtime = current_time; + utime (gtkrc_tmp, &buf); + } + + last_written_time = current_time; } void @@ -150,7 +166,7 @@ list_user_themes(gint *number) gchar *theme_dir = NULL; ThemeEntry *list = NULL; - home = getenv("HOME"); + home = g_get_home_dir (); if (!home) return NULL; diff --git a/capplets/theme-switcher/lister.c-42011 b/capplets/theme-switcher/lister.c-42011 index 0ea737c45..efb483401 100644 --- a/capplets/theme-switcher/lister.c-42011 +++ b/capplets/theme-switcher/lister.c-42011 @@ -1,4 +1,6 @@ #include "da.h" +#include <sys/types.h> +#include <utime.h> void edit_file_to_use(gchar *file, gchar *theme) @@ -60,10 +62,10 @@ set_tmp_rc() { gchar s[4096], *home; - home = getenv("HOME"); + home = g_get_home_dir (); if (!home) return; - g_snprintf(s, sizeof(s), "%s/.gnome/gtkrc", home); + g_snprintf(s, sizeof(s), "%s/.gtkrc", home); srand(time(NULL)); g_snprintf(gtkrc_tmp, sizeof(gtkrc_tmp), "/tmp/%i-gtkrc-%i", time(NULL), rand()); cp(s, gtkrc_tmp); @@ -74,17 +76,31 @@ use_theme(gchar *theme) { gchar s[4096], *home; - home = getenv("HOME"); + home = g_get_home_dir (); if (!home) return; - g_snprintf(s, sizeof(s), "%s/.gnome/gtkrc", home); + g_snprintf(s, sizeof(s), "%s/.gtkrc", home); edit_file_to_use(s, theme); } void test_theme(gchar *theme) { + static time_t last_written_time = 0; + time_t current_time = time (NULL); + struct utimbuf buf; + edit_file_to_use(gtkrc_tmp, theme); + + if (last_written_time >= current_time) + { + current_time = last_written_time + 1; + buf.actime = current_time; + buf.modtime = current_time; + utime (gtkrc_tmp, &buf); + } + + last_written_time = current_time; } void @@ -150,7 +166,7 @@ list_user_themes(gint *number) gchar *theme_dir = NULL; ThemeEntry *list = NULL; - home = getenv("HOME"); + home = g_get_home_dir (); if (!home) return NULL; |