[Goodies-commits] r3109 - in xfce4-wmdock-plugin/trunk: . panel-plugin

Andre Ellguth ellguth at xfce.org
Sat Sep 1 17:44:44 CEST 2007


Author: ellguth
Date: 2007-09-01 15:44:44 +0000 (Sat, 01 Sep 2007)
New Revision: 3109

Modified:
   xfce4-wmdock-plugin/trunk/ChangeLog
   xfce4-wmdock-plugin/trunk/configure
   xfce4-wmdock-plugin/trunk/configure.in
   xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.am
   xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.in
   xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.c
   xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.h
Log:
- Plugin don't crash anymore if you change the orientation of the panel
- Workaround added for wmnet
- Background tile will be shown
- Dockapps now centered in panel



Modified: xfce4-wmdock-plugin/trunk/ChangeLog
===================================================================
--- xfce4-wmdock-plugin/trunk/ChangeLog	2007-09-01 14:23:30 UTC (rev 3108)
+++ xfce4-wmdock-plugin/trunk/ChangeLog	2007-09-01 15:44:44 UTC (rev 3109)
@@ -1,2 +1,8 @@
 2007-08-29	Andre Ellguth <ellguth at ibh dot de>
 	* No X applications with size greater than 64 pixels will be swallowed.
+
+2007-09-01	Andre Ellguth <ellguth at ibh dot de>
+	* Plugin don't crash anymore if you change the orientation of the panel
+	* Workaround added for wmnet
+	* Background tile will be shown
+	* Dockapps now centered in panel

Modified: xfce4-wmdock-plugin/trunk/configure
===================================================================
--- xfce4-wmdock-plugin/trunk/configure	2007-09-01 14:23:30 UTC (rev 3108)
+++ xfce4-wmdock-plugin/trunk/configure	2007-09-01 15:44:44 UTC (rev 3109)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xfce4-wmdock-plugin 0.1.1.
+# Generated by GNU Autoconf 2.61 for xfce4-wmdock-plugin 0.1.5.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -726,8 +726,8 @@
 # Identity of this package.
 PACKAGE_NAME='xfce4-wmdock-plugin'
 PACKAGE_TARNAME='xfce4-wmdock-plugin'
-PACKAGE_VERSION='0.1.1'
-PACKAGE_STRING='xfce4-wmdock-plugin 0.1.1'
+PACKAGE_VERSION='0.1.5'
+PACKAGE_STRING='xfce4-wmdock-plugin 0.1.5'
 PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
