changeset 5156:fd78458b8c43

(XTread_socket): Really handle Xatom_wm_window_moved events. (XTread_socket): Generate delete_window_event's.
author Richard M. Stallman <rms@gnu.org>
date Wed, 24 Nov 1993 06:39:54 +0000
parents 3fcc21b4f083
children d39a061f984a
files src/xterm.c
diffstat 1 files changed, 21 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/xterm.c	Wed Nov 24 06:37:51 1993 +0000
+++ b/src/xterm.c	Wed Nov 24 06:39:54 1993 +0000
@@ -2692,9 +2692,17 @@
 		    struct frame *f = x_window_to_frame (event.xclient.window);
 
 		    if (f)
-		      if (numchars > 0)
-			{
-			}
+		      {
+			if (numchars == 0)
+			  abort ();
+
+			bufp->kind = delete_window_event;
+			XSET (bufp->frame_or_window, Lisp_Frame, f);
+			bufp++;
+
+			count += 1;
+			numchars -= 1;
+		      }
 		  }
 	      }
 	    else if (event.xclient.message_type == Xatom_wm_configure_denied)
@@ -2703,9 +2711,16 @@
 	    else if (event.xclient.message_type == Xatom_wm_window_moved)
 	      {
 		int new_x, new_y;
-
+		struct frame *f = x_window_to_frame (event.xclient.window);
+		
 		new_x = event.xclient.data.s[0];
 		new_y = event.xclient.data.s[1];
+
+		if (f)
+		  {
+		    f->display.x->left_pos = new_x;
+		    f->display.x->top_pos = new_y;
+		  }
 	      }
 	  }
 	  break;
@@ -4326,7 +4341,9 @@
 x_focus_on_frame (f)
      struct frame *f;
 {
+#if 0  /* This proves to be unpleasant.  */
   x_raise_frame (f);
+#endif
 #if 0
   /* I don't think that the ICCCM allows programs to do things like this
      without the interaction of the window manager.  Whatever you end up