summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavoc Pennington <hp@pobox.com>2002-05-11 05:47:04 +0000
committerHavoc Pennington <hp@src.gnome.org>2002-05-11 05:47:04 +0000
commit41e99288b58b74ad2bd8e49b1b0020b1ff842173 (patch)
treeea37db12fdca9d2bef19d36654b5d2df15d82fb8
parenta3460b8ac806b775c5410aabf59964479d43322c (diff)
downloadmetacity-41e99288b58b74ad2bd8e49b1b0020b1ff842173.tar.gz
include locale.h, fix from Hidetoshi Tajima
2002-05-11 Havoc Pennington <hp@pobox.com> * 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.
-rw-r--r--ChangeLog7
-rw-r--r--src/main.c1
-rw-r--r--src/tools/metacity-window-demo.c22
-rw-r--r--src/window.c8
4 files changed, 37 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index afdf955d..1ef3bd80 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2002-05-11 Havoc Pennington <hp@pobox.com>
+ * 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 <hp@pobox.com>
+
* src/fixedtip.c (meta_fixed_tip_show): keep the tooltip
on the screen horizontally, #76825
diff --git a/src/main.c b/src/main.c
index e99c9235..0c1d56c6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -38,6 +38,7 @@
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
+#include <locale.h>
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 825f6b75..933840ec 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 86134de3..c0a27a5a 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;