diff -pru /usr/dud/edx/CHANGELOG ./CHANGELOG
--- /usr/dud/edx/CHANGELOG	Fri Jul 25 10:10:31 2003
+++ ./CHANGELOG	Sat Aug  9 10:47:10 2003
@@ -1,3 +1,8 @@
+07/11/03 Gtk 0.97
+Modified Xwindows structure to use Gtk toplevel window and added a Gtk socket
+ plug option for the toplevel window in order to run inside a tabbed version
+ of dillo for IDE purposes.
+
 07/11/03 0.96
 fixed incomplete 0.95 fix with changes to new_edit (changed fn test) and 
  dialog (added '0' parameter to call to dialogCB).
diff -pru /usr/dud/edx/Makefile ./Makefile
--- /usr/dud/edx/Makefile	Sat Jan  4 19:20:42 2003
+++ ./Makefile	Sat Aug  9 08:48:29 2003
@@ -1,5 +1,5 @@
-LIBS = -L/usr/X11R6/lib -lX11
-CFLAGS = -O2 -fomit-frame-pointer -pipe -Wall
+LIBS = -L/usr/X11R6/lib -lX11 -lgtk -lgdk 
+CFLAGS = -O2 -fomit-frame-pointer -pipe -Wall -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include 
 #CFLAGS = -O2 -fomit-frame-pointer -pipe -Wall -DGREEK
 #CFLAGS = -g -O2 -fomit-frame-pointer -pipe -Wall
 
@@ -15,7 +15,7 @@ all: edx mye
 
 edx: edx.c eeng.c ws.c emacs.c Makefile
 	gcc edx.c $(CFLAGS) -D$(TYPE) $(LIBS) -o edx
-	@ls -al $@;strip $@;ls -al $@
+	@ls -al $@;strip $@;ls -al $@;mv edx gdx;echo "renamed edx to gdx"
 
 mye: mye.c eeng.c Makefile
 	gcc mye.c -O2 -DSTATICBUF -fomit-frame-pointer -ltermcap -o mye
diff -pru /usr/dud/edx/edx.c ./edx.c
--- /usr/dud/edx/edx.c	Fri Jul 25 10:16:10 2003
+++ ./edx.c	Sat Aug  9 08:44:29 2003
@@ -16,8 +16,11 @@
 #define  XK_MISCELLANY
 #include <X11/keysymdef.h>
 #include <sys/time.h>
+#include <gtk/gtk.h>
+#include <gtk/gtksocket.h>
+#include <gdk/gdkx.h>
 
-#define VERSION "0.97"
+#define VERSION "Gtk 0.97"
 #define DEFAULT_WIDTH 80
 #define DEFAULT_HEIGHT 25
 
@@ -120,6 +123,7 @@ static enum {
 } executive = MAIN; 	/* default character handler */
 
 /* X related globals */
+GtkWidget *main_win;
 Display *dpy;
 Window win;
 GC gc;
@@ -555,8 +559,15 @@ void read_rc()
 }
 #endif /* MINIMAL */
 
+static gboolean quit_gtk(GtkWidget *widget, GtkWidget *bw)
+{
+    gtk_main_quit();
+    return 0;
+}
+
 void init(int argc,char *argv[])
 {
+   guint32 xid = 0;
 	int screen;
 	XWMHints *wmh;
 	XSizeHints *xsh;
@@ -597,6 +608,8 @@ void init(int argc,char *argv[])
 			CrColor = argv[++i];
 		else if (i<argc-1 && !strcasecmp(argv[i], "-j"))
 			ewin.jump = atoi(argv[++i]);
+		else if (i<argc-1 && !strcasecmp(argv[i], "-x"))
+			xid = atoi(argv[++i]);
 		else if (i<argc-1 && !strcasecmp(argv[i], "-w")) {
 			screen_width = atoi(argv[++i]);
 			if (screen_width<20) screen_width = 20;
@@ -628,8 +641,21 @@ void init(int argc,char *argv[])
 	}
 #endif /* STATICBUF */
 
+    main_win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+   if (!xid)
+       main_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+   else
+       main_win = gtk_plug_new(xid);
+    gtk_window_set_title (GTK_WINDOW (main_win), "gdx");
+    gtk_container_border_width (GTK_CONTAINER (main_win), 5);
+    gtk_signal_connect(GTK_OBJECT(main_win), "destroy",
+                      GTK_SIGNAL_FUNC(quit_gtk), NULL);
+    gtk_widget_realize(main_win);
+    win = GDK_WINDOW_XWINDOW(main_win->window);
+    dpy = GDK_WINDOW_XDISPLAY(main_win->window);
+
 	/* open the display */
-	dpy=XOpenDisplay(DisplayName);
+//	dpy=XOpenDisplay(DisplayName);
 	if(dpy==NULL)  {
 		fprintf(stderr,"Can't open display: %s\n",DisplayName);
 		sys_exit(1);
@@ -668,8 +694,11 @@ void init(int argc,char *argv[])
 	memset(eolbuf, ' ', sizeof(eolbuf));
 
 	/* create the only window */
-	win=XCreateSimpleWindow(dpy,RootWindow(dpy,screen),x,y,Width,Height,0,
-		BlackPixel(dpy,screen),WhitePixel(dpy,screen));
+//	win=XCreateSimpleWindow(dpy,RootWindow(dpy,screen),x,y,Width,Height,0,
+//		BlackPixel(dpy,screen),WhitePixel(dpy,screen));
+
+    gtk_widget_set_usize (GTK_WIDGET (main_win),Width,Height);
+    gtk_widget_show(main_win);
 
 	/* setup window hints */
 	wmh->initial_state=NormalState;
@@ -798,13 +827,14 @@ int main(int argc,char *argv[])
 	struct sigaction act;
 	int y0 = 0, y1 = 0, yf, yt;
 
+    gtk_init (&argc, &argv);
 	init(argc,argv);
 #ifndef MINIMAL
 	read_rc();
 #endif /* MINIMAL */
 
 	/* disconnect from the console */
-	switch (fork()) { case 0: case -1: break; default: exit(0); }
+//	switch (fork()) { case 0: case -1: break; default: exit(0); }
 
 	/* set path */
 	if (cfdpath == NULL) {
Only in .: gdx-patch
