X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=hildon%2Fhildon-private.c;h=ac16f392a014b4121b84a169257367108844b6cd;hb=18e833d726109484d4165bf9eb11a85df919cb0d;hp=739c2c9206933e44223d8bf9789345d5a982ca88;hpb=07b820bc12ee2a69e5c8292120de7f4805383c2e;p=hildon diff --git a/hildon/hildon-private.c b/hildon/hildon-private.c index 739c2c9..ac16f39 100644 --- a/hildon/hildon-private.c +++ b/hildon/hildon-private.c @@ -121,3 +121,37 @@ hildon_private_create_animation (gfloat framerate, return image; } + + +void +hildon_gtk_window_set_clear_window_flag (GtkWindow *window, + const gchar *atomname, + Atom xatom, + gboolean flag) +{ + GdkWindow *gdkwin = GTK_WIDGET (window)->window; + GdkAtom atom = gdk_atom_intern (atomname, FALSE); + + if (flag) { + guint32 set = 1; + gdk_property_change (gdkwin, atom, gdk_x11_xatom_to_atom (xatom), + 32, GDK_PROP_MODE_REPLACE, (const guchar *) &set, 1); + } else { + gdk_property_delete (gdkwin, atom); + } +} + +void +hildon_gtk_window_set_flag (GtkWindow *window, + HildonFlagFunc func, + gpointer userdata) +{ + g_return_if_fail (GTK_IS_WINDOW (window)); + if (GTK_WIDGET_REALIZED (window)) { + (*func) (window, userdata); + } else { + g_signal_handlers_disconnect_matched (window, G_SIGNAL_MATCH_FUNC, + 0, 0, NULL, func, NULL); + g_signal_connect (window, "realize", G_CALLBACK (func), userdata); + } +}