summaryrefslogtreecommitdiff
path: root/src/xterm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c56
1 files changed, 27 insertions, 29 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 3deb518bad5..bc70bb05ac4 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -8357,7 +8357,7 @@ wm_supports (f, atomname)
prop_atom, 0, max_len, False, target_type,
&actual_type, &actual_format, &actual_size,
&bytes_remaining, &tmp_data);
-
+
if (rc != Success || actual_type != XA_WINDOW || x_had_errors_p (dpy))
{
if (tmp_data) XFree (tmp_data);
@@ -8412,7 +8412,7 @@ wm_supports (f, atomname)
rc = 0;
want_atom = XInternAtom (dpy, atomname, False);
- for (i = 0; rc == 0 && i < dpyinfo->nr_net_supported_atoms; ++i)
+ for (i = 0; rc == 0 && i < dpyinfo->nr_net_supported_atoms; ++i)
rc = dpyinfo->net_supported_atoms[i] == want_atom;
x_uncatch_errors ();
@@ -8853,38 +8853,36 @@ x_lower_frame (f)
}
}
+/* Activate frame with Extended Window Manager Hints */
+
+void
+x_ewmh_activate_frame (f)
+ FRAME_PTR f;
+{
+ /* See Window Manager Specification/Extended Window Manager Hints at
+ http://freedesktop.org/wiki/Standards_2fwm_2dspec */
+
+ const char *atom = "_NET_ACTIVE_WINDOW";
+ if (f->async_visible && wm_supports (f, atom))
+ {
+ Lisp_Object frame;
+ 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 (last_user_time),
+ Qnil)));
+ }
+}
+
static void
XTframe_raise_lower (f, raise_flag)
FRAME_PTR f;
int raise_flag;
{
if (raise_flag)
- {
- /* The following code is needed for `raise-frame' to work on
- some versions of metacity; see Window Manager
- Specification/Extended Window Manager Hints at
- http://freedesktop.org/wiki/Standards_2fwm_2dspec */
-
-#if 0
- /* However, on other versions (metacity 2.17.2-1.fc7), it
- reportedly causes hangs when resizing frames. */
-
- const char *atom = "_NET_ACTIVE_WINDOW";
- if (f->async_visible && wm_supports (f, atom))
- {
- Lisp_Object frame;
- 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 (last_user_time),
- Qnil)));
- }
- else
-#endif
- x_raise_frame (f);
- }
+ x_raise_frame (f);
else
x_lower_frame (f);
}
@@ -10649,7 +10647,7 @@ x_term_init (display_name, xrm_option, resource_name)
UNBLOCK_INPUT;
dpyinfo->kboard->Vsystem_key_alist
= call1 (Qvendor_specific_keysyms,
- build_string (vendor ? vendor : ""));
+ vendor ? build_string (vendor) : empty_unibyte_string);
BLOCK_INPUT;
}