/* Definitions and headers for communication with X protocol.
Copyright (C) 1989, 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006 Free Software Foundation, Inc.
+ 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
char *x_id_name;
/* The number of fonts actually stored in x_font_table.
- font_table[n] is used and valid iff 0 <= n < n_fonts. 0 <=
+ font_table[n] is used and valid if 0 <= n < n_fonts. 0 <=
n_fonts <= font_table_size and font_table[i].name != 0. */
int n_fonts;
X_WMTYPE_A,
X_WMTYPE_B
} wm_type;
+
+
+ /* Atoms that are drag and drop atoms */
+ Atom *x_dnd_atoms;
+ size_t x_dnd_atoms_size;
+ size_t x_dnd_atoms_length;
+
+ /* Extended window manager hints, Atoms supported by the window manager */
+ Atom *net_supported_atoms;
+ int nr_net_supported_atoms;
+ Window net_supported_window;
};
#ifdef HAVE_X_I18N
FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
int focus_state;
- /* The latest move we made to FRAME_OUTER_WINDOW. Saved so we can
- compensate for type A WMs (see wm_type in dpyinfo above). */
- int expected_top;
- int expected_left;
-
/* The offset we need to add to compensate for type A WMs. */
int move_offset_top;
int move_offset_left;
- /* Nonzero if we have made a move and needs to check if the WM placed us
- at the right position. */
- int check_expected_move;
+ /* The frame's left/top offsets before we call XMoveWindow. See
+ x_check_expected_move. */
+ int left_before_move;
+ int top_before_move;
};
#define No_Cursor (None)
place where the user grabbed it. If the handle isn't currently
being dragged, this is Qnil. */
Lisp_Object dragging;
+
+#ifdef USE_TOOLKIT_SCROLL_BARS
+ /* t if the background of the fringe that is adjacent to a scroll
+ bar is extended to the gap between the fringe and the bar. */
+ Lisp_Object fringe_extended_p;
+#endif
};
/* The number of elements a vector holding a struct scroll_bar needs. */
extern int x_catching_errors P_ ((void));
extern void x_uncatch_errors P_ ((void));
extern void x_clear_errors P_ ((Display *));
-extern void x_fully_uncatch_errors P_ ((void));
extern void x_set_window_size P_ ((struct frame *, int, int, int));
extern void x_set_mouse_position P_ ((struct frame *, int, int));
extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));
+extern void x_ewmh_activate_frame P_ ((struct frame *));
extern void x_raise_frame P_ ((struct frame *));
extern void x_lower_frame P_ ((struct frame *));
extern void x_make_frame_visible P_ ((struct frame *));
extern int x_alloc_lighter_color_for_widget __P ((Widget, Display*, Colormap,
unsigned long *,
double, int));
+extern void x_activate_timeout_atimer P_ ((void));
#endif
extern void x_query_colors P_ ((struct frame *f, XColor *, int));
extern void x_query_color P_ ((struct frame *f, XColor *));