Mercurial > emacs
changeset 73630:52c60387f8d4
* xterm.c (x_raise_frame): Send _NET_ACTIVE_WINDOW when raising the
window.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Fri, 03 Nov 2006 08:58:39 +0000 |
parents | df25a33a90b0 |
children | 4ec24926fb8f |
files | src/ChangeLog src/xterm.c |
diffstat | 2 files changed, 23 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Fri Nov 03 00:24:26 2006 +0000 +++ b/src/ChangeLog Fri Nov 03 08:58:39 2006 +0000 @@ -1,3 +1,8 @@ +2006-11-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * xterm.c (x_raise_frame): Send _NET_ACTIVE_WINDOW when raising the + window. + 2006-11-02 Juanma Barranquero <lekktu@gmail.com> * emacs.c (Fkill_emacs): Fix typo in docstring.
--- a/src/xterm.c Fri Nov 03 00:24:26 2006 +0000 +++ b/src/xterm.c Fri Nov 03 08:58:39 2006 +0000 @@ -8607,13 +8607,25 @@ x_raise_frame (f) struct frame *f; { + Lisp_Object frame; + const char *atom = "_NET_ACTIVE_WINDOW"; + + BLOCK_INPUT; if (f->async_visible) - { - BLOCK_INPUT; - XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f)); - XFlush (FRAME_X_DISPLAY (f)); - UNBLOCK_INPUT; - } + XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f)); + + XSETFRAME (frame, f); + /* See Window Manager Specification/Extended Window Manager Hints at + http://freedesktop.org/wiki/Standards_2fwm_2dspec */ + + Fx_send_client_event (frame, make_number (0), frame, + make_unibyte_string (atom, strlen (atom)), + make_number (32), + Fcons (make_number (1), + Fcons (make_number (time (NULL) * 1000), + Qnil))); + XFlush (FRAME_X_DISPLAY (f)); + UNBLOCK_INPUT; } /* Lower frame F. */