summaryrefslogtreecommitdiff
path: root/capplets/theme-switcher/lister.c-42011
diff options
context:
space:
mode:
Diffstat (limited to 'capplets/theme-switcher/lister.c-42011')
-rw-r--r--capplets/theme-switcher/lister.c-42011215
1 files changed, 0 insertions, 215 deletions
diff --git a/capplets/theme-switcher/lister.c-42011 b/capplets/theme-switcher/lister.c-42011
deleted file mode 100644
index 1e624e003..000000000
--- a/capplets/theme-switcher/lister.c-42011
+++ /dev/null
@@ -1,215 +0,0 @@
-#include "da.h"
-#include <sys/types.h>
-#include <utime.h>
-#define MARK_STRING "# -- THEME AUTO-WRITTEN DO NOT EDIT\n"
-static void
-print_standard_stuff(FILE *fout, gchar *theme, gchar *font)
-{
- gchar *homedir;
-
- homedir = g_strconcat ("include \"",
- gnome_util_user_home(),
- "/.gtkrc.mine\"\n\n", NULL);
- fprintf(fout, MARK_STRING);
- fprintf(fout, "include \"%s\"\n\n", theme);
- if (font)
- fprintf(fout, "style \"user-font\"\n{\n font=\"%s\"\n}\nwidget_class \"*\" style \"user-font\"\n\n", font);
- fprintf(fout, homedir);
- g_free (homedir);
- fprintf(fout, MARK_STRING);
-}
-void
-edit_file_to_use(gchar *file, gchar *theme, gchar *font)
-{
- FILE *fin, *fout;
- gchar tmp[4096], buf[4096];
- gchar nextline = 0, hastheme = 0;
-
- srand(time(NULL));
- g_snprintf(tmp, sizeof(tmp), "/tmp/gtkrc_%i", rand());
- fout = fopen(tmp, "w");
- if (!fout)
- return;
- fin = fopen(file, "r");
- if (!fin)
- {
- print_standard_stuff (fout, theme, font);
- fclose(fout);
- cp(tmp, file);
- return;
- }
- while (fgets(buf, sizeof(buf), fin))
- {
- if (!strcmp(MARK_STRING, buf))
- hastheme += 1;
- }
- rewind(fin);
- if (!hastheme)
- {
- print_standard_stuff (fout, theme, font);
- while (fgets(buf, sizeof(buf), fin))
- fprintf(fout, "%s", buf);
- }
- else if (hastheme == 1)
- /* we keep this in for backwards compatability. */
- {
- nextline = 0;
- while (fgets(buf, sizeof(buf), fin))
- {
- if (nextline == 1)
- nextline = 0;
- else if (!strcmp(MARK_STRING, buf))
- {
- print_standard_stuff (fout, theme, font);
- nextline = 1;
- }
- else if (nextline == 0)
- fprintf(fout, "%s", buf);
- }
- }
- else
- {
- nextline = 0;
- while (fgets(buf, sizeof(buf), fin))
- {
- if (!strcmp(MARK_STRING, buf))
- {
- if (nextline == 0)
- {
- nextline = 1;
- print_standard_stuff (fout, theme, font);
- }
- else
- {
- nextline = 0;
- }
- } else if (nextline == 0)
- fprintf(fout, "%s", buf);
- }
- }
- fclose(fin);
- fclose(fout);
- cp(tmp, file);
- rm(tmp);
-}
-
-void
-set_tmp_rc(void)
-{
- gchar s[4096], *home;
-
- home = g_get_home_dir ();
- if (!home)
- return;
- 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);
-}
-
-void
-use_theme(gchar *theme, gchar *font)
-{
- gchar s[4096], *home;
-
- home = g_get_home_dir ();
- if (!home)
- return;
- g_snprintf(s, sizeof(s), "%s/.gtkrc", home);
- edit_file_to_use(s, theme, font);
-}
-
-void
-test_theme(gchar *theme, gchar *font)
-{
- static time_t last_written_time = 0;
- time_t current_time = time (NULL);
- struct utimbuf buf;
-
- edit_file_to_use(gtkrc_tmp, theme, font);
-
- 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
-free_theme_list(ThemeEntry *list, gint number)
-{
- gint i;
-
- for(i = 0; i < number; i++)
- {
- g_free(list[i].name);
- g_free(list[i].rc);
- g_free(list[i].readme);
- g_free(list[i].icon);
- }
- g_free(list);
-}
-
-GList *
-list_themes(gchar *dir)
-{
- gchar **dir_listing = NULL, *tmp;
- GList *list = NULL;
- gint i = 0, num = 0;
-
- dir_listing = ls(dir, &num);
- for(i = 0; i < num; i++)
- {
- tmp = g_strdup_printf ("%s/%s/gtk/gtkrc", dir, dir_listing[i]);
- if (isfile(tmp))
- {
- ThemeEntry *item = g_new0 (ThemeEntry, 1);
- item->name = g_strdup(dir_listing[i]);
- item->rc = g_strdup (tmp);
- item->dir = g_strdup_printf ("%s/%s", dir, dir_listing[i]);
- item->readme = g_strdup_printf ("%s/%s/README.html", dir, dir_listing[i]);
- item->icon = g_strdup_printf ("%s/%s/ICON.png", dir, dir_listing[i]);
- list = g_list_prepend (list, item);
- }
- g_free (tmp);
- }
- freestrlist(dir_listing, num);
- return g_list_reverse (list);
-}
-
-GList *
-list_system_themes(void)
-{
- gchar *theme_dir = NULL;
- GList *list = NULL;
-
- theme_dir = gtk_rc_get_theme_dir();
- list = list_themes(theme_dir);
- g_free(theme_dir);
- return list;
-}
-
-GList *
-list_user_themes()
-{
- gchar *home = NULL;
- gchar *theme_dir = NULL;
- GList *list = NULL;
-
- home = g_get_home_dir ();
- if (!home)
- return NULL;
-
- if (!isdir(home))
- return NULL;
-
- theme_dir = g_malloc(strlen(home) + strlen("/.themes") + 1);
- sprintf(theme_dir, "%s%s", home, "/.themes");
- list = list_themes(theme_dir);
- g_free(theme_dir);
- return list;
-}