diff --git a/ChangeLog b/ChangeLog index afdf955d8..1ef3bd807 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2002-05-11 Havoc Pennington + + * src/main.c: include locale.h, fix from Hidetoshi Tajima + + * src/window.c (meta_window_new): disable show desktop mode when a + new window is managed. + 2002-05-11 Havoc Pennington * src/fixedtip.c (meta_fixed_tip_show): keep the tooltip diff --git a/src/main.c b/src/main.c index e99c9235f..0c1d56c69 100644 --- a/src/main.c +++ b/src/main.c @@ -38,6 +38,7 @@ #include #include #include +#include static MetaExitCode meta_exit_code = META_EXIT_SUCCESS; static GMainLoop *meta_main_loop = NULL; diff --git a/src/tools/metacity-window-demo.c b/src/tools/metacity-window-demo.c index 825f6b751..933840ec2 100644 --- a/src/tools/metacity-window-demo.c +++ b/src/tools/metacity-window-demo.c @@ -332,6 +332,28 @@ override_redirect_cb (gpointer callback_data, gtk_widget_show_all (window); } +static void +changing_icon_cb (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + GtkWidget *window; + GtkWidget *vbox; + GtkWidget *label; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "Changing Icon"); + + vbox = gtk_vbox_new (FALSE, 0); + + gtk_container_add (GTK_CONTAINER (window), vbox); + + label = gtk_label_new ("This window has an icon that changes over time"); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); + + gtk_widget_show_all (window); +} + static gboolean focus_in_event_cb (GtkWidget *window, GdkEvent *event, diff --git a/src/window.c b/src/window.c index 86134de3a..c0a27a5a2 100644 --- a/src/window.c +++ b/src/window.c @@ -672,9 +672,15 @@ meta_window_new (MetaDisplay *display, Window xwindow, /* Sync stack changes */ meta_stack_thaw (window->screen->stack); + + /* disable show desktop mode unless we're a desktop component */ + if (window->display->showing_desktop && + window->type != META_WINDOW_DESKTOP && + window->type != META_WINDOW_DOCK) + meta_display_unshow_desktop (window->display); meta_window_queue_calc_showing (window); - + meta_display_ungrab (display); return window;