Mercurial > emacs
annotate src/termhooks.h @ 75277:5b7cc1370f3f
** jpff@cs.bath.ac.uk, Jan 5: Failure to submit second netnews message
Removed due to lack of feedback.
** dooglus@gmail.com, Jan 10: problem with transparent PNG image display
Moved to TODO.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Fri, 19 Jan 2007 01:18:43 +0000 |
parents | e90d04cd455a |
children | 922696f363b0 ae304624e812 b8d9a391daf3 95d0cdf160ea |
rev | line source |
---|---|
296 | 1 /* Hooks by which low level terminal operations |
2 can be made to call other routines. | |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
73863
diff
changeset
|
3 Copyright (C) 1985, 1986, 1993, 1994, 2001, 2002, 2003, 2004, |
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
73863
diff
changeset
|
4 2005, 2006, 2007 Free Software Foundation, Inc. |
296 | 5 |
6 This file is part of GNU Emacs. | |
7 | |
8 GNU Emacs is free software; you can redistribute it and/or modify | |
9 it under the terms of the GNU General Public License as published by | |
648 | 10 the Free Software Foundation; either version 2, or (at your option) |
296 | 11 any later version. |
12 | |
13 GNU Emacs is distributed in the hope that it will be useful, | |
14 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 GNU General Public License for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
19 along with GNU Emacs; see the file COPYING. If not, write to | |
64084 | 20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
21 Boston, MA 02110-1301, USA. */ | |
296 | 22 |
1782
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 /* Miscellanea. */ |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
25 |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
26 struct glyph; |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
27 struct frame; |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
28 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
29 /* 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
|
30 extern FILE *termscript; |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
31 |
21515 | 32 /* Only use prototypes when lisp.h has been included. */ |
33 #ifndef P_ | |
34 #define P_(X) () | |
35 #endif | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
36 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
37 /* Text display hooks. */ |
296 | 38 |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
39 extern void (*cursor_to_hook) P_ ((int vpos, int hpos)); |
21515 | 40 extern void (*raw_cursor_to_hook) P_ ((int, int)); |
296 | 41 |
21515 | 42 extern void (*clear_to_end_hook) P_ ((void)); |
43 extern void (*clear_frame_hook) P_ ((void)); | |
44 extern void (*clear_end_of_line_hook) P_ ((int)); | |
296 | 45 |
21515 | 46 extern void (*ins_del_lines_hook) P_ ((int, int)); |
296 | 47 |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
48 extern void (*insert_glyphs_hook) P_ ((struct glyph *s, int n)); |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
49 extern void (*write_glyphs_hook) P_ ((struct glyph *s, int n)); |
21515 | 50 extern void (*delete_glyphs_hook) P_ ((int)); |
296 | 51 |
21515 | 52 extern void (*ring_bell_hook) P_ ((void)); |
296 | 53 |
21515 | 54 extern void (*reset_terminal_modes_hook) P_ ((void)); |
55 extern void (*set_terminal_modes_hook) P_ ((void)); | |
56 extern void (*update_begin_hook) P_ ((struct frame *)); | |
57 extern void (*update_end_hook) P_ ((struct frame *)); | |
58 extern void (*set_terminal_window_hook) P_ ((int)); | |
296 | 59 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
60 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
61 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
62 /* Multi-frame and mouse support hooks. */ |
296 | 63 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
64 enum scroll_bar_part { |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
65 scroll_bar_above_handle, |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
66 scroll_bar_handle, |
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
67 scroll_bar_below_handle, |
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
68 scroll_bar_up_arrow, |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
69 scroll_bar_down_arrow, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
70 scroll_bar_to_top, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
71 scroll_bar_to_bottom, |
26787
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
72 scroll_bar_end_scroll, |
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
73 scroll_bar_move_ratio |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
74 }; |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
75 |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
76 /* 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
|
77 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
78 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
|
79 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
|
80 garbage. |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
81 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
82 If the motion started in a scroll bar, set *bar_window to the |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
83 scroll bar's window, *part to the part the mouse is currently over, |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
84 *x to the position of the mouse along the scroll bar, and *y to the |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
85 overall length of the scroll bar. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
86 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
87 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
|
88 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
|
89 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
90 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
|
91 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
92 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
|
93 event arrives. */ |
21515 | 94 extern void (*mouse_position_hook) P_ ((struct frame **f, int, |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
95 Lisp_Object *bar_window, |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
96 enum scroll_bar_part *part, |
485 | 97 Lisp_Object *x, |
98 Lisp_Object *y, | |
21515 | 99 unsigned long *time)); |
296 | 100 |
485 | 101 /* The window system handling code should set this if the mouse has |
102 moved since the last call to the mouse_position_hook. Calling that | |
103 hook should clear this. */ | |
104 extern int mouse_moved; | |
296 | 105 |
766 | 106 /* When a frame's focus redirection is changed, this hook tells the |
357 | 107 window system code to re-decide where to put the highlight. Under |
485 | 108 X, this means that Emacs lies about where the focus is. */ |
21515 | 109 extern void (*frame_rehighlight_hook) P_ ((struct frame *)); |
338 | 110 |
1821
04fb1d3d6992
JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents:
1782
diff
changeset
|
111 /* 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 anything. |
04fb1d3d6992
JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents:
1782
diff
changeset
|
117 |
04fb1d3d6992
JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents:
1782
diff
changeset
|
118 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
|
119 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
|
120 windows. */ |
21515 | 121 extern void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise)); |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
122 |
73863 | 123 /* If the value of the frame parameter changed, whis hook is called. |
124 For example, if going from fullscreen to not fullscreen this hook | |
125 may do something OS dependent, like extended window manager hints on X11. */ | |
126 extern void (*fullscreen_hook) P_ ((struct frame *f)); | |
127 | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
128 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
129 /* Scroll bar hooks. */ |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
130 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
131 /* The representation of scroll bars is determined by the code which |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
132 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
|
133 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
|
134 Lisp_Windows without worrying about those references becoming |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
135 dangling references when the scroll bar is destroyed. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
136 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
137 The window-system-independent portion of Emacs just refers to |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
138 scroll bars via their windows, and never looks inside the scroll bar |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
139 representation; it always uses hook functions to do all the |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
140 scroll bar manipulation it needs. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
141 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
142 The `vertical_scroll_bar' field of a Lisp_Window refers to that |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
143 window's scroll bar, or is nil if the window doesn't have a |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
144 scroll bar. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
145 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
146 The `scroll_bars' and `condemned_scroll_bars' fields of a Lisp_Frame |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
147 are free for use by the scroll bar implementation in any way it sees |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
148 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
|
149 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
150 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
151 /* Set the vertical scroll bar for WINDOW to have its upper left corner |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
152 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
|
153 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
|
154 of WHOLE characters, starting at POSITION. If WINDOW doesn't yet |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
155 have a scroll bar, create one for it. */ |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
156 extern void (*set_vertical_scroll_bar_hook) |
21515 | 157 P_ ((struct window *window, |
158 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
|
159 |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
160 |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
161 /* The following three hooks are used when we're doing a thorough |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
162 redisplay of the frame. We don't explicitly know which scroll bars |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
163 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
|
164 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
|
165 Instead, we just assert at the beginning of redisplay that *all* |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
166 scroll bars are to be removed, and then save scroll bars from the |
14034 | 167 fiery pit when we actually redisplay their window. */ |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
168 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
169 /* Arrange for all scroll bars on FRAME to be removed at the next call |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
170 to `*judge_scroll_bars_hook'. A scroll bar may be spared if |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
171 `*redeem_scroll_bar_hook' is applied to its window before the judgement. |
1782
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 each time its window tree is |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
174 redisplayed, even if it is not displaying scroll bars at the moment; |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
175 if the HAS_SCROLL_BARS flag has just been turned off, only calling |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
176 this and the judge_scroll_bars_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
|
177 |
1782
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, |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
179 whether or not it can support scroll bars, and whether or not it is |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
180 currently displaying them. */ |
21515 | 181 extern void (*condemn_scroll_bars_hook) P_ ((struct frame *frame)); |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
182 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
183 /* Unmark WINDOW's scroll bar for deletion in this judgement cycle. |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
184 Note that it's okay to redeem a scroll bar that is not condemned. */ |
21515 | 185 extern void (*redeem_scroll_bar_hook) P_ ((struct window *window)); |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
186 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
187 /* Remove all scroll bars on FRAME that haven't been saved since the |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
188 last call to `*condemn_scroll_bars_hook'. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
189 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
190 This should be applied to each frame after each time its window |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
191 tree is redisplayed, even if it is not displaying scroll bars at the |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
192 moment; if the HAS_SCROLL_BARS flag has just been turned off, only |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
193 calling this and condemn_scroll_bars_hook will get rid of them. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
194 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
195 If non-zero, this hook should be safe to apply to any frame, |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
196 whether or not it can support scroll bars, and whether or not it is |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
197 currently displaying them. */ |
21515 | 198 extern void (*judge_scroll_bars_hook) P_ ((struct frame *FRAME)); |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
199 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
200 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
201 /* 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
|
202 |
296 | 203 /* Expedient hack: only provide the below definitions to files that |
6747
135dd9df7893
(enum event_kind): Add buffer_switch_event.
Karl Heuer <kwzh@gnu.org>
parents:
6602
diff
changeset
|
204 are prepared to handle lispy things. CONSP is defined iff lisp.h |
485 | 205 has been included before this file. */ |
4143
5c8de184cccf
* termhooks.h: In order to avoid declaring struct input_event
Jim Blandy <jimb@redhat.com>
parents:
3861
diff
changeset
|
206 #ifdef CONSP |
296 | 207 |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
208 enum event_kind |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
209 { |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
210 NO_EVENT, /* nothing happened. This should never |
296 | 211 actually appear in the event queue. */ |
4799 | 212 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
213 ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps |
4799 | 214 with modifiers applied. |
215 .modifiers holds the state of the | |
216 modifier keys. | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
217 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
218 which the key was typed. |
485 | 219 .timestamp gives a timestamp (in |
220 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
221 MULTIBYTE_CHAR_KEYSTROKE_EVENT, /* The multibyte char code is in .code, |
30750
e96da8e19cef
(enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents:
30175
diff
changeset
|
222 perhaps with modifiers applied. |
e96da8e19cef
(enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents:
30175
diff
changeset
|
223 The others are the same as |
48090 | 224 ASCII_KEYSTROKE_EVENT. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
225 NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the |
296 | 226 function key. A code N represents |
227 a key whose name is | |
228 function_key_names[N]; function_key_names | |
229 is a table in keyboard.c to which you | |
230 should feel free to add missing keys. | |
231 .modifiers holds the state of the | |
338 | 232 modifier keys. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
233 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
234 which the key was typed. |
485 | 235 .timestamp gives a timestamp (in |
236 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
237 TIMER_EVENT, /* A timer fired. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
238 MOUSE_CLICK_EVENT, /* The button number is in .code; it must |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
239 be >= 0 and < NUM_MOUSE_BUTTONS, defined |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
240 below. |
296 | 241 .modifiers holds the state of the |
242 modifier keys. | |
243 .x and .y give the mouse position, | |
708 | 244 in characters, within the window. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
245 .frame_or_window gives the frame |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
246 the mouse click occurred in. |
296 | 247 .timestamp gives a timestamp (in |
248 milliseconds) for the click. */ | |
51383
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
249 WHEEL_EVENT, /* A wheel event is generated by a |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
250 wheel on a mouse (e.g., MS |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
251 Intellimouse). |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
252 .modifiers holds the rotate |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
253 direction (up or down), and the |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
254 state of the modifier keys. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
255 .x and .y give the mouse position, |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
256 in characters, within the window. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
257 .frame_or_window gives the frame |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
258 the wheel event occurred in. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
259 .timestamp gives a timestamp (in |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
260 milliseconds) for the event. */ |
61501
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
261 #if defined (WINDOWSNT) || defined (MAC_OS) |
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
262 LANGUAGE_CHANGE_EVENT, /* A LANGUAGE_CHANGE_EVENT is |
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
263 generated on WINDOWSNT or Mac OS |
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
264 when the keyboard layout or input |
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
265 language is changed by the |
23800
a7dd4cded68c
termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents:
21889
diff
changeset
|
266 user. */ |
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
267 #endif |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
268 SCROLL_BAR_CLICK_EVENT, /* .code gives the number of the mouse button |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
269 that was clicked. |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
270 .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
|
271 keys. |
296 | 272 .part is a lisp symbol indicating which |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
273 part of the scroll bar got clicked. |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
274 .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
|
275 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
|
276 length of the scroll bar. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
277 .frame_or_window gives the window |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
278 whose scroll bar was clicked in. |
296 | 279 .timestamp gives a timestamp (in |
280 milliseconds) for the click. */ | |
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
281 #ifdef WINDOWSNT |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
282 W32_SCROLL_BAR_CLICK_EVENT, /* as for SCROLL_BAR_CLICK, but only generated |
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
283 by MS-Windows scroll bar controls. */ |
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
284 #endif |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
285 SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us. |
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
286 See `struct selection_input_event'. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
287 SELECTION_CLEAR_EVENT, /* Another X client cleared our selection. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
288 BUFFER_SWITCH_EVENT, /* A process filter has switched buffers. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
289 DELETE_WINDOW_EVENT, /* An X client said "delete this window". */ |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
290 MENU_BAR_EVENT, /* An event generated by the menu bar. |
10798
6f71ef20581c
Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents:
9728
diff
changeset
|
291 The frame_or_window field's cdr holds the |
7097
34c94047f8f9
(menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents:
6747
diff
changeset
|
292 Lisp-level event value. |
34c94047f8f9
(menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents:
6747
diff
changeset
|
293 (Only the toolkit version uses these.) */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
294 ICONIFY_EVENT, /* An X client iconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
295 DEICONIFY_EVENT, /* An X client deiconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
296 MENU_BAR_ACTIVATE_EVENT, /* A button press in the menu bar |
12660
8b9633307acc
(enum event_kind): Added menu_bar_activate_event.
Richard M. Stallman <rms@gnu.org>
parents:
10798
diff
changeset
|
297 (toolkit version only). */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
298 DRAG_N_DROP_EVENT, /* A drag-n-drop event is generated when |
21889
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
299 files selected outside of Emacs are dropped |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
300 onto an Emacs window. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
301 .modifiers holds the state of the |
21889
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
302 modifier keys. |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
303 .x and .y give the mouse position, |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
304 in characters, within the window. |
67668
8926adaaf30f
(struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67460
diff
changeset
|
305 .frame_or_window is the frame in |
8926adaaf30f
(struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67460
diff
changeset
|
306 which the drop was made. |
8926adaaf30f
(struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67460
diff
changeset
|
307 .arg is a platform-dependent |
8926adaaf30f
(struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67460
diff
changeset
|
308 representation of the dropped items. |
21889
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
309 .timestamp gives a timestamp (in |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
310 milliseconds) for the click. */ |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
311 USER_SIGNAL_EVENT, /* A user signal. |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
312 code is a number identifying it, |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
313 index into lispy_user_signals. */ |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
314 |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
315 /* Help events. Member `frame_or_window' of the input_event is the |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
316 frame on which the event occurred, and member `arg' contains |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
317 the help to show. */ |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
318 HELP_EVENT, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
319 |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
320 /* An event from a tool-bar. Member `arg' of the input event |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
321 contains the tool-bar item selected. If `frame_or_window' |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
322 and `arg' are equal, this is a prefix event. */ |
29514
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
323 TOOL_BAR_EVENT, |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
324 |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
325 /* Queued from XTread_socket on FocusIn events. Translated into |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
326 `switch-frame' events in kbd_buffer_get_event, if necessary. */ |
43813
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
327 FOCUS_IN_EVENT, |
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
328 |
44299
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
329 /* Generated when mouse moves over window not currently selected. */ |
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
330 SELECT_WINDOW_EVENT, |
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
331 |
43813
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
332 /* Queued from XTread_socket when session manager sends |
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
333 save yourself before shutdown. */ |
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
334 SAVE_SESSION_EVENT, |
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
335 |
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
336 #ifdef MAC_OS |
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
337 /* Generated when an Apple event, a HICommand event, or a Services |
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
338 menu event is received and the corresponding handler is |
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
339 registered. Members `x' and `y' are for the event class and ID |
70386
8fd44e40f101
(enum event_kind) [MAC_OS]: Update comment for MAC_APPLE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
340 symbols, respectively. Member `arg' is a Lisp object converted |
8fd44e40f101
(enum event_kind) [MAC_OS]: Update comment for MAC_APPLE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
341 from the received Apple event. Parameters for non-Apple events |
8fd44e40f101
(enum event_kind) [MAC_OS]: Update comment for MAC_APPLE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
342 are converted to those in Apple events. */ |
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
343 MAC_APPLE_EVENT |
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
344 #endif |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
345 }; |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
346 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
347 /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
348 or SELECTION_CLEAR_EVENT, then its contents are really described |
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
349 by `struct selection_input_event'; see xterm.h. */ |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
350 |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
351 /* The keyboard input buffer is an array of these structures. Each one |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
352 represents some sort of input event - a keystroke, a mouse click, or |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
353 a window system event. These get turned into their lispy forms when |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
354 they are removed from the event queue. */ |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
355 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
356 struct input_event |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
357 { |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
358 /* What kind of event was this? */ |
39583
936ffa2961ca
(struct input_event): Use proper type for `kind'.
Gerd Moellmann <gerd@gnu.org>
parents:
30750
diff
changeset
|
359 enum event_kind kind; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
360 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
361 /* For an ASCII_KEYSTROKE_EVENT and MULTIBYTE_CHAR_KEYSTROKE_EVENT, |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
362 this is the character. |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
363 For a NON_ASCII_KEYSTROKE_EVENT, this is the keysym code. |
5361
f8be998bdeba
(struct input_event): FIx typo in previous change.
Richard M. Stallman <rms@gnu.org>
parents:
5226
diff
changeset
|
364 For a mouse event, this is the button number. */ |
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
365 /* In WindowsNT, for a mouse wheel event, this is the delta. */ |
5226
4891291b5785
(struct input_event): `code' is now an int.
Richard M. Stallman <rms@gnu.org>
parents:
5106
diff
changeset
|
366 int code; |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
367 enum scroll_bar_part part; |
732 | 368 |
14161
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
369 int modifiers; /* See enum below for interpretation. */ |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
370 |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
371 Lisp_Object x, y; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
372 unsigned long timestamp; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
373 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
374 /* This is padding just to put the frame_or_window field |
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
375 past the size of struct selection_input_event. */ |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
376 int *padding[2]; |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
377 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
378 /* 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
|
379 so that garbage collections won't kill it. */ |
10798
6f71ef20581c
Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents:
9728
diff
changeset
|
380 /* In a menu_bar_event, this is a cons cell whose car is the frame |
6f71ef20581c
Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents:
9728
diff
changeset
|
381 and whose cdr is the Lisp object that is the event's value. */ |
14161
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
382 /* This field is last so that struct selection_input_event |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
383 does not overlap with it. */ |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
384 Lisp_Object frame_or_window; |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
385 |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
386 /* Additional event argument. This is used for TOOL_BAR_EVENTs and |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
387 HELP_EVENTs and avoids calling Fcons during signal handling. */ |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
388 Lisp_Object arg; |
296 | 389 }; |
21515 | 390 |
51568
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
391 #define EVENT_INIT(event) bzero (&(event), sizeof (struct input_event)) |
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
392 |
21515 | 393 /* Called to read input events. */ |
54168
0827d50296b5
(read_socket_hook): Fix prototype.
Kim F. Storm <storm@cua.dk>
parents:
52401
diff
changeset
|
394 extern int (*read_socket_hook) P_ ((int, int, struct input_event *)); |
21515 | 395 |
396 /* Called when a frame's display becomes entirely up to date. */ | |
397 extern void (*frame_up_to_date_hook) P_ ((struct frame *)); | |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
398 |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
399 |
1238
407100cee78a
* termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents:
766
diff
changeset
|
400 /* 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
|
401 Note that reorder_modifiers assumes that the bits are in canonical |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
402 order. |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
403 |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
404 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
|
405 window-system-specific code should store mouse clicks with |
1319 | 406 up_modifier or down_modifier set. Having an explicit down modifier |
407 simplifies some of window-system-independent code; without it, the | |
408 code would have to recognize down events by checking if the event | |
409 is a mouse click lacking the click and drag modifiers. | |
410 | |
411 The window-system independent code turns all up_modifier events | |
3861
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
412 bits into drag_modifier, click_modifier, double_modifier, or |
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
413 triple_modifier events. The click_modifier has no written |
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
414 representation in the names of the symbols used as event heads, |
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
415 but it does appear in the Qevent_symbol_components property of the |
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
416 event heads. */ |
296 | 417 enum { |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
418 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
|
419 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
|
420 before lisp code sees the event. */ |
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
421 down_modifier = 2, /* Only used on mouse buttons. */ |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
422 drag_modifier = 4, /* This is never used in the event |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
423 queue; it's only used internally by |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
424 the window-system-independent code. */ |
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
425 click_modifier= 8, /* See drag_modifier. */ |
3861
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
426 double_modifier= 16, /* See drag_modifier. */ |
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
427 triple_modifier= 32, /* See drag_modifier. */ |
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
428 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
429 /* The next four modifier bits are used also in keyboard events at |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
430 the Lisp level. |
2046
9e30cf115e63
(alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
431 |
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
432 It's probably not the greatest idea to use the 2^23 bit for any |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
433 modifier. It may or may not be the sign bit, depending on |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
434 VALBITS, so using it to represent a modifier key means that |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
435 characters thus modified have different integer equivalents |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
436 depending on the architecture they're running on. Oh, and |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
437 applying XINT to a character whose 2^23 bit is set sign-extends |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
438 it, so you get a bunch of bits in the mask you didn't want. |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
439 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
440 The CHAR_ macros are defined in lisp.h. */ |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
441 alt_modifier = CHAR_ALT, /* Under X, the XK_Alt_[LR] keysyms. */ |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
442 super_modifier= CHAR_SUPER, /* Under X, the XK_Super_[LR] keysyms. */ |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
443 hyper_modifier= CHAR_HYPER, /* Under X, the XK_Hyper_[LR] keysyms. */ |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
444 shift_modifier= CHAR_SHIFT, |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
445 ctrl_modifier = CHAR_CTL, |
4569
9ea563d584f4
(enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents:
4143
diff
changeset
|
446 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */ |
296 | 447 }; |
448 | |
449 #endif | |
52401 | 450 |
451 /* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d | |
452 (do not change this comment) */ |