Mercurial > emacs
comparison src/xselect.c @ 111512:4f757d8e8ed7
Apply XAtom revork patches from Julien Danjou.
* xsettings.c (init_xsettings): Use already fetch atoms.
* xsmfns.c (create_client_leader_window): Use SM_CLIENT_ID atom
from dpyinfo.
* xselect.c (Fx_send_client_event): Split and create
x_send_client_event.
* lisp.h: Do not EXFUN Fx_send_client_event.
* xterm.c (x_set_frame_alpha): Use _NET_WM_WINDOW_OPACITY atom
from dpyinfo.
(wm_supports): Use atoms from dpyinfo.
(do_ewmh_fullscreen): Use atoms from dpyinfo.
(x_ewmh_activate_frame): Use atoms from dpyinfo.
(xembed_set_info): Use atoms from dpyinfo.
(x_term_init): Fetch _XEMBED_INFO, _NET_SUPPORTED,
_NET_SUPPORTING_WM_CHECK, _NET_WM_WINDOW_OPACITY and
_NET_ACTIVE_WINDOW, XSETTINGS atoms.
Get all atoms in one round-trip.
(set_wm_state): Use x_send_client_event rather than
Fx_send_client_event, using Atom directly.
(x_ewmh_activate_frame): Ditto.
(x_set_sticky): Pass atoms to set_wm_state.
(do_ewmh_fullscreen): Ditto.
* xterm.h (x_display_info): Add Xatom_net_supported,
Xatom_net_supporting_wm_check, Xatom_net_active_window,
Xatom_net_wm_window_opacity, Xatom_XEMBED_INFO, SM_CLIENT_ID.
* xfns.c (Fx_show_tip): Fix typo in docstring.
author | Jan D. <jan.h.d@swipnet.se> |
---|---|
date | Fri, 12 Nov 2010 10:31:44 +0100 |
parents | c403c2e0a620 |
children | d61a54d15a90 |
comparison
equal
deleted
inserted
replaced
111511:9b8b83a18b1c | 111512:4f757d8e8ed7 |
---|---|
2525 If more values than fits into the event is given, the excessive values | 2525 If more values than fits into the event is given, the excessive values |
2526 are ignored. */) | 2526 are ignored. */) |
2527 (Lisp_Object display, Lisp_Object dest, Lisp_Object from, Lisp_Object message_type, Lisp_Object format, Lisp_Object values) | 2527 (Lisp_Object display, Lisp_Object dest, Lisp_Object from, Lisp_Object message_type, Lisp_Object format, Lisp_Object values) |
2528 { | 2528 { |
2529 struct x_display_info *dpyinfo = check_x_display_info (display); | 2529 struct x_display_info *dpyinfo = check_x_display_info (display); |
2530 | |
2531 x_send_client_event(display, dest, from, | |
2532 XInternAtom (dpyinfo->display, SDATA (message_type), False), | |
2533 format, values); | |
2534 | |
2535 return Qnil; | |
2536 } | |
2537 | |
2538 void | |
2539 x_send_client_event (Lisp_Object display, Lisp_Object dest, Lisp_Object from, Atom message_type, Lisp_Object format, Lisp_Object values) | |
2540 { | |
2541 struct x_display_info *dpyinfo = check_x_display_info (display); | |
2530 Window wdest; | 2542 Window wdest; |
2531 XEvent event; | 2543 XEvent event; |
2532 Lisp_Object cons; | 2544 Lisp_Object cons; |
2533 int size; | 2545 int size; |
2534 struct frame *f = check_x_frame (from); | 2546 struct frame *f = check_x_frame (from); |
2582 for (cons = values, size = 0; CONSP (cons); cons = XCDR (cons), ++size) | 2594 for (cons = values, size = 0; CONSP (cons); cons = XCDR (cons), ++size) |
2583 ; | 2595 ; |
2584 | 2596 |
2585 BLOCK_INPUT; | 2597 BLOCK_INPUT; |
2586 | 2598 |
2587 event.xclient.message_type | 2599 event.xclient.message_type = message_type; |
2588 = XInternAtom (dpyinfo->display, SDATA (message_type), False); | |
2589 event.xclient.display = dpyinfo->display; | 2600 event.xclient.display = dpyinfo->display; |
2590 | 2601 |
2591 /* Some clients (metacity for example) expects sending window to be here | 2602 /* Some clients (metacity for example) expects sending window to be here |
2592 when sending to the root window. */ | 2603 when sending to the root window. */ |
2593 event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest; | 2604 event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest; |
2608 XSendEvent (dpyinfo->display, wdest, propagate, mask, &event); | 2619 XSendEvent (dpyinfo->display, wdest, propagate, mask, &event); |
2609 XFlush (dpyinfo->display); | 2620 XFlush (dpyinfo->display); |
2610 } | 2621 } |
2611 x_uncatch_errors (); | 2622 x_uncatch_errors (); |
2612 UNBLOCK_INPUT; | 2623 UNBLOCK_INPUT; |
2613 | |
2614 return Qnil; | |
2615 } | 2624 } |
2616 | 2625 |
2617 | 2626 |
2618 void | 2627 void |
2619 syms_of_xselect (void) | 2628 syms_of_xselect (void) |