@@ -1414,7 +1414,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xfce4-wmdock-plugin 0.1.1 to adapt to many kinds of systems.
+\`configure' configures xfce4-wmdock-plugin 0.1.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1484,7 +1484,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xfce4-wmdock-plugin 0.1.1:";;
+     short | recursive ) echo "Configuration of xfce4-wmdock-plugin 0.1.5:";;
    esac
   cat <<\_ACEOF
 
@@ -1590,7 +1590,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xfce4-wmdock-plugin configure 0.1.1
+xfce4-wmdock-plugin configure 0.1.5
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1604,7 +1604,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xfce4-wmdock-plugin $as_me 0.1.1, which was
+It was created by xfce4-wmdock-plugin $as_me 0.1.5, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -1959,7 +1959,7 @@
 
 
 
-WMDOCK_VERSION=0.1.1
+WMDOCK_VERSION=0.1.5
 am__api_version="1.9"
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -20923,7 +20923,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xfce4-wmdock-plugin $as_me 0.1.1, which was
+This file was extended by xfce4-wmdock-plugin $as_me 0.1.5, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20976,7 +20976,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-xfce4-wmdock-plugin config.status 0.1.1
+xfce4-wmdock-plugin config.status 0.1.5
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 

Modified: xfce4-wmdock-plugin/trunk/configure.in
===================================================================
--- xfce4-wmdock-plugin/trunk/configure.in	2007-09-01 14:23:30 UTC (rev 3108)
+++ xfce4-wmdock-plugin/trunk/configure.in	2007-09-01 15:44:44 UTC (rev 3109)
@@ -5,7 +5,7 @@
 dnl
 
 dnl version info
-m4_define([wmdock_version], [0.1.1])
+m4_define([wmdock_version], [0.1.5])
 
 dnl init autoconf
 AC_INIT([xfce4-wmdock-plugin], [wmdock_version])

Modified: xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.am
===================================================================
--- xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.am	2007-09-01 14:23:30 UTC (rev 3108)
+++ xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.am	2007-09-01 15:44:44 UTC (rev 3109)
@@ -4,6 +4,7 @@
 xfce4_wmdock_plugin_SOURCES =						\
 	wmdock.h							\
 	xfce4-wmdock-plugin.xpm						\
+	tile.xpm							\
 	wmdock.c
 
 xfce4_wmdock_plugin_CFLAGS =						\

Modified: xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.in
===================================================================
--- xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.in	2007-09-01 14:23:30 UTC (rev 3108)
+++ xfce4-wmdock-plugin/trunk/panel-plugin/Makefile.in	2007-09-01 15:44:44 UTC (rev 3109)
@@ -212,6 +212,7 @@
 xfce4_wmdock_plugin_SOURCES = \
 	wmdock.h							\
 	xfce4-wmdock-plugin.xpm						\
+	tile.xpm							\
 	wmdock.c
 
 xfce4_wmdock_plugin_CFLAGS = \

Modified: xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.c
===================================================================
--- xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.c	2007-09-01 14:23:30 UTC (rev 3108)
+++ xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.c	2007-09-01 15:44:44 UTC (rev 3109)
@@ -1,8 +1,14 @@
-/* $Id: wmdock.c,v 1.2 2007/08/29 19:39:46 ellguth Exp ellguth $
+/* $Id: wmdock.c,v 1.3 2007/09/01 15:40:24 ellguth Exp ellguth $
  *
  * wmdock xfce4 plugin by Andre Ellguth
  *
  * $Log: wmdock.c,v $
+ * Revision 1.3  2007/09/01 15:40:24  ellguth
+ * Plugin don't crash anymore if you change the orientation of the panel.
+ * Workaround added for wmnet.
+ * Background tile will be shown.
+ * Dockapps now centered in panel.
+ *
  * Revision 1.2  2007/08/29 19:39:46  ellguth
  * No X applications with size greater than  64 pixels will be swallowed.
  *
@@ -27,6 +33,7 @@
 
 #include "wmdock.h"
 #include "xfce4-wmdock-plugin.xpm"
+#include "tile.xpm"
 
 #define DEFAULT_DOCKAPP_WIDTH 64
 #define DEFAULT_DOCKAPP_HEIGHT 64
@@ -34,9 +41,12 @@
 
 Atom           DockAppAtom;
 GtkWidget      *wmdockIcon = NULL;
-GdkBitmap  	   *gdkBitmap;
-GtkStyle   	   *gtkStyle;
-GdkPixmap  	   *gdkPixmap;
+GdkBitmap  	   *gdkBmIcon;
+GdkBitmap  	   *gdkBmTile;
+GtkStyle   	   *gtkStyIcon;
+GtkStyle   	   *gtkStyTile;
+GdkPixmap  	   *gdkPmIcon;
+GdkPixmap  	   *gdkPmTile;
 WmdockPlugin   *wmdock;
 /* fp needed for debug */
 FILE           *fp;
@@ -49,7 +59,8 @@
 	unsigned long int nitems;
 	unsigned long int naft;
 	gboolean ret=FALSE;
-	unsigned char * dat;
+	unsigned char *dat;
+	
 	gdk_error_trap_push();
 	if (XGetWindowProperty(
 			GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),
@@ -61,22 +72,35 @@
 		XFree(dat);
 	}
 	XSync(GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),False);
+	
+	/* Workaround for the dockapp wmnet */
+	if(wnck_window_has_name(w)) {
+		if(!g_strcasecmp(wnck_window_get_name(w), "wmnet")) ret = TRUE;
+	}
+	
 	gdk_error_trap_pop();
 	return ret;
 }
 
 
-void print_xids(DockappNode *dapp)
+void wmdock_destroy_dockapp(DockappNode *dapp)
 {
-	/* Debug 	
-	fprintf(fp, "Dockapp active with xid: %u\n", dapp->i);
-	*/
+	//XDestroyWindow(GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), dapp->i);XDestroyWindow(GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), dapp->i);
+	XKillClient(GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), dapp->i);
 }
 
 
-void wmdock_destroy_dockapp(DockappNode *dapp)
+void wmdock_redraw_dockapp(DockappNode *dapp)
 {
-	XDestroyWindow(GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), dapp->i);
+	/* Tile in the background */
+	if(wmdock->propDispTile == TRUE) {
+		gtk_widget_set_app_paintable(GTK_WIDGET(dapp->s), TRUE);
+		gdk_window_set_back_pixmap(GTK_WIDGET(dapp->s)->window, gdkPmTile, FALSE);
+        if (GTK_WIDGET_FLAGS(GTK_WIDGET(dapp->s)) & GTK_MAPPED)
+        	gtk_widget_queue_draw(GTK_WIDGET(dapp->s));
+	}
+	
+	gtk_widget_show(GTK_WIDGET(dapp->s));
 }
 
 
@@ -92,7 +116,7 @@
 	g_free(dapp);
 
 	if(g_slist_length (wmdock->dapps) == 0) {
-		wmdockIcon = gtk_image_new_from_pixmap(gdkPixmap, gdkBitmap);
+		wmdockIcon = gtk_image_new_from_pixmap(gdkPmIcon, gdkBmIcon);
 		
  		gtk_box_pack_start(GTK_BOX(wmdock->box), GTK_WIDGET(wmdockIcon), FALSE, FALSE, 0);
  		gtk_widget_show(GTK_WIDGET(wmdockIcon)); 	
@@ -100,15 +124,18 @@
 }
 
 
-static void wmdock_window_open(WnckScreen * s, WnckWindow * w) 
+static void wmdock_window_open(WnckScreen *s, WnckWindow *w) 
 {
 	int xp, yp, wi, he;
 	XWMHints *h;
 	DockappNode *dapp = NULL;
 	int argc = 0;
 	char **argv;
+	
 
 	gdk_error_trap_push();
+	gdk_flush();
+
 	h = XGetWMHints(GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), 
 					wnck_window_get_xid(w));
 
@@ -130,11 +157,12 @@
   		}
  
 		dapp = g_new0(DockappNode, 1);
-
+		
 		/* gtksocket = GTK_SOCKET(gtk_socket_new()); */
 		dapp->s = GTK_SOCKET(gtk_socket_new());
 		/* i = wnck_window_get_xid(w); */
 		dapp->i = wnck_window_get_xid(w);
+		
 		gtk_widget_set_size_request(GTK_WIDGET(dapp->s), wi, he);
 
 		dapp->name = g_strdup(wnck_window_get_name(w));
@@ -152,31 +180,41 @@
 			gtk_widget_destroy(wmdockIcon);
 			wmdockIcon = NULL;
 		}
+		
 		gtk_box_pack_start(GTK_BOX(wmdock->box), GTK_WIDGET(dapp->s), FALSE, FALSE, 0);
 
 		gtk_socket_add_id(dapp->s, dapp->i);
+		
+		/* Tile in the background */
+		if(wmdock->propDispTile == TRUE) {
+			gtk_widget_set_app_paintable(GTK_WIDGET(dapp->s), TRUE);
+			gdk_window_set_back_pixmap(GTK_WIDGET(dapp->s)->window, gdkPmTile, FALSE);
+        	if (GTK_WIDGET_FLAGS(GTK_WIDGET(dapp->s)) & GTK_MAPPED)
+        		gtk_widget_queue_draw(GTK_WIDGET(dapp->s));
+		}
+        			
 
 		gtk_widget_show(GTK_WIDGET(dapp->s));
 
 		g_signal_connect(dapp->s, "plug-removed", G_CALLBACK(wmdock_dapp_closed), dapp);  
 		wmdock->dapps=g_slist_append(wmdock->dapps, dapp);
 
-		/* Test */ 
-		g_slist_foreach(wmdock->dapps, (GFunc)print_xids, NULL);
 	}
 
 	XFree(h);
 }
 
 
-static void wmdock_orientation_changed (XfcePanelPlugin *plugin,
-					GtkOrientation   orientation,
-					WmdockPlugin *wmdock)
+static void wmdock_orientation_changed (XfcePanelPlugin *plugin, GtkOrientation orientation, gpointer user_data)
 {
-	if (orientation == GTK_ORIENTATION_VERTICAL)
-		gtk_alignment_set (GTK_ALIGNMENT (wmdock->align), 0.5, 0.5, 0.0, 1.0);
-	else
-		gtk_alignment_set (GTK_ALIGNMENT (wmdock->align), 0.5, 0.5, 1.0, 0.0);
+	/*
+		if (xfce_panel_plugin_get_orientation (plugin) == GTK_ORIENTATION_VERTICAL)
+			gtk_alignment_set (GTK_ALIGNMENT (wmdock->box), 0.5, 0.5, 0.0, 1.0);
+		else
+			gtk_alignment_set (GTK_ALIGNMENT (wmdock->box), 0.5, 0.5, 1.0, 0.0);
+	*/
+	xfce_hvbox_set_orientation (wmdock->box, orientation);
+	gtk_widget_show(GTK_WIDGET(wmdock->box));	
 }
 
 
@@ -231,6 +269,7 @@
 
 	cmds = xfce_rc_read_list_entry(rc, "cmds", ";");
 	cmdcnt = xfce_rc_read_int_entry(rc, "cmdcnt", 0);
+	wmdock->propDispTile = xfce_rc_read_bool_entry (rc, "disptile", TRUE);
 
 	if(G_LIKELY(cmds != NULL)) {
 		for (i = cmdcnt; i >= 0; i--) {
@@ -293,6 +332,7 @@
 		g_strfreev(cmds);
 
 		xfce_rc_write_int_entry (rc, "cmdcnt", g_slist_length (wmdock->dapps));
+		xfce_rc_write_bool_entry (rc, "disptile", wmdock->propDispTile); 
 	}
 
 	xfce_rc_close(rc);
@@ -331,6 +371,15 @@
 }
 
 
+void wmdock_properties_chkdisptile(GtkToggleButton *gtkChkDispTile, gpointer user_data)
+{
+	wmdock->propDispTile = gtk_toggle_button_get_active(gtkChkDispTile);
+
+	g_slist_foreach(wmdock->dapps, (GFunc)wmdock_redraw_dockapp, NULL);
+	gtk_widget_show_all(GTK_WIDGET(wmdock->box));
+}
+
+
 void wmdock_properties_moveup (GtkWidget *gtkBtnMoveUp, GtkWidget *gtkComboBox)
 {
 	DockappNode *dapp = NULL;
@@ -348,6 +397,8 @@
 			gtk_combo_box_insert_text((GtkComboBox *) gtkComboBox, pos - 1, dapp->name);
 			gtk_combo_box_set_active((GtkComboBox *) gtkComboBox, pos - 1);  
 			gtk_box_reorder_child(GTK_BOX(wmdock->box), GTK_WIDGET(dapp->s), pos - 1);
+			
+			g_slist_foreach(wmdock->dapps, (GFunc)wmdock_redraw_dockapp, NULL);
 		}
 	}
 }
@@ -370,6 +421,8 @@
 			gtk_combo_box_insert_text((GtkComboBox *) gtkComboBox, pos + 1, dapp->name);
 			gtk_combo_box_set_active((GtkComboBox *) gtkComboBox, pos + 1);  
 			gtk_box_reorder_child(GTK_BOX(wmdock->box), GTK_WIDGET(dapp->s), pos + 1);
+			
+			g_slist_foreach(wmdock->dapps, (GFunc)wmdock_redraw_dockapp, NULL);
 		}		
 	}
 }
@@ -415,7 +468,8 @@
 
 static void wmdock_properties_dialog(XfcePanelPlugin *plugin)
 {
-	GtkWidget   *gtkDlg, *gtkVbox, *gtkVbox2, *gtkHbox, *gtkLblSel, *gtkLblCmd, 
+	GtkWidget   *gtkDlg, *gtkVbox, *gtkVbox2, *gtkVboxGeneral, *gtkHbox, 
+				*gtkLblSel, *gtkLblCmd, *gtkLblGeneral, *gtkChkDispTile,
  				*gtkTxtCmd, *gtkComboBox, *gtkImage, *gtkBtnMoveUp, *gtkBtnMoveDown;
 
 	xfce_panel_plugin_block_menu (plugin);
@@ -436,6 +490,10 @@
 	gtkHbox = gtk_hbox_new(FALSE, 6);
 	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gtkDlg)->vbox), gtkHbox, FALSE, FALSE, 0);
 	gtk_container_set_border_width (GTK_CONTAINER (gtkHbox), 4);
+	
+	gtkVboxGeneral = gtk_vbox_new(FALSE, 6);
+	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gtkDlg)->vbox), gtkVboxGeneral, FALSE, FALSE, 0);
+	gtk_container_set_border_width (GTK_CONTAINER (gtkVboxGeneral), 4);	
 
 	gtkVbox = gtk_vbox_new(FALSE, 4);
 	gtkVbox2 = gtk_vbox_new(FALSE, 4);
@@ -444,12 +502,12 @@
 	gtk_box_pack_start (GTK_BOX (gtkHbox), gtkVbox, FALSE, FALSE, 0);
 	gtk_box_pack_start (GTK_BOX (gtkHbox), gtkVbox2, FALSE, FALSE, 0);
 
-	gtkImage = gtk_image_new_from_pixmap(gdkPixmap, gdkBitmap);
+	gtkImage = gtk_image_new_from_pixmap(gdkPmIcon, gdkBmIcon);
 	gtk_widget_set_name(gtkImage, "image");
 	gtk_box_pack_start (GTK_BOX(gtkVbox), GTK_WIDGET (gtkImage), FALSE, FALSE, 0);
 
-	gtkBtnMoveUp = gtk_button_new_with_label ("Move up"); 
-	gtkBtnMoveDown = gtk_button_new_with_label ("Move down");
+	gtkBtnMoveUp = (GtkWidget *) xfce_arrow_button_new (GTK_ARROW_UP);
+	gtkBtnMoveDown = (GtkWidget *) xfce_arrow_button_new (GTK_ARROW_DOWN);
 	gtk_box_pack_start (GTK_BOX(gtkVbox), GTK_WIDGET (gtkBtnMoveUp), FALSE, FALSE, 0);
 	gtk_box_pack_start (GTK_BOX(gtkVbox), GTK_WIDGET (gtkBtnMoveDown), FALSE, FALSE, 0);
 
@@ -475,12 +533,26 @@
 	gtk_misc_set_alignment (GTK_MISC (gtkLblCmd), 0, 0);
 	gtk_box_pack_start (GTK_BOX(gtkVbox2), gtkLblCmd, FALSE, FALSE, 0);
 	gtkTxtCmd = gtk_entry_new();
+	if(g_slist_length(wmdock->dapps) > 0) {
+		gtk_editable_set_editable((GtkEditable *) gtkTxtCmd, TRUE);
+	} else {
+		gtk_editable_set_editable((GtkEditable *) gtkTxtCmd, FALSE);
+	}
 	gtk_box_pack_start (GTK_BOX(gtkVbox2), gtkTxtCmd, FALSE, FALSE, 0);
+	
+	gtkLblGeneral = gtk_label_new ("General settings:");
+	gtk_misc_set_alignment (GTK_MISC (gtkLblGeneral), 0, 0);
+	gtkChkDispTile = gtk_check_button_new_with_label("Display tile in the background");
+	gtk_toggle_button_set_active((GtkToggleButton *) gtkChkDispTile, wmdock->propDispTile);
+	gtk_misc_set_alignment (GTK_MISC (gtkChkDispTile), 0, 0);
+	gtk_box_pack_start (GTK_BOX(gtkVboxGeneral), gtkLblGeneral, FALSE, FALSE, 0);
+	gtk_box_pack_start (GTK_BOX(gtkVboxGeneral), gtkChkDispTile, FALSE, FALSE, 0);
 
 	g_signal_connect(G_OBJECT(gtkComboBox), "changed", G_CALLBACK(wmdock_properties_changed), gtkTxtCmd);
 	g_signal_connect(G_OBJECT(gtkTxtCmd), "key-release-event", G_CALLBACK(wmdock_properties_savecmd), gtkComboBox);
 	g_signal_connect(G_OBJECT(gtkBtnMoveUp), "pressed", G_CALLBACK(wmdock_properties_moveup), gtkComboBox);
 	g_signal_connect(G_OBJECT(gtkBtnMoveDown), "pressed", G_CALLBACK(wmdock_properties_movedown), gtkComboBox);
+	g_signal_connect(G_OBJECT(gtkChkDispTile), "toggled", G_CALLBACK(wmdock_properties_chkdisptile), NULL);
 
 	if(g_slist_length(wmdock->dapps) > 0) {
 		wmdock_properties_changed(gtkComboBox, gtkTxtCmd);	
@@ -496,24 +568,28 @@
 
 	wmdock->plugin = plugin;
 	wmdock->dapps = NULL;
+	wmdock->propDispTile = TRUE;
 
 	wmdock->ebox = gtk_event_box_new ();
 	gtk_widget_show(GTK_WIDGET(wmdock->ebox));
 
-	wmdock->align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
+	wmdock->align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
 
 	gtk_widget_show(GTK_WIDGET(wmdock->align));
 
 	gtk_container_add(GTK_CONTAINER(wmdock->ebox), GTK_WIDGET(wmdock->align));
 	 
-	if(xfce_panel_plugin_get_orientation (plugin) == GTK_ORIENTATION_VERTICAL) {
-		wmdock->box = gtk_vbox_new(FALSE, 0);
-	} else {
-		wmdock->box = gtk_hbox_new(FALSE, 0);
-	}
+	/* 
+		if(xfce_panel_plugin_get_orientation (plugin) == GTK_ORIENTATION_VERTICAL) {
+			wmdock->box = gtk_vbox_new(FALSE, 0);
+		} else {
+			wmdock->box = gtk_hbox_new(FALSE, 0);
+		}
+	*/
+	wmdock->box = (GtkWidget *) xfce_hvbox_new(xfce_panel_plugin_get_orientation (plugin), FALSE, 0);
 
 	gtk_container_add (GTK_CONTAINER (wmdock->align), wmdock->box);
- 
+	
 	return wmdock;
 }
 
@@ -547,12 +623,18 @@
 	xfce_panel_plugin_set_expand(plugin, TRUE);
 	
 	/* Setup the icon */
-	gtkStyle = gtk_widget_get_default_style();
-	gdkPixmap = gdk_pixmap_create_from_xpm_d (wmdock->ebox->window, &gdkBitmap,
-    	                                       &gtkStyle->bg[GTK_STATE_NORMAL],
-        	                                   xfce4_wmdock_plugin_xpm);
+	gtkStyIcon = gtk_widget_get_default_style();
+	gdkPmIcon = gdk_pixmap_create_from_xpm_d (wmdock->ebox->window, &gdkBmIcon,
+    	                                      &gtkStyIcon->bg[GTK_STATE_NORMAL],
+        	                                  xfce4_wmdock_plugin_xpm);
+        	                                  
+	/* Setup the tile image */    	                                  	
+	gtkStyTile = gtk_widget_get_default_style();
+	gdkPmTile = gdk_pixmap_create_from_xpm_d (wmdock->ebox->window, &gdkBmTile,
+    	                                      &gtkStyTile->bg[GTK_STATE_NORMAL],
+        	                                  tile_xpm);	
 
-	wmdockIcon = gtk_image_new_from_pixmap(gdkPixmap, gdkBitmap);
+	wmdockIcon = gtk_image_new_from_pixmap(gdkPmIcon, gdkBmIcon);
 
 	gtk_box_pack_start(GTK_BOX(wmdock->box), GTK_WIDGET(wmdockIcon), FALSE, FALSE, 0);
 	gtk_widget_show(GTK_WIDGET(wmdockIcon));

Modified: xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.h
===================================================================
--- xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.h	2007-09-01 14:23:30 UTC (rev 3108)
+++ xfce4-wmdock-plugin/trunk/panel-plugin/wmdock.h	2007-09-01 15:44:44 UTC (rev 3109)
@@ -26,6 +26,8 @@
 	/* Plugin specific definitions */
 	GtkWidget *align;
 	GtkWidget *box;
+	
+	gboolean propDispTile;
 
 	GSList *dapps;
 } WmdockPlugin;




More information about the Goodies-commits mailing list