/* Parameters and display hooks for terminal devices.
Copyright (C) 1985, 1986, 1993, 1994, 2002, 2003, 2004,
- 2005, 2006 Free Software Foundation, Inc.
+ 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Emacs.
scroll_bar_move_ratio
};
+/* If the value of the frame parameter changed, whis hook is called.
+ For example, if going from fullscreen to not fullscreen this hook
+ may do something OS dependent, like extended window manager hints on X11. */
+extern void (*fullscreen_hook) P_ ((struct frame *f));
+
\f
/* Input queue declarations and hooks. */
/* Generated when an Apple event, a HICommand event, or a Services
menu event is received and the corresponding handler is
registered. Members `x' and `y' are for the event class and ID
- symbols, respectively. Member `code' points to the Apple event
- descriptor. Parameters for Non-Apple events are converted to
- those in Apple events. */
- MAC_APPLE_EVENT
+ symbols, respectively. Member `arg' is a Lisp object converted
+ from the received Apple event. Parameters for non-Apple events
+ are converted to those in Apple events. */
+ MAC_APPLE_EVENT,
+#endif
+
+#ifdef HAVE_GPM
+ GPM_CLICK_EVENT
#endif
};
meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */
};
+#ifdef HAVE_GPM
+#include <gpm.h>
+extern int handle_one_term_event (struct tty_display_info *, Gpm_Event *, struct input_event *);
+extern void term_mouse_moveto (int, int);
+
+/* Nonzero means mouse is enabled on Linux console */
+extern int term_gpm;
+
+/* The id of the terminal device for which we have gpm support. */
+extern int gpm_tty;
+#endif
+
#endif /* CONSP */
\f
+struct mac_display_info;
+struct w32_display_info;
+
/* Terminal-local parameters. */
struct terminal
{
/* The number of frames that are on this terminal. */
int reference_count;
-
+
+ /* Nonzero while deleting this terminal. Used to protect against
+ recursive calls to delete_terminal_hook. */
+ int deleted;
+
/* The type of the terminal device. */
enum output_method type;
- /* The name of the terminal device. Do not use this to identify the device. */
+ /* The name of the terminal device. Do not use this to uniquely
+ identify a terminal; the same device may be opened multiple
+ times. */
char *name;
#ifdef MULTI_KBOARD
{
struct tty_display_info *tty; /* termchar.h */
struct x_display_info *x; /* xterm.h */
+ struct w32_display_info *w32; /* w32term.h */
+ struct mac_display_info *mac; /* macterm.h */
} display_info;
\f
windows. */
void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise));
+ /* If the value of the frame parameter changed, whis hook is called.
+ For example, if going from fullscreen to not fullscreen this hook
+ may do something OS dependent, like extended window manager hints on X11. */
+ void (*fullscreen_hook) P_ ((struct frame *f));
+
\f
/* Scroll bar hooks. */