summaryrefslogtreecommitdiff
path: root/src/xterm.h
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2010-11-12 10:31:44 +0100
committerJan Djärv <jan.h.d@swipnet.se>2010-11-12 10:31:44 +0100
commit2d9074ba9a5abaa7956e905a02ea180984f0540f (patch)
tree2c34e3b3af1b7d783d48146bb72db4eb99901a2f /src/xterm.h
parentc869cc377478d21689d00c1cdc7e690905d8891c (diff)
downloademacs-2d9074ba9a5abaa7956e905a02ea180984f0540f.tar.gz
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.
Diffstat (limited to 'src/xterm.h')
-rw-r--r--src/xterm.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/xterm.h b/src/xterm.h
index 1d144b3b704..fbfb043601a 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -270,7 +270,7 @@ struct x_display_info
Atom Xatom_Scrollbar;
/* Atom used in XEmbed client messages. */
- Atom Xatom_XEMBED;
+ Atom Xatom_XEMBED, Xatom_XEMBED_INFO;;
/* The frame (if any) which has the X window that has keyboard focus.
Zero if none. This is examined by Ffocus_frame in xfns.c. Note
@@ -332,13 +332,15 @@ struct x_display_info
/* Extended window manager hints, Atoms supported by the window manager and
atoms for settig the window type. */
+ Atom Xatom_net_supported, Xatom_net_supporting_wm_check;
Atom *net_supported_atoms;
int nr_net_supported_atoms;
Window net_supported_window;
Atom Xatom_net_window_type, Xatom_net_window_type_tooltip;
+ Atom Xatom_net_active_window;
/* Atoms dealing with EWMH (i.e. _NET_...) */
- Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen_atom,
+ Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen,
Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert,
Xatom_net_wm_state_sticky, Xatom_net_frame_extents;
@@ -348,6 +350,11 @@ struct x_display_info
/* Frame name and icon name */
Atom Xatom_net_wm_name, Xatom_net_wm_icon_name;
+ /* Frame opacity */
+ Atom Xatom_net_wm_window_opacity;
+
+ /* SM */
+ Atom Xatom_SM_CLIENT_ID;
};
#ifdef HAVE_X_I18N
@@ -1011,6 +1018,13 @@ extern void x_handle_selection_notify (XSelectionEvent *);
extern void x_handle_selection_event (struct input_event *);
extern void x_clear_frame_selections (struct frame *);
+extern void x_send_client_event (Lisp_Object display,
+ Lisp_Object dest,
+ Lisp_Object from,
+ Atom message_type,
+ Lisp_Object format,
+ Lisp_Object values);
+
extern int x_handle_dnd_message (struct frame *,
XClientMessageEvent *,
struct x_display_info *,