diff options
author | Jonathan Blandford <jrb@gnome.org> | 2002-11-01 16:09:43 +0000 |
---|---|---|
committer | Jonathan Blandford <jrb@src.gnome.org> | 2002-11-01 16:09:43 +0000 |
commit | 9405d72d2fad085232190a18dab54ac04010646e (patch) | |
tree | 4863c36ee69ab0fadd7c53e1f4370e88a26f9b17 /capplets/common/gnome-theme-info.h | |
parent | ce78d4d67079af0b23ceb9990dc56797574e20ce (diff) | |
download | gnome-control-center-9405d72d2fad085232190a18dab54ac04010646e.tar.gz |
Rewrote to handle metathemes and icon themes. The WM stuff was previously
Fri Nov 1 11:01:16 2002 Jonathan Blandford <jrb@gnome.org>
* gnome-theme-manager.c: Rewrote to handle metathemes and icon
themes. The WM stuff was previously broken, too.
* gnome-theme-installer.[ch]: Extract this code out to it's own
file.
Fri Nov 1 11:03:34 2002 Jonathan Blandford <jrb@gnome.org>
* gnome-theme-info.[ch]: Moved theme-common, and gave more
features.
Diffstat (limited to 'capplets/common/gnome-theme-info.h')
-rw-r--r-- | capplets/common/gnome-theme-info.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/capplets/common/gnome-theme-info.h b/capplets/common/gnome-theme-info.h new file mode 100644 index 000000000..2063396cf --- /dev/null +++ b/capplets/common/gnome-theme-info.h @@ -0,0 +1,103 @@ +/* gnome-theme-info.h - GNOME Theme information + + Copyright (C) 2002 Jonathan Blandford <jrb@gnome.org> + All rights reserved. + + This file is part of the Gnome Library. + + The Gnome Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The Gnome Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Gnome Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ +/* + @NOTATION@ + */ + +#ifndef GNOME_THEME_INFO_H +#define GNOME_THEME_INFO_H + +#include <glib.h> + + +typedef enum { + GNOME_THEME_METACITY = 1 << 0, + GNOME_THEME_GTK_2 = 1 << 1, + GNOME_THEME_GTK_2_KEYBINDING = 1 << 2, +} GnomeThemeElement; + +typedef struct _GnomeThemeInfo GnomeThemeInfo; +struct _GnomeThemeInfo +{ + gchar *path; + gchar *name; + guint has_gtk : 1; + guint has_keybinding : 1; + guint has_metacity : 1; + guint user_writable : 1; +}; + +typedef struct _GnomeThemeIconInfo GnomeThemeIconInfo; +struct _GnomeThemeIconInfo +{ + gchar *path; + gchar *name; +}; + +typedef struct _GnomeThemeMetaInfo GnomeThemeMetaInfo; +struct _GnomeThemeMetaInfo +{ + gchar *path; + gchar *name; + gchar *font; + gchar *comment; + gchar *icon_file; + gchar *background; + gchar *gtk_theme_name; + gchar *icon_theme_name; + gchar *metacity_theme_name; + GnomeThemeInfo *gtk_theme; + GnomeThemeInfo *icon_theme; + GnomeThemeInfo *metacity_theme; +}; + + +/* Generic Themes */ +GnomeThemeInfo *gnome_theme_info_new (void); +void gnome_theme_info_free (GnomeThemeInfo *theme_info); +GnomeThemeInfo *gnome_theme_info_find (const gchar *theme_name); +GList *gnome_theme_info_find_by_type (guint elements); +GnomeThemeInfo *gnome_theme_info_find_by_dir (const gchar *theme_dir); + + + +/* Icon Themes */ +GnomeThemeIconInfo *gnome_theme_icon_info_new (void); +void gnome_theme_icon_info_free (GnomeThemeIconInfo *icon_theme_info); +GnomeThemeInfo *gnome_theme_icon_info_find (const gchar *icon_theme_name); +GList *gnome_theme_icon_info_find_all (void); + + +/* Meta themes*/ +GnomeThemeMetaInfo *gnome_theme_meta_info_new (void); +void gnome_theme_meta_info_free (GnomeThemeMetaInfo *meta_theme_info); +GnomeThemeMetaInfo *gnome_theme_meta_info_find (const char *meta_theme_name); +GList *gnome_theme_meta_info_find_all (void); + + + +/* Theme monitoring */ +void gnome_theme_info_register_theme_change (GFunc func, + gpointer data); + + +#endif /* GNOME_THEME_INFO_H */ |