diff options
Diffstat (limited to 'src/xterm.c')
-rw-r--r-- | src/xterm.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/src/xterm.c b/src/xterm.c index 6fdaaa83d93..277f0431a3b 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9022,23 +9022,10 @@ void x_raise_frame (f) struct frame *f; { - Lisp_Object frame; - const char *atom = "_NET_ACTIVE_WINDOW"; - BLOCK_INPUT; if (f->async_visible) 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; } @@ -9064,7 +9051,22 @@ XTframe_raise_lower (f, raise_flag) int raise_flag; { if (raise_flag) - x_raise_frame (f); + { + Lisp_Object frame; + const char *atom = "_NET_ACTIVE_WINDOW"; + + x_raise_frame (f); + /* See Window Manager Specification/Extended Window Manager Hints at + http://freedesktop.org/wiki/Standards_2fwm_2dspec */ + + XSETFRAME (frame, f); + 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))); + } else x_lower_frame (f); } |