Mercurial > emacs
annotate src/termhooks.h @ 112197:b6c07b465755
* emacs-lisp/package.el (package--list-packages): Use switch-to-buffer.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Wed, 12 Jan 2011 13:57:23 -0500 |
parents | ac49e05bfcf2 |
children | 417b1e4d63cd |
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, |
106815 | 3 2005, 2006, 2007, 2008, 2009, 2010 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. */ | |
109099 | 42 extern void (*fullscreen_hook) (struct frame *f); |
73863 | 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 |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
47 enum event_kind |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
48 { |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
49 NO_EVENT, /* nothing happened. This should never |
296 | 50 actually appear in the event queue. */ |
4799 | 51 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
52 ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps |
4799 | 53 with modifiers applied. |
54 .modifiers holds the state of the | |
55 modifier keys. | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
56 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
57 which the key was typed. |
485 | 58 .timestamp gives a timestamp (in |
59 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
60 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
|
61 perhaps with modifiers applied. |
e96da8e19cef
(enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents:
30175
diff
changeset
|
62 The others are the same as |
48090 | 63 ASCII_KEYSTROKE_EVENT. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
64 NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the |
296 | 65 function key. A code N represents |
66 a key whose name is | |
67 function_key_names[N]; function_key_names | |
68 is a table in keyboard.c to which you | |
69 should feel free to add missing keys. | |
70 .modifiers holds the state of the | |
338 | 71 modifier keys. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
72 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
73 which the key was typed. |
485 | 74 .timestamp gives a timestamp (in |
75 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
76 TIMER_EVENT, /* A timer fired. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
77 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
|
78 be >= 0 and < NUM_MOUSE_BUTTONS, defined |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
79 below. |
296 | 80 .modifiers holds the state of the |
81 modifier keys. | |
82 .x and .y give the mouse position, | |
708 | 83 in characters, within the window. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
84 .frame_or_window gives the frame |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
85 the mouse click occurred in. |
296 | 86 .timestamp gives a timestamp (in |
87 milliseconds) for the click. */ | |
51383
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
88 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
|
89 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
|
90 Intellimouse). |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
91 .modifiers holds the rotate |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
92 direction (up or down), and the |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
93 state of the modifier keys. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
94 .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
|
95 in characters, within the window. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
96 .frame_or_window gives the frame |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
97 the wheel event occurred in. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
98 .timestamp gives a timestamp (in |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
99 milliseconds) for the event. */ |
83880
2bccdc59cb53
(enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
Jason Rumney <jasonr@gnu.org>
parents:
83652
diff
changeset
|
100 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
|
101 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
|
102 mice. See WHEEL_EVENT. */ |
97043
9592c50233ab
Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96675
diff
changeset
|
103 #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
|
104 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
|
105 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
|
106 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
|
107 language is changed by the |
23800
a7dd4cded68c
termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents:
21889
diff
changeset
|
108 user. */ |
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
109 #endif |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
110 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
|
111 that was clicked. |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
112 .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
|
113 keys. |
296 | 114 .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
|
115 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
|
116 .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
|
117 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
|
118 length of the scroll bar. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
119 .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
|
120 whose scroll bar was clicked in. |
296 | 121 .timestamp gives a timestamp (in |
122 milliseconds) for the click. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
123 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
|
124 See `struct selection_input_event'. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
125 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
|
126 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
|
127 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
|
128 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
|
129 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
|
130 Lisp-level event value. |
34c94047f8f9
(menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents:
6747
diff
changeset
|
131 (Only the toolkit version uses these.) */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
132 ICONIFY_EVENT, /* An X client iconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
133 DEICONIFY_EVENT, /* An X client deiconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
134 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
|
135 (toolkit version only). */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
136 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
|
137 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
|
138 onto an Emacs window. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
139 .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
|
140 modifier keys. |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
141 .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
|
142 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
|
143 .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
|
144 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
|
145 .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
|
146 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
|
147 .timestamp gives a timestamp (in |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
148 milliseconds) for the click. */ |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
149 USER_SIGNAL_EVENT, /* A user signal. |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
150 code is a number identifying it, |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
151 index into lispy_user_signals. */ |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
152 |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
153 /* 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
|
154 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
|
155 the help to show. */ |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
156 HELP_EVENT, |
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 /* 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
|
159 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
|
160 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
|
161 TOOL_BAR_EVENT, |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
162 |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
163 /* 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
|
164 `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
|
165 FOCUS_IN_EVENT, |
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
166 |
44299
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
167 /* 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
|
168 SELECT_WINDOW_EVENT, |
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
169 |
43813
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
170 /* 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
|
171 save yourself before shutdown. */ |
78779
bf8af3b2e5a4
(enum event_kind): Remove trailing comma.
Jan Djärv <jan.h.d@swipnet.se>
parents:
78501
diff
changeset
|
172 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
|
173 |
80994
62b6aa7f8c37
Use HAVE_GPM instead of HAVE_GPM_H.
Nick Roberts <nickrob@snap.net.nz>
parents:
80986
diff
changeset
|
174 #ifdef HAVE_GPM |
85114 | 175 , 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
|
176 #endif |
85981
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
177 |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
178 #ifdef HAVE_DBUS |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
179 , DBUS_EVENT |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
180 #endif |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
181 |
106085
cd4cbab8bb21
Handle system default font and changing font parameters.
Jan Djärv <jan.h.d@swipnet.se>
parents:
103704
diff
changeset
|
182 , CONFIG_CHANGED_EVENT |
cd4cbab8bb21
Handle system default font and changing font parameters.
Jan Djärv <jan.h.d@swipnet.se>
parents:
103704
diff
changeset
|
183 |
85981
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
184 #ifdef WINDOWSNT |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
185 /* 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
|
186 Multimedia or Internet buttons on some keyboards. |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
187 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
|
188 Xkeyboard extension. |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
189 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
|
190 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
|
191 APPCOMMAND events means they can be disabled |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
192 (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
|
193 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
|
194 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
|
195 first, so this is not a problem there. */ |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
196 , MULTIMEDIA_KEY_EVENT |
637a3f0d04e3
(enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents:
85114
diff
changeset
|
197 #endif |
101490
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
198 |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
199 #ifdef HAVE_NS |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
200 /* 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
|
201 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
|
202 , 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
|
203 /* 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
|
204 , 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
|
205 #endif |
cfaf6934d659
Changes to remove Feval calls from GUI under NS.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
100951
diff
changeset
|
206 |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
207 }; |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
208 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
209 /* 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
|
210 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
|
211 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
|
212 |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
213 /* 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
|
214 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
|
215 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
|
216 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
|
217 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
218 struct input_event |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
219 { |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
220 /* 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
|
221 enum event_kind kind; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
222 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
223 /* 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
|
224 this is the character. |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
225 For a NON_ASCII_KEYSTROKE_EVENT, this is the keysym code. |
110559
9c63d46e000c
Fix int/EMACS_INT use in keyboard.c.
Eli Zaretskii <eliz@gnu.org>
parents:
109165
diff
changeset
|
226 For a mouse event, this is the button number. |
9c63d46e000c
Fix int/EMACS_INT use in keyboard.c.
Eli Zaretskii <eliz@gnu.org>
parents:
109165
diff
changeset
|
227 For a HELP_EVENT, this is the position within the object |
9c63d46e000c
Fix int/EMACS_INT use in keyboard.c.
Eli Zaretskii <eliz@gnu.org>
parents:
109165
diff
changeset
|
228 (stored in ARG below) where the help was found. */ |
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
229 /* In WindowsNT, for a mouse wheel event, this is the delta. */ |
110559
9c63d46e000c
Fix int/EMACS_INT use in keyboard.c.
Eli Zaretskii <eliz@gnu.org>
parents:
109165
diff
changeset
|
230 EMACS_INT code; |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
231 enum scroll_bar_part part; |
732 | 232 |
14161
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
233 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
|
234 |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
235 Lisp_Object x, y; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
236 unsigned long timestamp; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
237 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
238 /* 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
|
239 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
|
240 int *padding[2]; |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
241 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
242 /* 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
|
243 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
|
244 /* 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
|
245 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
|
246 /* 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
|
247 does not overlap with it. */ |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
248 Lisp_Object frame_or_window; |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
249 |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
250 /* 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
|
251 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
|
252 Lisp_Object arg; |
296 | 253 }; |
21515 | 254 |
109165
750db9f3e6d8
Replace bcopy, bzero, bcmp by memcpy, memmove, memset, memcmp
Andreas Schwab <schwab@linux-m68k.org>
parents:
109099
diff
changeset
|
255 #define EVENT_INIT(event) memset (&(event), 0, sizeof (struct input_event)) |
51568
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
256 |
1238
407100cee78a
* termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents:
766
diff
changeset
|
257 /* 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
|
258 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
|
259 order. |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
260 |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
261 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
|
262 window-system-specific code should store mouse clicks with |
1319 | 263 up_modifier or down_modifier set. Having an explicit down modifier |
264 simplifies some of window-system-independent code; without it, the | |
265 code would have to recognize down events by checking if the event | |
266 is a mouse click lacking the click and drag modifiers. | |
267 | |
268 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
|
269 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
|
270 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
|
271 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
|
272 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
|
273 event heads. */ |
296 | 274 enum { |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
275 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
|
276 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
|
277 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
|
278 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
|
279 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
|
280 queue; it's only used internally by |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
281 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
|
282 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
|
283 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
|
284 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
|
285 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
286 /* 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
|
287 the Lisp level. |
2046
9e30cf115e63
(alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
288 |
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
289 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
|
290 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
|
291 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
|
292 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
|
293 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
|
294 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
|
295 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
|
296 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
297 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
|
298 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
|
299 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
|
300 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
|
301 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
|
302 ctrl_modifier = CHAR_CTL, |
4569
9ea563d584f4
(enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents:
4143
diff
changeset
|
303 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */ |
296 | 304 }; |
305 | |
80994
62b6aa7f8c37
Use HAVE_GPM instead of HAVE_GPM_H.
Nick Roberts <nickrob@snap.net.nz>
parents:
80986
diff
changeset
|
306 #ifdef HAVE_GPM |
80986
ae304624e812
(enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents:
75227
diff
changeset
|
307 #include <gpm.h> |
83622 | 308 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
|
309 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
|
310 |
84768
53194ec05789
* termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84691
diff
changeset
|
311 /* 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
|
312 extern struct tty_display_info *gpm_tty; |
296 | 313 #endif |
52401 | 314 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
315 |
96675
d45acf0c8d23
merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
94994
diff
changeset
|
316 struct ns_display_info; |
d45acf0c8d23
merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
94994
diff
changeset
|
317 struct x_display_info; |
83619
5da6a46ddbd6
* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
83580
diff
changeset
|
318 struct w32_display_info; |
5da6a46ddbd6
* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
83580
diff
changeset
|
319 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
320 /* 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
|
321 struct terminal |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
322 { |
84691
920b65c5b922
(struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83880
diff
changeset
|
323 /* 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
|
324 /* The terminal code does not refer to them. */ |
85022
96eb42c9e0e3
* window.h (struct window):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84953
diff
changeset
|
325 EMACS_UINT size; |
84691
920b65c5b922
(struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83880
diff
changeset
|
326 struct Lisp_Vector *vec_next; |
920b65c5b922
(struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83880
diff
changeset
|
327 |
84953
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
328 /* 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
|
329 Lisp_Object param_alist; |
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
330 |
111237
6788b08ca420
Handle glyphless characters on tty.
Kenichi Handa <handa@m17n.org>
parents:
110738
diff
changeset
|
331 /* List of charsets supported by the terminal. It is set by |
6788b08ca420
Handle glyphless characters on tty.
Kenichi Handa <handa@m17n.org>
parents:
110738
diff
changeset
|
332 Fset_terminal_coding_system_internal along with |
6788b08ca420
Handle glyphless characters on tty.
Kenichi Handa <handa@m17n.org>
parents:
110738
diff
changeset
|
333 the member terminal_coding. */ |
6788b08ca420
Handle glyphless characters on tty.
Kenichi Handa <handa@m17n.org>
parents:
110738
diff
changeset
|
334 Lisp_Object charset_list; |
6788b08ca420
Handle glyphless characters on tty.
Kenichi Handa <handa@m17n.org>
parents:
110738
diff
changeset
|
335 |
84953
0440e26f0af7
(struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
84768
diff
changeset
|
336 /* 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
|
337 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
|
338 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
339 /* 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
|
340 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
|
341 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
342 /* 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
|
343 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
|
344 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
345 /* 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
|
346 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
|
347 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
348 /* 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
|
349 enum output_method type; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
350 |
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
|
351 /* 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
|
352 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
|
353 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
|
354 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
|
355 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
356 /* 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
|
357 struct kboard *kboard; |
52401 | 358 |
92109
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
359 #ifdef HAVE_WINDOW_SYSTEM |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
360 /* Cache of images. */ |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
361 struct image_cache *image_cache; |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
362 #endif /* HAVE_WINDOW_SYSTEM */ |
4d9fc08769fa
Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
363 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
364 /* 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
|
365 union display_info |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
366 { |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
367 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
|
368 struct x_display_info *x; /* xterm.h */ |
83580
a791f826b2cc
(display_info) [WINDOWSNT]: Add w32.
Jason Rumney <jasonr@gnu.org>
parents:
83554
diff
changeset
|
369 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
|
370 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
|
371 } display_info; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
372 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
373 |
83127
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
374 /* 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
|
375 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
|
376 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
|
377 `safe_terminal_coding' in coding.h. */ |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
378 struct coding_system *terminal_coding; |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
379 |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
380 /* 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
|
381 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
|
382 the function `set-keyboard-coding-system'. */ |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
383 struct coding_system *keyboard_coding; |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
384 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
385 /* Terminal characteristics. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
386 /* 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
|
387 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
388 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
|
389 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
|
390 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
|
391 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
|
392 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
393 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
|
394 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
|
395 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
|
396 window */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
397 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
|
398 measured in characters. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
399 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
|
400 off bottom */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
401 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
402 #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
|
403 /* 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
|
404 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
|
405 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
|
406 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
|
407 #endif |
ae304624e812
(enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents:
75227
diff
changeset
|
408 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
409 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
410 /* 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
|
411 devices). */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
412 struct redisplay_interface *rif; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
413 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
414 /* Frame-based redisplay interface. */ |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
415 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
416 /* Text display hooks. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
417 |
109099 | 418 void (*cursor_to_hook) (struct frame *f, int vpos, int hpos); |
419 void (*raw_cursor_to_hook) (struct frame *, int, int); | |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
420 |
109099 | 421 void (*clear_to_end_hook) (struct frame *); |
422 void (*clear_frame_hook) (struct frame *); | |
423 void (*clear_end_of_line_hook) (struct frame *, int); | |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
424 |
109099 | 425 void (*ins_del_lines_hook) (struct frame *f, int, int); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
426 |
109099 | 427 void (*insert_glyphs_hook) (struct frame *f, struct glyph *s, int n); |
428 void (*write_glyphs_hook) (struct frame *f, struct glyph *s, int n); | |
429 void (*delete_glyphs_hook) (struct frame *, int); | |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
430 |
109099 | 431 void (*ring_bell_hook) (struct frame *f); |
432 void (*toggle_invisible_pointer_hook) (struct frame *f, int invisible); | |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
433 |
109099 | 434 void (*reset_terminal_modes_hook) (struct terminal *); |
435 void (*set_terminal_modes_hook) (struct terminal *); | |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
436 |
109099 | 437 void (*update_begin_hook) (struct frame *); |
438 void (*update_end_hook) (struct frame *); | |
439 void (*set_terminal_window_hook) (struct frame *, int); | |
83004
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 /* 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
|
442 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
443 /* 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
|
444 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
445 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
|
446 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
|
447 garbage. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
448 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
449 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
|
450 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
|
451 *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
|
452 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
|
453 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
454 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
|
455 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
|
456 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
457 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
|
458 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
459 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
|
460 event arrives. */ |
109099 | 461 void (*mouse_position_hook) (struct frame **f, int, |
462 Lisp_Object *bar_window, | |
463 enum scroll_bar_part *part, | |
464 Lisp_Object *x, | |
465 Lisp_Object *y, | |
466 unsigned long *time); | |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
467 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
468 /* 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
|
469 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
|
470 hook should clear this. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
471 int mouse_moved; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
472 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
473 /* 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
|
474 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
|
475 X, this means that Emacs lies about where the focus is. */ |
109099 | 476 void (*frame_rehighlight_hook) (struct frame *); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
477 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
478 /* 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
|
479 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
|
480 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
|
481 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
|
482 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
|
483 anything. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
484 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
485 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
|
486 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
|
487 windows. */ |
109099 | 488 void (*frame_raise_lower_hook) (struct frame *f, int raise); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
489 |
83548
c71725faff1a
Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
490 /* 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
|
491 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
|
492 may do something OS dependent, like extended window manager hints on X11. */ |
109099 | 493 void (*fullscreen_hook) (struct frame *f); |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
494 |
83004
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 /* Scroll bar hooks. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
497 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
498 /* 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
|
499 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
|
500 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
|
501 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
|
502 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
|
503 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
504 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
|
505 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
|
506 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
|
507 scroll bar manipulation it needs. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
508 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
509 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
|
510 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
|
511 scroll bar. |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
512 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
513 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
|
514 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
|
515 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
|
516 |
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
517 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
518 /* 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
|
519 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
|
520 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
|
521 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
|
522 have a scroll bar, create one for it. */ |
109099 | 523 void (*set_vertical_scroll_bar_hook) (struct window *window, |
524 int portion, int whole, | |
525 int position); | |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
526 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
527 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
528 /* 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
|
529 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
|
530 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
|
531 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
|
532 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
|
533 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
|
534 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
|
535 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
536 /* 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
|
537 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
|
538 `*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
|
539 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
540 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
|
541 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
|
542 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
|
543 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
|
544 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
545 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
|
546 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
|
547 currently displaying them. */ |
109099 | 548 void (*condemn_scroll_bars_hook) (struct frame *frame); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
549 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
550 /* 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
|
551 Note that it's okay to redeem a scroll bar that is not condemned. */ |
109099 | 552 void (*redeem_scroll_bar_hook) (struct window *window); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
553 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
554 /* 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
|
555 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
|
556 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
557 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
|
558 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
|
559 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
|
560 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
|
561 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
562 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
|
563 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
|
564 currently displaying them. */ |
109099 | 565 void (*judge_scroll_bars_hook) (struct frame *FRAME); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
566 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
567 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
568 /* 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
|
569 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
570 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
|
571 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
|
572 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
|
573 is available. |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
574 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
575 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
|
576 where read into BUF. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
577 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
|
578 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
|
579 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
|
580 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
581 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
|
582 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
|
583 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
|
584 Therefore, in most cases EXPECTED should be simply ignored. |
83067 | 585 |
586 XXX This documentation needs to be updated. */ | |
109099 | 587 int (*read_socket_hook) (struct terminal *terminal, |
588 int expected, | |
589 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
|
590 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
591 /* Called when a frame's display becomes entirely up to date. */ |
109099 | 592 void (*frame_up_to_date_hook) (struct frame *); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
593 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
594 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
595 /* 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
|
596 on this terminal device. */ |
109099 | 597 void (*delete_frame_hook) (struct frame *); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
598 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
599 /* 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
|
600 the display device was closed (hangup). |
86940
2dd672d9fe75
* config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents:
85981
diff
changeset
|
601 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
602 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
|
603 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
|
604 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
605 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
|
606 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
|
607 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
|
608 recursion is prevented. */ |
109099 | 609 void (*delete_terminal_hook) (struct terminal *); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
610 }; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
611 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
612 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
613 /* 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
|
614 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
|
615 |
83431
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_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
|
617 #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
|
618 #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
|
619 #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
|
620 #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
|
621 #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
|
622 #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
|
623 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
624 #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
|
625 #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
|
626 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
627 #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
|
628 #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
|
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_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
|
631 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
632 #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
|
633 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
634 /* 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
|
635 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
|
636 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
637 #ifdef HAVE_X_WINDOWS |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
638 #define FRAME_WINDOW_P(f) FRAME_X_P (f) |
296 | 639 #endif |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
640 #ifdef HAVE_NTGUI |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
641 #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
|
642 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
643 #ifndef FRAME_WINDOW_P |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
644 #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
|
645 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
646 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
647 /* 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
|
648 #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
|
649 |
109099 | 650 extern struct terminal *get_terminal (Lisp_Object terminal, int); |
651 extern struct terminal *create_terminal (void); | |
652 extern void delete_terminal (struct terminal *); | |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
653 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83423
diff
changeset
|
654 /* 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
|
655 extern struct terminal *initial_terminal; |
52401 | 656 |
98155
314662df7c17
* term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
97647
diff
changeset
|
657 #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
|
658 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
|
659 #endif |
314662df7c17
* term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
97647
diff
changeset
|
660 |
52401 | 661 /* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d |
662 (do not change this comment) */ |