/* Atom used in toolkit scroll bar client messages. */
Atom Xatom_Scrollbar;
+ /* Atom used in XEmbed client messages. */
+ Atom Xatom_XEMBED;
+
int cut_buffers_initialized; /* Whether we're sure they all exist */
/* The frame (if any) which has the X window that has keyboard focus.
extern void x_session_close P_ ((void));
#endif
+/* XEmbed implementation. */
+
+#define XEMBED_VERSION 0
+
+enum xembed_info
+ {
+ XEMBED_MAPPED = 1 << 0
+ };
+
+enum xembed_message
+ {
+ XEMBED_EMBEDDED_NOTIFY = 0,
+ XEMBED_WINDOW_ACTIVATE = 1,
+ XEMBED_WINDOW_DEACTIVATE = 2,
+ XEMBED_REQUEST_FOCUS = 3,
+ XEMBED_FOCUS_IN = 4,
+ XEMBED_FOCUS_OUT = 5,
+ XEMBED_FOCUS_NEXT = 6,
+ XEMBED_FOCUS_PREV = 7,
+
+ XEMBED_MODALITY_ON = 10,
+ XEMBED_MODALITY_OFF = 11,
+ XEMBED_REGISTER_ACCELERATOR = 12,
+ XEMBED_UNREGISTER_ACCELERATOR = 13,
+ XEMBED_ACTIVATE_ACCELERATOR = 14
+ };
+
+enum xembed_focus
+ {
+ XEMBED_FOCUS_CURRENT = 0,
+ XEMBED_FOCUS_FIRST = 1,
+ XEMBED_FOCUS_LAST = 2
+ };
+
+enum xembed_modifier
+ {
+ XEMBED_MODIFIER_SHIFT = 1 << 0,
+ XEMBED_MODIFIER_CONTROL = 1 << 1,
+ XEMBED_MODIFIER_ALT = 1 << 2,
+ XEMBED_MODIFIER_SUPER = 1 << 3,
+ XEMBED_MODIFIER_HYPER = 1 << 4
+ };
+
+enum xembed_accelerator
+ {
+ XEMBED_ACCELERATOR_OVERLOADED = 1 << 0
+ };
+
+/* Defined in xterm.c */
+
+extern void xembed_set_info P_ ((struct frame *f, enum xembed_info flags));
+extern void xembed_send_message P_ ((struct frame *f, Time time,
+ enum xembed_message message,
+ long detail, long data1, long data2));
+
+/* Is the frame embedded into another application? */
+
+#define FRAME_X_EMBEDDED_P(f) (FRAME_X_OUTPUT(f)->explicit_parent != 0)
+
+
#define FONT_TYPE_FOR_UNIBYTE(font, ch) 0
#define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0