/* Definitions and headers for communication with X protocol.
- Copyright (C) 1989, 1993-1994, 1998-2014 Free Software Foundation,
+ Copyright (C) 1989, 1993-1994, 1998-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* This says how to access this display in Xlib. */
Display *display;
+ /* A connection number (file descriptor) for the display. */
+ int connection;
+
/* This is a cons cell of the form (NAME . FONT-LIST-CACHE). */
Lisp_Object name_list_element;
struct x_output
{
-#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
+#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
/* Height of menu bar widget, in pixels. This value
is not meaningful if the menubar is turned off. */
int menubar_height;
GtkWidget *menubar_widget;
/* The tool bar in this frame */
GtkWidget *toolbar_widget;
-#ifdef HAVE_GTK_HANDLE_BOX_NEW
-/* The handle box that makes the tool bar detachable. */
- GtkWidget *handlebox_widget;
-#endif
/* True if tool bar is packed into the hbox widget (i.e. vertical). */
bool_bf toolbar_in_hbox : 1;
bool_bf toolbar_is_packed : 1;
false, tell Xt not to wait. */
bool_bf wait_for_wm : 1;
- /* True if _NET_WM_STATE_HIDDEN is set for this frame. */
- bool_bf net_wm_state_hidden_seen : 1;
-
#ifdef HAVE_X_I18N
/* Input context (currently, this means Compose key handler setup). */
XIC xic;
int move_offset_left;
};
+/* Extreme 'short' and 'long' values suitable for libX11. */
+#define X_SHRT_MAX 0x7fff
+#define X_SHRT_MIN (-1 - X_SHRT_MAX)
+#define X_LONG_MAX 0x7fffffff
+#define X_LONG_MIN (-1 - X_LONG_MAX)
+#define X_ULONG_MAX 0xffffffffUL
+
#define No_Cursor (None)
enum
int whole;
#endif
- /* 1 if the scroll bar is horizontal. */
+ /* True if the scroll bar is horizontal. */
bool horizontal;
};
/* Defined in xterm.c */
-extern int x_text_icon (struct frame *, const char *);
+extern bool x_text_icon (struct frame *, const char *);
extern void x_catch_errors (Display *);
extern void x_check_errors (Display *, const char *)
ATTRIBUTE_FORMAT_PRINTF (2, 0);
return WidthOfScreen (dpyinfo->screen);
}
+INLINE void
+x_display_set_last_user_time (struct x_display_info *dpyinfo, Time t)
+{
+#ifdef ENABLE_CHECKING
+ eassert (t <= X_ULONG_MAX);
+#endif
+ dpyinfo->last_user_time = t;
+}
+
extern void x_set_sticky (struct frame *, Lisp_Object, Lisp_Object);
extern void x_wait_for_event (struct frame *, int);
extern void x_clear_under_internal_border (struct frame *f);
Lisp_Object format,
Lisp_Object values);
-extern int x_handle_dnd_message (struct frame *,
- const XClientMessageEvent *,
- struct x_display_info *,
- struct input_event *);
+extern bool x_handle_dnd_message (struct frame *,
+ const XClientMessageEvent *,
+ struct x_display_info *,
+ struct input_event *);
extern int x_check_property_data (Lisp_Object);
extern void x_fill_property_data (Display *,
Lisp_Object,
/* Defined in xsmfns.c */
#ifdef HAVE_X_SM
extern void x_session_initialize (struct x_display_info *dpyinfo);
-extern int x_session_have_connection (void);
+extern bool x_session_have_connection (void);
extern void x_session_close (void);
#endif
-/* Defined in xterm.c */
-
-extern Lisp_Object Qx_gtk_map_stock;
/* Is the frame embedded into another application? */