X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/3477e27021dbe9366c3c1aaba80feb72f1138b29..d703a4dce564ede122f5c307889e4bd0e3f3e75c:/src/xterm.h diff --git a/src/xterm.h b/src/xterm.h index 3e92ebd231..f2aff72e3a 100644 --- a/src/xterm.h +++ b/src/xterm.h @@ -1,5 +1,5 @@ /* 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. @@ -138,6 +138,9 @@ struct x_display_info /* 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; @@ -431,7 +434,7 @@ extern void select_visual (struct x_display_info *); 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; @@ -496,10 +499,6 @@ struct x_output 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; @@ -610,9 +609,6 @@ struct x_output 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; @@ -651,6 +647,13 @@ struct x_output 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 @@ -831,7 +834,7 @@ struct scroll_bar int whole; #endif - /* 1 if the scroll bar is horizontal. */ + /* True if the scroll bar is horizontal. */ bool horizontal; }; @@ -976,7 +979,7 @@ XrmDatabase x_load_resources (Display *, const char *, const char *, /* 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); @@ -1019,6 +1022,15 @@ x_display_pixel_width (struct x_display_info *dpyinfo) 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); @@ -1037,10 +1049,10 @@ extern void x_send_client_event (Lisp_Object display, 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, @@ -1095,13 +1107,10 @@ extern void initialize_frame_menubar (struct frame *); /* 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? */