[Xfce4-commits] <xfce4-wmdock-plugin:0.6.x> Fixed a initial mapping bug off dockapps at startup.

Andre Ellguth noreply at xfce.org
Tue Oct 22 10:24:01 CEST 2013


Updating branch refs/heads/0.6.x
         to aa8ff12a50d752143361eacbd5248bbd2dd76998 (commit)
       from c762a294086615bb4c46fc9a4345e98d244782ca (commit)

commit aa8ff12a50d752143361eacbd5248bbd2dd76998
Author: Andre Ellguth <andre at ellguth.com>
Date:   Tue Oct 22 10:14:25 2013 +0200

    Fixed a initial mapping bug off dockapps at startup.

 panel-plugin/catchwindow.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/panel-plugin/catchwindow.c b/panel-plugin/catchwindow.c
index 99da57f..c600c34 100644
--- a/panel-plugin/catchwindow.c
+++ b/panel-plugin/catchwindow.c
@@ -184,6 +184,7 @@ void wmdock_window_open(WnckScreen *s, WnckWindow *w)
 		debug("catchwindow.c: New dockapp %s width: %d height: %d", wnck_window_get_name(w), wi, he);
 
 		gtk_widget_set_size_request(GTK_WIDGET(dapp->s), wi, he);
+		wnck_window_stick (w);
 		wnck_window_set_skip_tasklist (w, TRUE);
 		wnck_window_set_skip_pager (w, TRUE);
 
@@ -200,11 +201,6 @@ void wmdock_window_open(WnckScreen *s, WnckWindow *w)
 			wmdockIcon = NULL;
 		}
 
-		/* Cleanly unmap the original window. */
-		/* TODO: Verify is XUnmapWindow always not required.
-		 * XUnmapWindow(GDK_DISPLAY_XDISPLAY(get_current_gdkdisplay()), dapp->i);
-		 */
-
 		if(rcDapp == FALSE) {
 			dapp->tile = wmdock_create_tile_from_socket(dapp);
 			/* Setup tile background. */
@@ -229,6 +225,10 @@ void wmdock_window_open(WnckScreen *s, WnckWindow *w)
 		gtk_socket_add_id(dapp->s, dapp->i);
 		gtk_widget_show_all(GTK_WIDGET(dapp->tile));
 
+		/* Cleanly unmap the original window. */
+		if(h->initial_state == WithdrawnState)
+			XUnmapWindow(GDK_DISPLAY_XDISPLAY(get_current_gdkdisplay()), wnck_window_get_xid(w));
+
 		g_signal_connect(dapp->s, "plug-removed", G_CALLBACK(wmdock_dapp_closed), dapp);
 
 		/* Setup drag & drop for the dockapps. */


More information about the Xfce4-commits mailing list