Mercurial > emacs
changeset 3943:cbdf67dd68d0
* xterm.c (frame_highlight, frame_unhighlight): Don't test
Vx_no_window_manager. BLOCK_INPUT around the border manipulation
calls.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Thu, 01 Jul 1993 04:04:32 +0000 |
parents | 877f540d9717 |
children | 5e740ac08e39 |
files | src/xterm.c |
diffstat | 1 files changed, 16 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xterm.c Thu Jul 01 03:31:58 1993 +0000 +++ b/src/xterm.c Thu Jul 01 04:04:32 1993 +0000 @@ -1245,9 +1245,14 @@ frame_highlight (frame) struct frame *frame; { - if (! EQ (Vx_no_window_manager, Qnil)) - XSetWindowBorder (x_current_display, FRAME_X_WINDOW (frame), - frame->display.x->border_pixel); + /* We used to only do this if Vx_no_window_manager was non-nil, but + the ICCCM (section 4.1.6) says that the window's border pixmap + and border pixel are window attributes which are "private to the + client", so we can always change it to whatever we want. */ + BLOCK_INPUT; + XSetWindowBorder (x_current_display, FRAME_X_WINDOW (frame), + frame->display.x->border_pixel); + UNBLOCK_INPUT; x_display_cursor (frame, 1); } @@ -1255,9 +1260,14 @@ frame_unhighlight (frame) struct frame *frame; { - if (! EQ (Vx_no_window_manager, Qnil)) - XSetWindowBorderPixmap (x_current_display, FRAME_X_WINDOW (frame), - frame->display.x->border_tile); + /* We used to only do this if Vx_no_window_manager was non-nil, but + the ICCCM (section 4.1.6) says that the window's border pixmap + and border pixel are window attributes which are "private to the + client", so we can always change it to whatever we want. */ + BLOCK_INPUT; + XSetWindowBorderPixmap (x_current_display, FRAME_X_WINDOW (frame), + frame->display.x->border_tile); + UNBLOCK_INPUT; x_display_cursor (frame, 1); } #else /* ! defined (HAVE_X11) */