aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Djärv2008-02-07 14:07:45 +0000
committerJan Djärv2008-02-07 14:07:45 +0000
commit89f74d7c5fdda02f525fcefb960e4ec8e7dab4ce (patch)
tree9a11efcb7d7cbcf8a7b60c3a0f8fce7e8182a300
parent81c02ebe5cd0dc322e25b482930e49b6510e8570 (diff)
downloademacs-89f74d7c5fdda02f525fcefb960e4ec8e7dab4ce.tar.gz
emacs-89f74d7c5fdda02f525fcefb960e4ec8e7dab4ce.zip
(struct x_display_info): Add AtomXatom_XEMBED.
(enum xembed_info, enum xerm srmbed_message, enum xembed_focus) (enum xembed_modifier, enum xembed_accelerator): New. (xembed_set_info, xembed_send_message): Declare. (FRAME_X_EMBEDDED_P): New.
-rw-r--r--src/xterm.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/xterm.h b/src/xterm.h
index 2cc4b9eaffc..9fa2a36ae08 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -293,6 +293,9 @@ struct x_display_info
293 /* Atom used in toolkit scroll bar client messages. */ 293 /* Atom used in toolkit scroll bar client messages. */
294 Atom Xatom_Scrollbar; 294 Atom Xatom_Scrollbar;
295 295
296 /* Atom used in XEmbed client messages. */
297 Atom Xatom_XEMBED;
298
296 int cut_buffers_initialized; /* Whether we're sure they all exist */ 299 int cut_buffers_initialized; /* Whether we're sure they all exist */
297 300
298 /* The frame (if any) which has the X window that has keyboard focus. 301 /* The frame (if any) which has the X window that has keyboard focus.
@@ -1066,6 +1069,66 @@ extern int x_session_have_connection P_ ((void));
1066extern void x_session_close P_ ((void)); 1069extern void x_session_close P_ ((void));
1067#endif 1070#endif
1068 1071
1072/* XEmbed implementation. */
1073
1074#define XEMBED_VERSION 0
1075
1076enum xembed_info
1077 {
1078 XEMBED_MAPPED = 1 << 0
1079 };
1080
1081enum xembed_message
1082 {
1083 XEMBED_EMBEDDED_NOTIFY = 0,
1084 XEMBED_WINDOW_ACTIVATE = 1,
1085 XEMBED_WINDOW_DEACTIVATE = 2,
1086 XEMBED_REQUEST_FOCUS = 3,
1087 XEMBED_FOCUS_IN = 4,
1088 XEMBED_FOCUS_OUT = 5,
1089 XEMBED_FOCUS_NEXT = 6,
1090 XEMBED_FOCUS_PREV = 7,
1091
1092 XEMBED_MODALITY_ON = 10,
1093 XEMBED_MODALITY_OFF = 11,
1094 XEMBED_REGISTER_ACCELERATOR = 12,
1095 XEMBED_UNREGISTER_ACCELERATOR = 13,
1096 XEMBED_ACTIVATE_ACCELERATOR = 14
1097 };
1098
1099enum xembed_focus
1100 {
1101 XEMBED_FOCUS_CURRENT = 0,
1102 XEMBED_FOCUS_FIRST = 1,
1103 XEMBED_FOCUS_LAST = 2
1104 };
1105
1106enum xembed_modifier
1107 {
1108 XEMBED_MODIFIER_SHIFT = 1 << 0,
1109 XEMBED_MODIFIER_CONTROL = 1 << 1,
1110 XEMBED_MODIFIER_ALT = 1 << 2,
1111 XEMBED_MODIFIER_SUPER = 1 << 3,
1112 XEMBED_MODIFIER_HYPER = 1 << 4
1113 };
1114
1115enum xembed_accelerator
1116 {
1117 XEMBED_ACCELERATOR_OVERLOADED = 1 << 0
1118 };
1119
1120/* Defined in xterm.c */
1121
1122extern void xembed_set_info P_ ((struct frame *f, enum xembed_info flags));
1123extern void xembed_send_message P_ ((struct frame *f, Time time,
1124 enum xembed_message message,
1125 long detail, long data1, long data2));
1126
1127/* Is the frame embedded into another application? */
1128
1129#define FRAME_X_EMBEDDED_P(f) (FRAME_X_OUTPUT(f)->explicit_parent != 0)
1130
1131
1069#define FONT_TYPE_FOR_UNIBYTE(font, ch) 0 1132#define FONT_TYPE_FOR_UNIBYTE(font, ch) 0
1070#define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0 1133#define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0
1071 1134