diff options
| author | Jan Djärv | 2007-07-18 10:46:38 +0000 |
|---|---|---|
| committer | Jan Djärv | 2007-07-18 10:46:38 +0000 |
| commit | b7e33a4397a193b403c2977982c70f943d2f4fc7 (patch) | |
| tree | 33b2b449b2c8097b9f9bc464745e36511990bedd | |
| parent | 457a6b0a0736916991f4801d8065dcf5ac040486 (diff) | |
| download | emacs-b7e33a4397a193b403c2977982c70f943d2f4fc7.tar.gz emacs-b7e33a4397a193b403c2977982c70f943d2f4fc7.zip | |
(x_ewmh_activate_frame): New function.
(XTframe_raise_lower): Move code to x_ewmh_activate_frame.
| -rw-r--r-- | src/xterm.c | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/src/xterm.c b/src/xterm.c index 154465b7758..2e8fca79156 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -8853,38 +8853,36 @@ x_lower_frame (f) | |||
| 8853 | } | 8853 | } |
| 8854 | } | 8854 | } |
| 8855 | 8855 | ||
| 8856 | /* Activate frame with Extended Window Manager Hints */ | ||
| 8857 | |||
| 8858 | void | ||
| 8859 | x_ewmh_activate_frame (f) | ||
| 8860 | FRAME_PTR f; | ||
| 8861 | { | ||
| 8862 | /* See Window Manager Specification/Extended Window Manager Hints at | ||
| 8863 | http://freedesktop.org/wiki/Standards_2fwm_2dspec */ | ||
| 8864 | |||
| 8865 | const char *atom = "_NET_ACTIVE_WINDOW"; | ||
| 8866 | if (f->async_visible && wm_supports (f, atom)) | ||
| 8867 | { | ||
| 8868 | Lisp_Object frame; | ||
| 8869 | XSETFRAME (frame, f); | ||
| 8870 | Fx_send_client_event (frame, make_number (0), frame, | ||
| 8871 | make_unibyte_string (atom, strlen (atom)), | ||
| 8872 | make_number (32), | ||
| 8873 | Fcons (make_number (1), | ||
| 8874 | Fcons (make_number (last_user_time), | ||
| 8875 | Qnil))); | ||
| 8876 | } | ||
| 8877 | } | ||
| 8878 | |||
| 8856 | static void | 8879 | static void |
| 8857 | XTframe_raise_lower (f, raise_flag) | 8880 | XTframe_raise_lower (f, raise_flag) |
| 8858 | FRAME_PTR f; | 8881 | FRAME_PTR f; |
| 8859 | int raise_flag; | 8882 | int raise_flag; |
| 8860 | { | 8883 | { |
| 8861 | if (raise_flag) | 8884 | if (raise_flag) |
| 8862 | { | 8885 | x_raise_frame (f); |
| 8863 | /* The following code is needed for `raise-frame' to work on | ||
| 8864 | some versions of metacity; see Window Manager | ||
| 8865 | Specification/Extended Window Manager Hints at | ||
| 8866 | http://freedesktop.org/wiki/Standards_2fwm_2dspec */ | ||
| 8867 | |||
| 8868 | #if 0 | ||
| 8869 | /* However, on other versions (metacity 2.17.2-1.fc7), it | ||
| 8870 | reportedly causes hangs when resizing frames. */ | ||
| 8871 | |||
| 8872 | const char *atom = "_NET_ACTIVE_WINDOW"; | ||
| 8873 | if (f->async_visible && wm_supports (f, atom)) | ||
| 8874 | { | ||
| 8875 | Lisp_Object frame; | ||
| 8876 | XSETFRAME (frame, f); | ||
| 8877 | Fx_send_client_event (frame, make_number (0), frame, | ||
| 8878 | make_unibyte_string (atom, strlen (atom)), | ||
| 8879 | make_number (32), | ||
| 8880 | Fcons (make_number (1), | ||
| 8881 | Fcons (make_number (last_user_time), | ||
| 8882 | Qnil))); | ||
| 8883 | } | ||
| 8884 | else | ||
| 8885 | #endif | ||
| 8886 | x_raise_frame (f); | ||
| 8887 | } | ||
| 8888 | else | 8886 | else |
| 8889 | x_lower_frame (f); | 8887 | x_lower_frame (f); |
| 8890 | } | 8888 | } |