aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1993-11-24 06:39:54 +0000
committerRichard M. Stallman1993-11-24 06:39:54 +0000
commit1fb20991bfc22d30d96576473dc2178649e8a5c2 (patch)
tree9095c133caa9f0f8bb05d87d1caecef894638b13 /src
parent7928f0b5a24a7feaa0a7b7eafda6caaa30a38d71 (diff)
downloademacs-1fb20991bfc22d30d96576473dc2178649e8a5c2.tar.gz
emacs-1fb20991bfc22d30d96576473dc2178649e8a5c2.zip
(XTread_socket): Really handle Xatom_wm_window_moved events.
(XTread_socket): Generate delete_window_event's.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 1b398a0b032..5d8470296b3 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -2692,9 +2692,17 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
2692 struct frame *f = x_window_to_frame (event.xclient.window); 2692 struct frame *f = x_window_to_frame (event.xclient.window);
2693 2693
2694 if (f) 2694 if (f)
2695 if (numchars > 0) 2695 {
2696 { 2696 if (numchars == 0)
2697 } 2697 abort ();
2698
2699 bufp->kind = delete_window_event;
2700 XSET (bufp->frame_or_window, Lisp_Frame, f);
2701 bufp++;
2702
2703 count += 1;
2704 numchars -= 1;
2705 }
2698 } 2706 }
2699 } 2707 }
2700 else if (event.xclient.message_type == Xatom_wm_configure_denied) 2708 else if (event.xclient.message_type == Xatom_wm_configure_denied)
@@ -2703,9 +2711,16 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
2703 else if (event.xclient.message_type == Xatom_wm_window_moved) 2711 else if (event.xclient.message_type == Xatom_wm_window_moved)
2704 { 2712 {
2705 int new_x, new_y; 2713 int new_x, new_y;
2706 2714 struct frame *f = x_window_to_frame (event.xclient.window);
2715
2707 new_x = event.xclient.data.s[0]; 2716 new_x = event.xclient.data.s[0];
2708 new_y = event.xclient.data.s[1]; 2717 new_y = event.xclient.data.s[1];
2718
2719 if (f)
2720 {
2721 f->display.x->left_pos = new_x;
2722 f->display.x->top_pos = new_y;
2723 }
2709 } 2724 }
2710 } 2725 }
2711 break; 2726 break;
@@ -4326,7 +4341,9 @@ x_set_mouse_position (f, x, y)
4326x_focus_on_frame (f) 4341x_focus_on_frame (f)
4327 struct frame *f; 4342 struct frame *f;
4328{ 4343{
4344#if 0 /* This proves to be unpleasant. */
4329 x_raise_frame (f); 4345 x_raise_frame (f);
4346#endif
4330#if 0 4347#if 0
4331 /* I don't think that the ICCCM allows programs to do things like this 4348 /* I don't think that the ICCCM allows programs to do things like this
4332 without the interaction of the window manager. Whatever you end up 4349 without the interaction of the window manager. Whatever you end up