annotate src/termhooks.h @ 1869:30eb06b22ae4

* fileio.c (Fdo_auto_save): If NO_MESSAGE is non-nil, don't tell users that buffers have shrunk a lot. This is called when Emacs is crashing, so we don't want to run any code that isn't absolutely necessary. Also, autosave buffers which don't have specially handled autosave file names first. * fileio.c (Fexpand_file_name): Pass DEFALT through Fexpand_file_name before using it. * fileio.c (Fexpand_file_name): Doc fix.
author Jim Blandy <jimb@redhat.com>
date Sun, 14 Feb 1993 14:37:33 +0000
parents 04fb1d3d6992
children 73ce9dd21093
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Hooks by which low level terminal operations
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 can be made to call other routines.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
3 Copyright (C) 1985, 1986, 1992, 1993 Free Software Foundation, Inc.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 485
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 any later version.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
21
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
22 /* Miscellanea. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
23
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
24 /* If nonzero, send all terminal output characters to this stream also. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
25 extern FILE *termscript;
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
26
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
27
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
28 /* Text display hooks. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 extern int (*cursor_to_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 extern int (*raw_cursor_to_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 extern int (*clear_to_end_hook) ();
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
34 extern int (*clear_frame_hook) ();
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 extern int (*clear_end_of_line_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 extern int (*ins_del_lines_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 extern int (*change_line_highlight_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 extern int (*reassert_line_highlight_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 extern int (*insert_glyphs_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 extern int (*write_glyphs_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 extern int (*delete_glyphs_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 extern int (*ring_bell_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 extern int (*reset_terminal_modes_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 extern int (*set_terminal_modes_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 extern int (*update_begin_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 extern int (*update_end_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 extern int (*set_terminal_window_hook) ();
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
54
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
55
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
56 /* Multi-frame and mouse support hooks. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
58 enum scrollbar_part {
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
59 scrollbar_above_handle,
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
60 scrollbar_handle,
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
61 scrollbar_below_handle
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
62 };
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
63
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
64 /* Return the current position of the mouse.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
65
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
66 Set *f to the frame the mouse is in, or zero if the mouse is in no
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
67 Emacs frame. If it is set to zero, all the other arguments are
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
68 garbage.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
69
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
70 If the motion started in a scrollbar, set *bar_window to the
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
71 scrollbar's window, *part to the part the mouse is currently over,
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
72 *x to the position of the mouse along the scrollbar, and *y to the
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
73 overall length of the scrollbar.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
74
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
75 Otherwise, set *bar_window to Qnil, and *x and *y to the column and
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
76 row of the character cell the mouse is over.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
77
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
78 Set *time to the time the mouse was at the returned position.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
79
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
80 This should clear mouse_moved until the next motion
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
81 event arrives. */
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
82 extern void (*mouse_position_hook) ( /* FRAME_PTR *f,
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
83 Lisp_Object *bar_window,
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
84 enum scrollbar_part *part,
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
85 Lisp_Object *x,
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
86 Lisp_Object *y,
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 708
diff changeset
87 unsigned long *time */ );
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
89 /* The window system handling code should set this if the mouse has
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
90 moved since the last call to the mouse_position_hook. Calling that
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
91 hook should clear this. */
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
92 extern int mouse_moved;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
94 /* When a frame's focus redirection is changed, this hook tells the
357
1ad871406b12 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 338
diff changeset
95 window system code to re-decide where to put the highlight. Under
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
96 X, this means that Emacs lies about where the focus is. */
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
97 extern void (*frame_rehighlight_hook) ( /* void */ );
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
98
1821
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
99 /* If we're displaying frames using a window system that can stack
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
100 frames on top of each other, this hook allows you to bring a frame
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
101 to the front, or bury it behind all the other windows. If this
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
102 hook is zero, that means the device we're displaying on doesn't
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
103 support overlapping frames, so there's no need to raise or lower
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
104 anything.
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
105
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
106 If RAISE is non-zero, F is brought to the front, before all other
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
107 windows. If RAISE is zero, F is sent to the back, behind all other
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
108 windows. */
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
109 extern void (*frame_raise_lower_hook) ( /* FRAME_PTR f, int raise */ );
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
110
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
111
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
112 /* Scrollbar hooks. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
113
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
114 /* The representation of scrollbars is determined by the code which
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
115 implements them, except for one thing: they must be represented by
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
116 lisp objects. This allows us to place references to them in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
117 Lisp_Windows without worrying about those references becoming
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
118 dangling references when the scrollbar is destroyed.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
119
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
120 The window-system-independent portion of Emacs just refers to
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
121 scrollbars via their windows, and never looks inside the scrollbar
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
122 representation; it always uses hook functions to do all the
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
123 scrollbar manipulation it needs.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
124
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
125 The `vertical_scrollbar' field of a Lisp_Window refers to that
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
126 window's scrollbar, or is nil if the window doesn't have a
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
127 scrollbar.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
128
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
129 The `scrollbars' and `condemned_scrollbars' fields of a Lisp_Frame
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
130 are free for use by the scrollbar implementation in any way it sees
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
131 fit. They are marked by the garbage collector. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
132
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
133
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
134 /* Set the vertical scrollbar for WINDOW to have its upper left corner
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
135 at (TOP, LEFT), and be LENGTH rows high. Set its handle to
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
136 indicate that we are displaying PORTION characters out of a total
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
137 of WHOLE characters, starting at POSITION. If WINDOW doesn't yet
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
138 have a scrollbar, create one for it. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
139 extern void (*set_vertical_scrollbar_hook)
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
140 ( /* struct window *window,
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
141 int portion, int whole, int position */ );
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
142
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
143
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
144 /* The following three hooks are used when we're doing a thorough
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
145 redisplay of the frame. We don't explicitly know which scrollbars
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
146 are going to be deleted, because keeping track of when windows go
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
147 away is a real pain - can you say set-window-configuration?
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
148 Instead, we just assert at the beginning of redisplay that *all*
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
149 scrollbars are to be removed, and then save scrollbars from the
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
150 firey pit when we actually redisplay their window. */
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
151
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
152 /* Arrange for all scrollbars on FRAME to be removed at the next call
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
153 to `*judge_scrollbars_hook'. A scrollbar may be spared if
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
154 `*redeem_scrollbar_hook' is applied to its window before the judgement.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
155
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
156 This should be applied to each frame each time its window tree is
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
157 redisplayed, even if it is not displaying scrollbars at the moment;
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
158 if the HAS_SCROLLBARS flag has just been turned off, only calling
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
159 this and the judge_scrollbars_hook will get rid of them.
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
160
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
161 If non-zero, this hook should be safe to apply to any frame,
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
162 whether or not it can support scrollbars, and whether or not it is
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
163 currently displaying them. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
164 extern void (*condemn_scrollbars_hook)( /* FRAME_PTR *frame */ );
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
165
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
166 /* Unmark WINDOW's scrollbar for deletion in this judgement cycle.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
167 Note that it's okay to redeem a scrollbar that is not condemned. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
168 extern void (*redeem_scrollbar_hook)( /* struct window *window */ );
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
169
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
170 /* Remove all scrollbars on FRAME that haven't been saved since the
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
171 last call to `*condemn_scrollbars_hook'.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
172
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
173 This should be applied to each frame after each time its window
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
174 tree is redisplayed, even if it is not displaying scrollbars at the
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
175 moment; if the HAS_SCROLLBARS flag has just been turned off, only
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
176 calling this and condemn_scrollbars_hook will get rid of them.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
177
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
178 If non-zero, this hook should be safe to apply to any frame,
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
179 whether or not it can support scrollbars, and whether or not it is
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
180 currently displaying them. */
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
181 extern void (*judge_scrollbars_hook)( /* FRAME_PTR *FRAME */ );
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
182
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
183
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
184 /* Input queue declarations and hooks. */
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
185
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
186 extern int (*read_socket_hook) ();
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
187
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
188 /* Expedient hack: only provide the below definitions to files that
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
189 are prepared to handle lispy things. XINT is defined iff lisp.h
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
190 has been included before this file. */
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
191 #ifdef XINT
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
192
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
193 /* The keyboard input buffer is an array of these structures. Each one
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
194 represents some sort of input event - a keystroke, a mouse click, or
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
195 a window system event. These get turned into their lispy forms when
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
196 they are removed from the event queue. */
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
197
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
198 struct input_event {
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
199
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
200 /* What kind of event was this? */
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
201 enum {
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
202 no_event, /* nothing happened. This should never
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
203 actually appear in the event queue. */
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
204 ascii_keystroke, /* The ASCII code is in .code.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
205 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
206 which the key was typed.
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
207 Note that this includes meta-keys, and
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
208 the modifiers field of the event
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
209 is unused.
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
210 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
211 milliseconds) for the keystroke. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
212 non_ascii_keystroke, /* .code is a number identifying the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
213 function key. A code N represents
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
214 a key whose name is
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
215 function_key_names[N]; function_key_names
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
216 is a table in keyboard.c to which you
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
217 should feel free to add missing keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
218 .modifiers holds the state of the
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
219 modifier keys.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
220 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
221 which the key was typed.
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
222 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
223 milliseconds) for the keystroke. */
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
224 mouse_click, /* The button number is in .code; it must
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
225 be >= 0 and < NUM_MOUSE_BUTTONS, defined
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
226 below.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227 .modifiers holds the state of the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
228 modifier keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
229 .x and .y give the mouse position,
708
030fb4635335 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 648
diff changeset
230 in characters, within the window.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
231 .frame_or_window gives the frame
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
232 the mouse click occurred in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234 milliseconds) for the click. */
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
235 scrollbar_click, /* .code gives the number of the mouse button
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
236 that was clicked.
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
237 .modifiers holds the state of the modifier
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
238 keys.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
239 .part is a lisp symbol indicating which
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
240 part of the scrollbar got clicked.
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
241 .x gives the distance from the start of the
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
242 scroll bar of the click; .y gives the total
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
243 length of the scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
244 .frame_or_window gives the window
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
245 whose scrollbar was clicked in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
246 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
247 milliseconds) for the click. */
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
248 } kind;
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
249
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
250 Lisp_Object code;
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
251 enum scrollbar_part part;
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 708
diff changeset
252
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
253 /* This field is copied into a vector while the event is in the queue,
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
254 so that garbage collections won't kill it. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
255 Lisp_Object frame_or_window;
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
256
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257 int modifiers; /* See enum below for interpretation. */
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 708
diff changeset
258
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259 Lisp_Object x, y;
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 485
diff changeset
260 unsigned long timestamp;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
261 };
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
262
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
263 /* This is used in keyboard.c, to tell how many buttons we will need
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
264 to track the positions of. */
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
265 #define NUM_MOUSE_BUTTONS (5)
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
266
1238
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
267 /* Bits in the modifiers member of the input_event structure.
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
268 Note that reorder_modifiers assumes that the bits are in canonical
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
269 order.
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
270
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
271 The modifiers applied to mouse clicks are rather ornate. The
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
272 window-system-specific code should store mouse clicks with
1319
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
273 up_modifier or down_modifier set. Having an explicit down modifier
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
274 simplifies some of window-system-independent code; without it, the
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
275 code would have to recognize down events by checking if the event
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
276 is a mouse click lacking the click and drag modifiers.
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
277
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
278 The window-system independent code turns all up_modifier events
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
279 bits into either drag_modifier or click_modifier events. The
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
280 click_modifier has no written representation in the names of the
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
281 symbols used as event heads, but it does appear in the
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
282 Qevent_symbol_components property of the event heads. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283 enum {
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
284 up_modifier = 1, /* Only used on mouse buttons - always
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
285 turned into a click or a drag modifier
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
286 before lisp code sees the event. */
1238
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
287 alt_modifier = 2, /* Under X, the XK_Alt_[LR] keysyms. */
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
288 ctrl_modifier = 4,
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
289 hyper_modifier= 8, /* Under X, the XK_Hyper_[LR] keysyms. */
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
290 meta_modifier = 16, /* Under X, the XK_Meta_[LR] keysyms. */
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
291 shift_modifier= 32,
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
292 super_modifier= 64, /* Under X, the XK_Super_[LR] keysyms. */
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
293 down_modifier = 128, /* Only used on mouse buttons. */
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
294 drag_modifier = 256, /* This is never used in the event
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
295 queue; it's only used internally by
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
296 the window-system-independent code. */
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
297 click_modifier= 512, /* See drag_modifier. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
298 last_modifier /* This should always be one more than the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
299 highest modifier bit defined. */
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
300 };
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
301
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
302 #endif