diff options
author | Havoc Pennington <hp@pobox.com> | 2002-02-07 03:07:56 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2002-02-07 03:07:56 +0000 |
commit | 8ae714eeaef03db0a55c11fc31834c8d65e2ea03 (patch) | |
tree | e3bc1027754f8e70bfc06266f798f682802c4342 /src/main.c | |
parent | 2be2d8ccbe196193d383841e1c990843a35d4f1b (diff) | |
download | metacity-8ae714eeaef03db0a55c11fc31834c8d65e2ea03.tar.gz |
disable custom log handler and fatal mask for now
2002-02-06 Havoc Pennington <hp@pobox.com>
* src/main.c (main): disable custom log handler and fatal mask for
now
* src/theme.c (meta_draw_op_list_draw):
Add META_DRAW_CLIP
* src/main.c: load theme, monitor current theme setting
* src/prefs.c: add "current theme" setting
* src/stack.c (meta_stack_free): don't try to free
last_root_children_stacked if it doesn't exist
* src/themewidget.c: pluggable GtkMisc subclass to use
for menu icons
* src/screen.c (meta_screen_manage_all_windows): fix
signed/unsigned warning
* src/frames.c: port to theme system
(meta_frames_style_set): chain up
* theme-format.txt: new file
* configure.in: add more compiler warnings
* src/theme.c: add various stuff needed to get theme parser
working. Remove the "spacer" concept from FrameLayout object.
Add draw op that references a draw op list.
* configure.in: require GTK 1.3.13
* src/Makefile.am: add theme-parser.[hc], implement loading a
theme
* src/theme.c: add "draw title" and "draw window icon" operations
(meta_draw_op_draw): put object_width/object_height in expression
environment before computing x/y. Handle out-of-memory when
creating pixbufs. Assorted other cleanups.
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -43,6 +43,9 @@ static MetaExitCode meta_exit_code = META_EXIT_SUCCESS; static GMainLoop *meta_main_loop = NULL; static gboolean meta_restart_after_quit = FALSE; +static void prefs_changed_callback (MetaPreference pref, + gpointer data); + static void log_handler (const gchar *log_domain, GLogLevelFlags log_level, @@ -175,12 +178,14 @@ main (int argc, char **argv) /* Load prefs */ meta_prefs_init (); + meta_prefs_add_listener (prefs_changed_callback, NULL); meta_ui_init (&argc, &argv); /* must be after UI init so we can override GDK handlers */ meta_errors_init (); +#if 0 g_log_set_handler (NULL, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, log_handler, NULL); @@ -205,6 +210,22 @@ main (int argc, char **argv) if (meta_is_debugging ()) g_log_set_always_fatal (G_LOG_LEVEL_MASK); +#endif + + meta_ui_set_current_theme (meta_prefs_get_theme (), FALSE); + + /* Try some panic stuff, this is lame but we really + * don't want users to lose their WM :-/ + */ + if (!meta_ui_have_a_theme ()) + meta_ui_set_current_theme ("Atlanta", FALSE); + + if (!meta_ui_have_a_theme ()) + meta_ui_set_current_theme ("Crux", FALSE); + + if (!meta_ui_have_a_theme ()) + meta_fatal (_("Could not find a theme! Be sure %s exits and contains the usual themes."), + METACITY_PKGDATADIR"/themes"); /* Connect to SM as late as possible - but before managing display, * or we might try to manage a window before we have the session @@ -280,3 +301,19 @@ meta_restart (void) meta_restart_after_quit = TRUE; meta_quit (META_EXIT_SUCCESS); } + +static void +prefs_changed_callback (MetaPreference pref, + gpointer data) +{ + switch (pref) + { + case META_PREF_THEME: + meta_ui_set_current_theme (meta_prefs_get_theme (), FALSE); + break; + + default: + /* handled elsewhere or otherwise */ + break; + } +} |