Mercurial > emacs
annotate src/termhooks.h @ 103855:6479d8a2ebcf
(describe-character-set): Don't show width.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Sat, 11 Jul 2009 06:36:14 +0000 |
parents | 6a4e411bd83b |
children | cd4cbab8bb21 |
rev | line source |
---|---|
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
1 /* Parameters and display hooks for terminal devices. |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
73863
diff
changeset
|
2 Copyright (C) 1985, 1986, 1993, 1994, 2001, 2002, 2003, 2004, |
100951 | 3 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. |
296 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92109
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
296 | 8 it under the terms of the GNU General Public License as published by |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92109
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92109
diff
changeset
|
10 (at your option) any later version. |
296 | 11 |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92109
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
296 | 19 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
20 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
21 /* Miscellanea. */ |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
22 |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
23 struct glyph; |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
24 struct frame; |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
25 |
296 | 26 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
27 enum scroll_bar_part { |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
28 scroll_bar_above_handle, |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
29 scroll_bar_handle, |
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
30 scroll_bar_below_handle, |
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
31 scroll_bar_up_arrow, |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
32 scroll_bar_down_arrow, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
33 scroll_bar_to_top, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
34 scroll_bar_to_bottom, |
26787
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
35 scroll_bar_end_scroll, |
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
36 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
|
37 }; |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
38 |
73863 | 39 /* If the value of the frame parameter changed, whis hook is called. |
40 For example, if going from fullscreen to not fullscreen this hook | |
41 may do something OS dependent, like extended window manager hints on X11. */ | |
42 extern void (*fullscreen_hook) P_ ((struct frame *f)); | |
43 | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
44 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
45 /* 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
|
46 |
296 | 47 /* Expedient hack: only provide the below definitions to files that |
78501 | 48 are prepared to handle lispy things. CONSP is defined if lisp.h |
485 | 49 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
|
50 #ifdef CONSP |
296 | 51 |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
52 enum event_kind |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
53 { |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
54 NO_EVENT, /* nothing happened. This should never |
296 | 55 actually appear in the event queue. */ |
4799 | 56 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
57 ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps |
4799 | 58 with modifiers applied. |
59 .modifiers holds the state of the | |
60 modifier keys. | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
61 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
62 which the key was typed. |
485 | 63 .timestamp gives a timestamp (in |
64 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
65 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
|
66 perhaps with modifiers applied. |
e96da8e19cef
(enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents:
30175
diff
changeset
|
67 The others are the same as |
48090 | 68 ASCII_KEYSTROKE_EVENT. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
69 NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the |
296 | 70 function key. A code N represents |
71 a key whose name is | |
72 function_key_names[N]; function_key_names | |
73 is a table in keyboard.c to which you | |
74 should feel free to add missing keys. | |
75 .modifiers holds the state of the | |
338 | 76 modifier keys. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
77 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
78 which the key was typed. |
485 | 79 .timestamp gives a timestamp (in |
80 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
81 TIMER_EVENT, /* A timer fired. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
82 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
|
83 be >= 0 and < NUM_MOUSE_BUTTONS, defined |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
84 below. |
296 | 85 .modifiers holds the state of the |
86 modifier keys. | |
87 .x and .y give the mouse position, | |
708 | 88 in characters, within the window. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
89 .frame_or_window gives the frame |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
90 the mouse click occurred in. |
296 | 91 .timestamp gives a timestamp (in |
92 milliseconds) for the click. */ | |
51383
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
93 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
|
94 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
|
95 Intellimouse). |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
96 .modifiers holds the rotate |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
97 direction (up or down), and the |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
98 state of the modifier keys. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
99 .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
|
100 in characters, within the window. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
101 .frame_or_window gives the frame |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
102 the wheel event occurred in. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
103 .timestamp gives a timestamp (in |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
104 milliseconds) for the event. */ |
83880
2bccdc59cb53
(enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
Jason Rumney <jasonr@gnu.org>
parents:
83652
diff
changeset
|
105 HORIZ_WHEEL_EVENT, /* A wheel event generated by a second |
2bccdc59cb53
(enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
Jason Rumney <jasonr@gnu.org>
parents:
83652
diff
changeset
|
106 horizontal wheel that is present on some |
2bccdc59cb53
(enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
Jason Rumney <jasonr@gnu.org>
parents:
83652
diff
changeset
|
107 mice. See WHEEL_EVENT. */ |
97043
9592c50233ab
Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96675
diff
changeset
|
108 #if defined (WINDOWSNT) |
61501
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
109 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
|
110 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
|
111 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
|
112 language is changed by the |
23800
a7dd4cded68c
termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents:
21889
diff
changeset
|
113 user. */ |
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
114 #endif |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
115 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
|
116 that was clicked. |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
117 .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
|
118 keys. |
296 | 119 .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
|
120 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
|
121 .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
|
122 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
|
123 length of the scroll bar. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
124 .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
|
125 whose scroll bar was clicked in. |
296 | 126 .timestamp gives a timestamp (in |
127 milliseconds) for the click. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
128 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
|
129 See `struct selection_input_event'. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
130 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
|
131 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
|
132 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
|
133 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
|
134 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
|
135 Lisp-level event value. |
34c94047f8f9
(menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents:
6747
diff
changeset
|
136 (Only the toolkit version uses these.) */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
137 ICONIFY_EVENT, /* An X client iconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
138 DEICONIFY_EVENT, /* An X client deiconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
139 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
|
140 (toolkit version only). */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
141 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
|
142 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
|
143 onto an Emacs window. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
144 .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
|
145 modifier keys. |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
146 .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
|
147 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
|
148 .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
|
149 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
|
150 .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
|
151 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
|
152 .timestamp gives a timestamp (in |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
153 milliseconds) for the click. */ |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
154 USER_SIGNAL_EVENT, /* A user signal. |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
155 code is a number identifying it, |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
156 index into lispy_user_signals. */ |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
157 |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
158 /* 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
|
159 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
|
160 the help to show. */ |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
161 HELP_EVENT, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
162 |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
163 /* 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
|
164 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
|
165 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
|
166 TOOL_BAR_EVENT, |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
167 |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
168 /* 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
|
169 `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
|
170 FOCUS_IN_EVENT, |
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
171 |
44299
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
172 /* 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
|
173 SELECT_WINDOW_EVENT, |
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
174 |
43813
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
175 /* 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
|
176 save yourself before shutdown. */ |
78779
bf8af3b2e5a4
(enum event_kind): Remove trailing comma.
Jan Djärv <jan.h.d@swipnet.se>
parents:
78501
diff
changeset
|
177 SAVE_SESSION_EVENT |
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
|
178 |
80994
62b6aa7f8c37
Use HAVE_GPM instead of HAVE_GPM_H.
Nick Roberts <nickrob@snap.net.nz>
parents:
80986
diff
changeset
|
179 #ifdef HAVE_GPM |
85114 | 180 , GPM_CLICK_EVENT |
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
|
181 #endif |
85981
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
182 |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
183 #ifdef HAVE_DBUS |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
184 , DBUS_EVENT |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
185 #endif |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
186 |
85981
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
187 #ifdef WINDOWSNT |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
188 /* Generated when an APPCOMMAND event is received, in response to |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
189 Multimedia or Internet buttons on some keyboards. |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
190 Such keys are available as normal function keys on X through the |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
191 Xkeyboard extension. |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
192 On Windows, some of them get mapped to normal function key events, |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
193 but others need to be handled by APPCOMMAND. Handling them all as |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
194 APPCOMMAND events means they can be disabled |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
195 (w32-pass-multimedia-buttons-to-system), important on Windows since |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
196 the system never sees these keys if Emacs claims to handle them. |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
197 On X, the window manager seems to grab the keys it wants |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
198 first, so this is not a problem there. */ |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
199 , MULTIMEDIA_KEY_EVENT |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
200 #endif |
101490
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
201 |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
202 #ifdef HAVE_NS |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
203 /* Generated when native multi-keystroke input method is used to modify |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
204 tentative or indicative text display. */ |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
205 , NS_TEXT_EVENT |
102502
23b9944ae977
termhooks.h [HAVE_NS]: define NS_NONKEY_EVENT to be used for non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT were used for such events.
David Reitter <david.reitter@gmail.com>
parents:
101490
diff
changeset
|
206 /* Non-key system events (e.g. application menu events) */ |
23b9944ae977
termhooks.h [HAVE_NS]: define NS_NONKEY_EVENT to be used for non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT were used for such events.
David Reitter <david.reitter@gmail.com>
parents:
101490
diff
changeset
|
207 , NS_NONKEY_EVENT |
101490
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
208 #endif |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
209 |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
210 }; |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
211 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
212 /* 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
|
213 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
|
214 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
|
215 |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
216 /* 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
|
217 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
|
218 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
|
219 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
|
220 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
221 struct input_event |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
222 { |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
223 /* 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
|
224 enum event_kind kind; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
225 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
226 /* 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
|
227 this is the character. |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
228 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
|
229 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
|
230 /* 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
|
231 int code; |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
232 enum scroll_bar_part part; |
732 | 233 |
14161
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
234 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
|
235 |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
236 Lisp_Object x, y; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
237 unsigned long timestamp; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
238 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
239 /* 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
|
240 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
|
241 int *padding[2]; |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
242 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
243 /* 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
|
244 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
|
245 /* 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
|
246 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
|
247 /* 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
|
248 does not overlap with it. */ |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
249 Lisp_Object frame_or_window; |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
250 |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
251 /* 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
|
252 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
|
253 Lisp_Object arg; |
296 | 254 }; |
21515 | 255 |
51568
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
256 #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
|
257 |
1238
407100cee78a
* termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents:
766
diff
changeset
|
258 /* 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
|
259 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
|
260 order. |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
261 |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
262 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
|
263 window-system-specific code should store mouse clicks with |
1319 | 264 up_modifier or down_modifier set. Having an explicit down modifier |
265 simplifies some of window-system-independent code; without it, the | |
266 code would have to recognize down events by checking if the event | |
267 is a mouse click lacking the click and drag modifiers. | |
268 | |
269 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
|
270 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
|
271 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
|
272 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
|
273 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
|
274 event heads. */ |
296 | 275 enum { |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
276 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
|
277 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
|
278 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
|
279 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
|
280 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
|
281 queue; it's only used internally by |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
282 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
|
283 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
|
284 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
|
285 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
|
286 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
287 /* 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
|
288 the Lisp level. |
2046
9e30cf115e63
(alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
289 |
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
290 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
|
291 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
|
292 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
|
293 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
|
294 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
|
295 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
|
296 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
|
297 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
298 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
|
299 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
|
300 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
|
301 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
|
302 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
|
303 ctrl_modifier = CHAR_CTL, |
4569
9ea563d584f4
(enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents:
4143
diff
changeset
|
304 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */ |
296 | 305 }; |
306 | |
80994
62b6aa7f8c37
Use HAVE_GPM instead of HAVE_GPM_H.
Nick Roberts <nickrob@snap.net.nz>
parents:
80986
diff
changeset
|
307 #ifdef HAVE_GPM |
80986
ae304624e812
(enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents:
75227
diff
changeset
|
308 #include <gpm.h> |
83622 | 309 extern int handle_one_term_event (struct tty_display_info *, Gpm_Event *, struct input_event *); |
81104
f4a619a438a7
(term_mouse_moveto): New extern.
Nick Roberts <nickrob@snap.net.nz>
parents:
80994
diff
changeset
|
310 extern void term_mouse_moveto (int, int); |
80986
ae304624e812
(enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents:
75227
diff
changeset
|
311 |
84768
53194ec05789
* termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84691
diff
changeset
|
312 /* The device for which we have enabled gpm support. */ |
53194ec05789
* termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84691
diff
changeset
|
313 extern struct tty_display_info *gpm_tty; |
296 | 314 #endif |
52401 | 315 |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
316 #endif /* CONSP */ |
52401 | 317 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
318 |
96675
d45acf0c8d23
merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
94994
diff
changeset
|
319 struct ns_display_info; |
d45acf0c8d23
merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
94994
diff
changeset
|
320 struct x_display_info; |
83619
5da6a46ddbd6
* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
83580
diff
changeset
|
321 struct w32_display_info; |
5da6a46ddbd6
* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
83580
diff
changeset
|
322 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
323 /* Terminal-local parameters. */ |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
324 struct terminal |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
325 { |
84691
920b65c5b922
(struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83880
diff
changeset
|
326 /* The first two fields are really the header of a vector */ |
920b65c5b922
(struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83880
diff
changeset
|
327 /* The terminal code does not refer to them. */ |
85022
96eb42c9e0e3
* window.h (struct window):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84953
diff
changeset
|
328 EMACS_UINT size; |
84691
920b65c5b922
(struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83880
diff
changeset
|
329 struct Lisp_Vector *vec_next; |
920b65c5b922
(struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83880
diff
changeset
|
330 |
84953
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
331 /* Parameter alist of this terminal. */ |
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
332 Lisp_Object param_alist; |
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
333 |
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
334 /* All fields before `next_terminal' should be Lisp_Object and are traced |
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
335 by the GC. All fields afterwards are ignored by the GC. */ |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
336 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
337 /* Chain of all terminal devices. */ |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
338 struct terminal *next_terminal; |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
339 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
340 /* Unique id for this terminal device. */ |
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
341 int id; |
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
342 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
343 /* The number of frames that are on this terminal. */ |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
344 int reference_count; |
83522
a5d712e6585a
Fix crashes in `delete-terminal' caused by recursive calls or X displays with live frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83516
diff
changeset
|
345 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
346 /* The type of the terminal device. */ |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
347 enum output_method type; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
348 |
83525
b2e7507b55c6
Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak.
Karoly Lorentey <lorentey@elte.hu>
parents:
83522
diff
changeset
|
349 /* The name of the terminal device. Do not use this to uniquely |
b2e7507b55c6
Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak.
Karoly Lorentey <lorentey@elte.hu>
parents:
83522
diff
changeset
|
350 identify a terminal; the same device may be opened multiple |
b2e7507b55c6
Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak.
Karoly Lorentey <lorentey@elte.hu>
parents:
83522
diff
changeset
|
351 times. */ |
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
352 char *name; |
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
353 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
354 /* The terminal's keyboard object. */ |
83323
61487e73bbc2
Cleanup: Move kboard fields from struct frame and device-specific descriptors to struct display.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
355 struct kboard *kboard; |
52401 | 356 |
92109
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
357 #ifdef HAVE_WINDOW_SYSTEM |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
358 /* Cache of images. */ |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
359 struct image_cache *image_cache; |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
360 #endif /* HAVE_WINDOW_SYSTEM */ |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
361 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
362 /* Device-type dependent data shared amongst all frames on this terminal. */ |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
363 union display_info |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
364 { |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
365 struct tty_display_info *tty; /* termchar.h */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
366 struct x_display_info *x; /* xterm.h */ |
83580
a791f826b2cc
(display_info) [WINDOWSNT]: Add w32.
Jason Rumney <jasonr@gnu.org>
parents:
83554
diff
changeset
|
367 struct w32_display_info *w32; /* w32term.h */ |
96675
d45acf0c8d23
merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
94994
diff
changeset
|
368 struct ns_display_info *ns; /* nsterm.h */ |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
369 } display_info; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
370 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
371 |
83127
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
372 /* Coding-system to be used for encoding terminal output. This |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
373 structure contains information of a coding-system specified by |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
374 the function `set-terminal-coding-system'. Also see |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
375 `safe_terminal_coding' in coding.h. */ |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
376 struct coding_system *terminal_coding; |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
377 |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
378 /* Coding-system of what is sent from terminal keyboard. This |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
379 structure contains information of a coding-system specified by |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
380 the function `set-keyboard-coding-system'. */ |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
381 struct coding_system *keyboard_coding; |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
382 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
383 /* Terminal characteristics. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
384 /* XXX Are these really used on non-termcap displays? */ |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
385 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
386 int must_write_spaces; /* Nonzero means spaces in the text must |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
387 actually be output; can't just skip over |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
388 some columns to leave them blank. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
389 int fast_clear_end_of_line; /* Nonzero means terminal has a `ce' string */ |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
390 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
391 int line_ins_del_ok; /* Terminal can insert and delete lines */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
392 int char_ins_del_ok; /* Terminal can insert and delete chars */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
393 int scroll_region_ok; /* Terminal supports setting the scroll |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
394 window */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
395 int scroll_region_cost; /* Cost of setting the scroll window, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
396 measured in characters. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
397 int memory_below_frame; /* Terminal remembers lines scrolled |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
398 off bottom */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
399 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
400 #if 0 /* These are not used anywhere. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
401 /* EMACS_INT baud_rate; */ /* Output speed in baud */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
402 int min_padding_speed; /* Speed below which no padding necessary. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
403 int dont_calculate_costs; /* Nonzero means don't bother computing |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
404 various cost tables; we won't use them. */ |
80986
ae304624e812
(enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents:
75227
diff
changeset
|
405 #endif |
ae304624e812
(enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents:
75227
diff
changeset
|
406 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
407 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
408 /* Window-based redisplay interface for this device (0 for tty |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
409 devices). */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
410 struct redisplay_interface *rif; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
411 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
412 /* Frame-based redisplay interface. */ |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
413 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
414 /* Text display hooks. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
415 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
416 void (*cursor_to_hook) P_ ((struct frame *f, int vpos, int hpos)); |
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
417 void (*raw_cursor_to_hook) P_ ((struct frame *, int, int)); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
418 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
419 void (*clear_to_end_hook) P_ ((struct frame *)); |
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
420 void (*clear_frame_hook) P_ ((struct frame *)); |
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
421 void (*clear_end_of_line_hook) P_ ((struct frame *, int)); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
422 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
423 void (*ins_del_lines_hook) P_ ((struct frame *f, int, int)); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
424 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
425 void (*insert_glyphs_hook) P_ ((struct frame *f, struct glyph *s, int n)); |
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
426 void (*write_glyphs_hook) P_ ((struct frame *f, struct glyph *s, int n)); |
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
427 void (*delete_glyphs_hook) P_ ((struct frame *, int)); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
428 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
429 void (*ring_bell_hook) P_ ((struct frame *f)); |
103704
6a4e411bd83b
* xterm.h (struct x_display_info): Add invisible_cursor.
Jan Djärv <jan.h.d@swipnet.se>
parents:
102744
diff
changeset
|
430 void (*toggle_invisible_pointer_hook) P_ ((struct frame *f, int invisible)); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
431 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
432 void (*reset_terminal_modes_hook) P_ ((struct terminal *)); |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
433 void (*set_terminal_modes_hook) P_ ((struct terminal *)); |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
434 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
435 void (*update_begin_hook) P_ ((struct frame *)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
436 void (*update_end_hook) P_ ((struct frame *)); |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
437 void (*set_terminal_window_hook) P_ ((struct frame *, int)); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
438 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
439 /* Multi-frame and mouse support hooks. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
440 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
441 /* Return the current position of the mouse. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
442 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
443 Set *f to the frame the mouse is in, or zero if the mouse is in no |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
444 Emacs frame. If it is set to zero, all the other arguments are |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
445 garbage. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
446 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
447 If the motion started in a scroll bar, set *bar_window to the |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
448 scroll bar's window, *part to the part the mouse is currently over, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
449 *x to the position of the mouse along the scroll bar, and *y to the |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
450 overall length of the scroll bar. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
451 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
452 Otherwise, set *bar_window to Qnil, and *x and *y to the column and |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
453 row of the character cell the mouse is over. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
454 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
455 Set *time to the time the mouse was at the returned position. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
456 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
457 This should clear mouse_moved until the next motion |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
458 event arrives. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
459 void (*mouse_position_hook) P_ ((struct frame **f, int, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
460 Lisp_Object *bar_window, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
461 enum scroll_bar_part *part, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
462 Lisp_Object *x, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
463 Lisp_Object *y, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
464 unsigned long *time)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
465 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
466 /* The window system handling code should set this if the mouse has |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
467 moved since the last call to the mouse_position_hook. Calling that |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
468 hook should clear this. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
469 int mouse_moved; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
470 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
471 /* When a frame's focus redirection is changed, this hook tells the |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
472 window system code to re-decide where to put the highlight. Under |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
473 X, this means that Emacs lies about where the focus is. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
474 void (*frame_rehighlight_hook) P_ ((struct frame *)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
475 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
476 /* If we're displaying frames using a window system that can stack |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
477 frames on top of each other, this hook allows you to bring a frame |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
478 to the front, or bury it behind all the other windows. If this |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
479 hook is zero, that means the terminal we're displaying on doesn't |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
480 support overlapping frames, so there's no need to raise or lower |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
481 anything. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
482 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
483 If RAISE is non-zero, F is brought to the front, before all other |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
484 windows. If RAISE is zero, F is sent to the back, behind all other |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
485 windows. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
486 void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
487 |
83548
c71725faff1a
Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
488 /* If the value of the frame parameter changed, whis hook is called. |
c71725faff1a
Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
489 For example, if going from fullscreen to not fullscreen this hook |
c71725faff1a
Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
490 may do something OS dependent, like extended window manager hints on X11. */ |
c71725faff1a
Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
491 void (*fullscreen_hook) P_ ((struct frame *f)); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
492 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
493 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
494 /* Scroll bar hooks. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
495 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
496 /* The representation of scroll bars is determined by the code which |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
497 implements them, except for one thing: they must be represented by |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
498 lisp objects. This allows us to place references to them in |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
499 Lisp_Windows without worrying about those references becoming |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
500 dangling references when the scroll bar is destroyed. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
501 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
502 The window-system-independent portion of Emacs just refers to |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
503 scroll bars via their windows, and never looks inside the scroll bar |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
504 representation; it always uses hook functions to do all the |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
505 scroll bar manipulation it needs. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
506 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
507 The `vertical_scroll_bar' field of a Lisp_Window refers to that |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
508 window's scroll bar, or is nil if the window doesn't have a |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
509 scroll bar. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
510 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
511 The `scroll_bars' and `condemned_scroll_bars' fields of a Lisp_Frame |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
512 are free for use by the scroll bar implementation in any way it sees |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
513 fit. They are marked by the garbage collector. */ |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
514 |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
515 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
516 /* Set the vertical scroll bar for WINDOW to have its upper left corner |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
517 at (TOP, LEFT), and be LENGTH rows high. Set its handle to |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
518 indicate that we are displaying PORTION characters out of a total |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
519 of WHOLE characters, starting at POSITION. If WINDOW doesn't yet |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
520 have a scroll bar, create one for it. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
521 void (*set_vertical_scroll_bar_hook) P_ ((struct window *window, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
522 int portion, int whole, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
523 int position)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
524 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
525 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
526 /* The following three hooks are used when we're doing a thorough |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
527 redisplay of the frame. We don't explicitly know which scroll bars |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
528 are going to be deleted, because keeping track of when windows go |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
529 away is a real pain - can you say set-window-configuration? |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
530 Instead, we just assert at the beginning of redisplay that *all* |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
531 scroll bars are to be removed, and then save scroll bars from the |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
532 fiery pit when we actually redisplay their window. */ |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
533 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
534 /* Arrange for all scroll bars on FRAME to be removed at the next call |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
535 to `*judge_scroll_bars_hook'. A scroll bar may be spared if |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
536 `*redeem_scroll_bar_hook' is applied to its window before the judgement. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
537 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
538 This should be applied to each frame each time its window tree is |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
539 redisplayed, even if it is not displaying scroll bars at the moment; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
540 if the HAS_SCROLL_BARS flag has just been turned off, only calling |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
541 this and the judge_scroll_bars_hook will get rid of them. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
542 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
543 If non-zero, this hook should be safe to apply to any frame, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
544 whether or not it can support scroll bars, and whether or not it is |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
545 currently displaying them. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
546 void (*condemn_scroll_bars_hook) P_ ((struct frame *frame)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
547 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
548 /* Unmark WINDOW's scroll bar for deletion in this judgement cycle. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
549 Note that it's okay to redeem a scroll bar that is not condemned. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
550 void (*redeem_scroll_bar_hook) P_ ((struct window *window)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
551 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
552 /* Remove all scroll bars on FRAME that haven't been saved since the |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
553 last call to `*condemn_scroll_bars_hook'. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
554 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
555 This should be applied to each frame after each time its window |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
556 tree is redisplayed, even if it is not displaying scroll bars at the |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
557 moment; if the HAS_SCROLL_BARS flag has just been turned off, only |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
558 calling this and condemn_scroll_bars_hook will get rid of them. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
559 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
560 If non-zero, this hook should be safe to apply to any frame, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
561 whether or not it can support scroll bars, and whether or not it is |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
562 currently displaying them. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
563 void (*judge_scroll_bars_hook) P_ ((struct frame *FRAME)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
564 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
565 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
566 /* Called to read input events. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
567 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
568 TERMINAL indicates which terminal device to read from. Input |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
569 events should be read into BUF, the size of which is given in |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
570 SIZE. EXPECTED is non-zero if the caller suspects that new input |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
571 is available. |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
572 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
573 A positive return value indicates that that many input events |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
574 where read into BUF. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
575 Zero means no events were immediately available. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
576 A value of -1 means a transient read error, while -2 indicates |
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
577 that the device was closed (hangup), and it should be deleted. |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
578 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
579 XXX Please note that a non-zero value of EXPECTED only means that |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
580 there is available input on at least one of the currently opened |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
581 terminal devices -- but not necessarily on this device. |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
582 Therefore, in most cases EXPECTED should be simply ignored. |
83067 | 583 |
584 XXX This documentation needs to be updated. */ | |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
585 int (*read_socket_hook) P_ ((struct terminal *terminal, |
83067 | 586 int expected, |
587 struct input_event *hold_quit)); | |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
588 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
589 /* Called when a frame's display becomes entirely up to date. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
590 void (*frame_up_to_date_hook) P_ ((struct frame *)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
591 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
592 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
593 /* Called to delete the device-specific portions of a frame that is |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
594 on this terminal device. */ |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
595 void (*delete_frame_hook) P_ ((struct frame *)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
596 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
597 /* Called after the last frame on this terminal is deleted, or when |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
598 the display device was closed (hangup). |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
599 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
600 If this is NULL, then the generic delete_terminal is called |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
601 instead. Otherwise the hook must call delete_terminal itself. |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
602 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
603 The hook must check for and close any live frames that are still |
100666
dab9cf44bf3f
In comments, write delete_frame instead of Fdelete_frame.
Martin Rudalics <rudalics@gmx.at>
parents:
98155
diff
changeset
|
604 on the terminal. delete_frame ensures that there are no live |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
605 frames on the terminal when it calls this hook, so infinite |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
606 recursion is prevented. */ |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
607 void (*delete_terminal_hook) P_ ((struct terminal *)); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
608 }; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
609 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
610 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
611 /* Chain of all terminal devices currently in use. */ |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
612 extern struct terminal *terminal_list; |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
613 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
614 #define FRAME_MUST_WRITE_SPACES(f) ((f)->terminal->must_write_spaces) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
615 #define FRAME_FAST_CLEAR_END_OF_LINE(f) ((f)->terminal->fast_clear_end_of_line) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
616 #define FRAME_LINE_INS_DEL_OK(f) ((f)->terminal->line_ins_del_ok) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
617 #define FRAME_CHAR_INS_DEL_OK(f) ((f)->terminal->char_ins_del_ok) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
618 #define FRAME_SCROLL_REGION_OK(f) ((f)->terminal->scroll_region_ok) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
619 #define FRAME_SCROLL_REGION_COST(f) ((f)->terminal->scroll_region_cost) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
620 #define FRAME_MEMORY_BELOW_FRAME(f) ((f)->terminal->memory_below_frame) |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
621 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
622 #define FRAME_TERMINAL_CODING(f) ((f)->terminal->terminal_coding) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
623 #define FRAME_KEYBOARD_CODING(f) ((f)->terminal->keyboard_coding) |
83127
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
624 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
625 #define TERMINAL_TERMINAL_CODING(d) ((d)->terminal_coding) |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
626 #define TERMINAL_KEYBOARD_CODING(d) ((d)->keyboard_coding) |
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83288
diff
changeset
|
627 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
628 #define FRAME_RIF(f) ((f)->terminal->rif) |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
629 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
630 #define FRAME_TERMINAL(f) ((f)->terminal) |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
631 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
632 /* FRAME_WINDOW_P tests whether the frame is a window, and is |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
633 defined to be the predicate for the window system being used. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
634 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
635 #ifdef HAVE_X_WINDOWS |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
636 #define FRAME_WINDOW_P(f) FRAME_X_P (f) |
296 | 637 #endif |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
638 #ifdef HAVE_NTGUI |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
639 #define FRAME_WINDOW_P(f) FRAME_W32_P (f) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
640 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
641 #ifndef FRAME_WINDOW_P |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
642 #define FRAME_WINDOW_P(f) (0) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
643 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
644 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
645 /* Return true if the terminal device is not suspended. */ |
97647
09de6794b433
(TERMINAL_ACTIVE_P): Handle output_msdos_raw in addition to output_termcap.
Eli Zaretskii <eliz@gnu.org>
parents:
97141
diff
changeset
|
646 #define TERMINAL_ACTIVE_P(d) (((d)->type != output_termcap && (d)->type !=output_msdos_raw) || (d)->display_info.tty->input) |
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
647 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
648 extern Lisp_Object get_terminal_param P_ ((struct terminal *, Lisp_Object)); |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
649 extern struct terminal *get_terminal P_ ((Lisp_Object terminal, int)); |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
650 extern struct terminal *create_terminal P_ ((void)); |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
651 extern void delete_terminal P_ ((struct terminal *)); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
652 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
653 /* The initial terminal device, created by initial_term_init. */ |
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
654 extern struct terminal *initial_terminal; |
52401 | 655 |
98155
314662df7c17
* term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
97647
diff
changeset
|
656 #ifdef HAVE_GPM |
102744
d69c45eb83b1
* keyboard.c (tty_read_avail_input): Don't treat a -1 return from
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
102502
diff
changeset
|
657 extern void close_gpm (int gpm_fd); |
98155
314662df7c17
* term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
97647
diff
changeset
|
658 #endif |
314662df7c17
* term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
97647
diff
changeset
|
659 |
52401 | 660 /* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d |
661 (do not change this comment) */ |