annotate src/termhooks.h @ 99492:ee792794d888

(isearch-search-fun): Compare the length of the current search string with the length of the string from the previous search state to detect the situation when the user adds or removes characters in the search string. Use word-search-forward-lax and word-search-backward-lax in this case, and otherwise word-search-forward and word-search-backward.
author Juri Linkov <juri@jurta.org>
date Tue, 11 Nov 2008 19:43:09 +0000
parents 314662df7c17
children dab9cf44bf3f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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,
79759
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78779
diff changeset
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
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
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
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
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
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
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
bf62fb0d4b65 Add fullscreen_hook.
Jan Djärv <jan.h.d@swipnet.se>
parents: 70386
diff changeset
39 /* If the value of the frame parameter changed, whis hook is called.
bf62fb0d4b65 Add fullscreen_hook.
Jan Djärv <jan.h.d@swipnet.se>
parents: 70386
diff changeset
40 For example, if going from fullscreen to not fullscreen this hook
bf62fb0d4b65 Add fullscreen_hook.
Jan Djärv <jan.h.d@swipnet.se>
parents: 70386
diff changeset
41 may do something OS dependent, like extended window manager hints on X11. */
bf62fb0d4b65 Add fullscreen_hook.
Jan Djärv <jan.h.d@swipnet.se>
parents: 70386
diff changeset
42 extern void (*fullscreen_hook) P_ ((struct frame *f));
bf62fb0d4b65 Add fullscreen_hook.
Jan Djärv <jan.h.d@swipnet.se>
parents: 70386
diff changeset
43
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
44
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
45 /* Input queue declarations and hooks. */
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
46
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 /* Expedient hack: only provide the below definitions to files that
78501
1677cf1c2509 Replace `iff' in comments.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
48 are prepared to handle lispy things. CONSP is defined if lisp.h
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
49 has been included before this file. */
4143
5c8de184cccf * termhooks.h: In order to avoid declaring struct input_event
Jim Blandy <jimb@redhat.com>
parents: 3861
diff changeset
50 #ifdef CONSP
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
52 enum event_kind
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
53 {
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
54 NO_EVENT, /* nothing happened. This should never
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 actually appear in the event queue. */
4799
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
56
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
57 ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps
4799
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
58 with modifiers applied.
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
59 .modifiers holds the state of the
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
60 modifier keys.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
61 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
62 which the key was typed.
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
63 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
64 milliseconds) for the keystroke. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
65 MULTIBYTE_CHAR_KEYSTROKE_EVENT, /* The multibyte char code is in .code,
30750
e96da8e19cef (enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents: 30175
diff changeset
66 perhaps with modifiers applied.
e96da8e19cef (enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents: 30175
diff changeset
67 The others are the same as
48090
b7e13d33cf41 Comment.
Dave Love <fx@gnu.org>
parents: 46798
diff changeset
68 ASCII_KEYSTROKE_EVENT. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
69 NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 function key. A code N represents
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 a key whose name is
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 function_key_names[N]; function_key_names
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 is a table in keyboard.c to which you
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 should feel free to add missing keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 .modifiers holds the state of the
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
76 modifier keys.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
77 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
78 which the key was typed.
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
79 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
80 milliseconds) for the keystroke. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
81 TIMER_EVENT, /* A timer fired. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
82 MOUSE_CLICK_EVENT, /* The button number is in .code; it must
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
83 be >= 0 and < NUM_MOUSE_BUTTONS, defined
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
84 below.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 .modifiers holds the state of the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 modifier keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 .x and .y give the mouse position,
708
030fb4635335 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 648
diff changeset
88 in characters, within the window.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
89 .frame_or_window gives the frame
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
90 the mouse click occurred in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 milliseconds) for the click. */
51383
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
93 WHEEL_EVENT, /* A wheel event is generated by a
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
94 wheel on a mouse (e.g., MS
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
95 Intellimouse).
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
96 .modifiers holds the rotate
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
97 direction (up or down), and the
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
98 state of the modifier keys.
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
99 .x and .y give the mouse position,
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
100 in characters, within the window.
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
101 .frame_or_window gives the frame
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
102 the wheel event occurred in.
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
103 .timestamp gives a timestamp (in
8f30748bdf8f (enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents: 49600
diff changeset
104 milliseconds) for the event. */
83880
2bccdc59cb53 (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
Jason Rumney <jasonr@gnu.org>
parents: 83652
diff changeset
105 HORIZ_WHEEL_EVENT, /* A wheel event generated by a second
2bccdc59cb53 (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
Jason Rumney <jasonr@gnu.org>
parents: 83652
diff changeset
106 horizontal wheel that is present on some
2bccdc59cb53 (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
Jason Rumney <jasonr@gnu.org>
parents: 83652
diff changeset
107 mice. See WHEEL_EVENT. */
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96675
diff changeset
108 #if defined (WINDOWSNT)
61501
1ccfb57e0ed0 (enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 54168
diff changeset
109 LANGUAGE_CHANGE_EVENT, /* A LANGUAGE_CHANGE_EVENT is
1ccfb57e0ed0 (enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 54168
diff changeset
110 generated on WINDOWSNT or Mac OS
1ccfb57e0ed0 (enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 54168
diff changeset
111 when the keyboard layout or input
1ccfb57e0ed0 (enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 54168
diff changeset
112 language is changed by the
23800
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
113 user. */
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
114 #endif
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
115 SCROLL_BAR_CLICK_EVENT, /* .code gives the number of the mouse button
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
116 that was clicked.
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
117 .modifiers holds the state of the modifier
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
118 keys.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 .part is a lisp symbol indicating which
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
120 part of the scroll bar got clicked.
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
121 .x gives the distance from the start of the
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
122 scroll bar of the click; .y gives the total
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
123 length of the scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
124 .frame_or_window gives the window
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
125 whose scroll bar was clicked in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127 milliseconds) for the click. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
128 SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us.
67460
d74c30ee3772 (enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64770
diff changeset
129 See `struct selection_input_event'. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
130 SELECTION_CLEAR_EVENT, /* Another X client cleared our selection. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
131 BUFFER_SWITCH_EVENT, /* A process filter has switched buffers. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
132 DELETE_WINDOW_EVENT, /* An X client said "delete this window". */
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
133 MENU_BAR_EVENT, /* An event generated by the menu bar.
10798
6f71ef20581c Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents: 9728
diff changeset
134 The frame_or_window field's cdr holds the
7097
34c94047f8f9 (menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents: 6747
diff changeset
135 Lisp-level event value.
34c94047f8f9 (menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents: 6747
diff changeset
136 (Only the toolkit version uses these.) */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
137 ICONIFY_EVENT, /* An X client iconified this window. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
138 DEICONIFY_EVENT, /* An X client deiconified this window. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
139 MENU_BAR_ACTIVATE_EVENT, /* A button press in the menu bar
12660
8b9633307acc (enum event_kind): Added menu_bar_activate_event.
Richard M. Stallman <rms@gnu.org>
parents: 10798
diff changeset
140 (toolkit version only). */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
141 DRAG_N_DROP_EVENT, /* A drag-n-drop event is generated when
21889
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
142 files selected outside of Emacs are dropped
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
143 onto an Emacs window.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
144 .modifiers holds the state of the
21889
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
145 modifier keys.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
146 .x and .y give the mouse position,
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
147 in characters, within the window.
67668
8926adaaf30f (struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67460
diff changeset
148 .frame_or_window is the frame in
8926adaaf30f (struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67460
diff changeset
149 which the drop was made.
8926adaaf30f (struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67460
diff changeset
150 .arg is a platform-dependent
8926adaaf30f (struct input_event): Fix comment for DRAG_N_DROP_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67460
diff changeset
151 representation of the dropped items.
21889
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
152 .timestamp gives a timestamp (in
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
153 milliseconds) for the click. */
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
154 USER_SIGNAL_EVENT, /* A user signal.
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
155 code is a number identifying it,
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
156 index into lispy_user_signals. */
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
157
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
158 /* Help events. Member `frame_or_window' of the input_event is the
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
159 frame on which the event occurred, and member `arg' contains
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
160 the help to show. */
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
161 HELP_EVENT,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
162
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
163 /* An event from a tool-bar. Member `arg' of the input event
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
164 contains the tool-bar item selected. If `frame_or_window'
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
165 and `arg' are equal, this is a prefix event. */
29514
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
166 TOOL_BAR_EVENT,
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
167
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
168 /* Queued from XTread_socket on FocusIn events. Translated into
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
169 `switch-frame' events in kbd_buffer_get_event, if necessary. */
43813
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
170 FOCUS_IN_EVENT,
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
171
44299
b7f9e859425a (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents: 43813
diff changeset
172 /* Generated when mouse moves over window not currently selected. */
b7f9e859425a (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents: 43813
diff changeset
173 SELECT_WINDOW_EVENT,
b7f9e859425a (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents: 43813
diff changeset
174
43813
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
175 /* Queued from XTread_socket when session manager sends
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
176 save yourself before shutdown. */
78779
bf8af3b2e5a4 (enum event_kind): Remove trailing comma.
Jan Djärv <jan.h.d@swipnet.se>
parents: 78501
diff changeset
177 SAVE_SESSION_EVENT
67460
d74c30ee3772 (enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64770
diff changeset
178
80994
62b6aa7f8c37 Use HAVE_GPM instead of HAVE_GPM_H.
Nick Roberts <nickrob@snap.net.nz>
parents: 80986
diff changeset
179 #ifdef HAVE_GPM
85114
5039706521c9 Merge from emacs--rel--22
Miles Bader <miles@gnu.org>
parents: 85022 78779
diff changeset
180 , GPM_CLICK_EVENT
67460
d74c30ee3772 (enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64770
diff changeset
181 #endif
85981
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
182
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
183 #ifdef HAVE_DBUS
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
184 , DBUS_EVENT
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
185 #endif
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
186
85981
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
187 #ifdef WINDOWSNT
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
188 /* Generated when an APPCOMMAND event is received, in response to
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
189 Multimedia or Internet buttons on some keyboards.
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
190 Such keys are available as normal function keys on X through the
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
191 Xkeyboard extension.
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
192 On Windows, some of them get mapped to normal function key events,
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
193 but others need to be handled by APPCOMMAND. Handling them all as
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
194 APPCOMMAND events means they can be disabled
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
195 (w32-pass-multimedia-buttons-to-system), important on Windows since
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
196 the system never sees these keys if Emacs claims to handle them.
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
197 On X, the window manager seems to grab the keys it wants
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
198 first, so this is not a problem there. */
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
199 , MULTIMEDIA_KEY_EVENT
637a3f0d04e3 (enum event_kind) [WINDOWSNT]: Likewise.
Jason Rumney <jasonr@gnu.org>
parents: 85114
diff changeset
200 #endif
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
201 };
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
202
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
203 /* 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
204 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
205 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
206
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
207 /* 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
208 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
209 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
210 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
211
14393
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
212 struct input_event
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
213 {
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
214 /* 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
215 enum event_kind kind;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
216
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
217 /* 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
218 this is the character.
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
219 For a NON_ASCII_KEYSTROKE_EVENT, this is the keysym code.
5361
f8be998bdeba (struct input_event): FIx typo in previous change.
Richard M. Stallman <rms@gnu.org>
parents: 5226
diff changeset
220 For a mouse event, this is the button number. */
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
221 /* In WindowsNT, for a mouse wheel event, this is the delta. */
5226
4891291b5785 (struct input_event): `code' is now an int.
Richard M. Stallman <rms@gnu.org>
parents: 5106
diff changeset
222 int code;
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
223 enum scroll_bar_part part;
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 708
diff changeset
224
14161
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
225 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
226
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
227 Lisp_Object x, y;
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
228 unsigned long timestamp;
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
229
14393
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
230 /* 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
231 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
232 int *padding[2];
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
233
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
234 /* 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
235 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
236 /* 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
237 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
238 /* 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
239 does not overlap with it. */
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
240 Lisp_Object frame_or_window;
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
241
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
242 /* 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
243 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
244 Lisp_Object arg;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245 };
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
246
51568
5dc40bf1e32a (EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 51466
diff changeset
247 #define EVENT_INIT(event) bzero (&(event), sizeof (struct input_event))
5dc40bf1e32a (EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 51466
diff changeset
248
1238
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
249 /* 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
250 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
251 order.
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
252
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
253 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
254 window-system-specific code should store mouse clicks with
1319
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
255 up_modifier or down_modifier set. Having an explicit down modifier
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
256 simplifies some of window-system-independent code; without it, the
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
257 code would have to recognize down events by checking if the event
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
258 is a mouse click lacking the click and drag modifiers.
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
259
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
260 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
261 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
262 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
263 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
264 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
265 event heads. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 enum {
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
267 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
268 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
269 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
270 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
271 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
272 queue; it's only used internally by
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
273 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
274 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
275 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
276 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
277
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
278 /* 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
279 the Lisp level.
2046
9e30cf115e63 (alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
280
2659
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
281 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
282 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
283 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
284 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
285 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
286 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
287 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
288
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
289 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
290 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
291 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
292 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
293 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
294 ctrl_modifier = CHAR_CTL,
4569
9ea563d584f4 (enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents: 4143
diff changeset
295 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
296 };
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
297
80994
62b6aa7f8c37 Use HAVE_GPM instead of HAVE_GPM_H.
Nick Roberts <nickrob@snap.net.nz>
parents: 80986
diff changeset
298 #ifdef HAVE_GPM
80986
ae304624e812 (enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents: 75227
diff changeset
299 #include <gpm.h>
83622
0a3247aa24a4 Merged from emacs--devo--0
Miles Bader <miles@gnu.org>
parents: 83619 80994
diff changeset
300 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
301 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
302
84768
53194ec05789 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84691
diff changeset
303 /* 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
304 extern struct tty_display_info *gpm_tty;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
305 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51568
diff changeset
306
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
307 #endif /* CONSP */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51568
diff changeset
308
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
309
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 94994
diff changeset
310 struct ns_display_info;
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 94994
diff changeset
311 struct x_display_info;
83619
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83580
diff changeset
312 struct w32_display_info;
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83580
diff changeset
313
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
314 /* 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
315 struct terminal
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
316 {
84691
920b65c5b922 (struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83880
diff changeset
317 /* 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
318 /* The terminal code does not refer to them. */
85022
96eb42c9e0e3 * window.h (struct window):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84953
diff changeset
319 EMACS_UINT size;
84691
920b65c5b922 (struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83880
diff changeset
320 struct Lisp_Vector *vec_next;
920b65c5b922 (struct terminal): Make it into a pseudovector.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83880
diff changeset
321
84953
0440e26f0af7 (struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84768
diff changeset
322 /* 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
323 Lisp_Object param_alist;
0440e26f0af7 (struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84768
diff changeset
324
0440e26f0af7 (struct terminal): Move all Lisp_Object fields traced by
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84768
diff changeset
325 /* 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
326 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
327
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
328 /* 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
329 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
330
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
331 /* 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
332 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
333
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
334 /* 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
335 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
336
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
337 /* 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
338 enum output_method type;
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
339
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
340 /* 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
341 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
342 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
343 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
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 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
346 struct kboard *kboard;
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51568
diff changeset
347
92109
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
348 #ifdef HAVE_WINDOW_SYSTEM
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
349 /* Cache of images. */
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
350 struct image_cache *image_cache;
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
351 #endif /* HAVE_WINDOW_SYSTEM */
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87649
diff changeset
352
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
353 /* 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
354 union display_info
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
355 {
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
356 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
357 struct x_display_info *x; /* xterm.h */
83580
a791f826b2cc (display_info) [WINDOWSNT]: Add w32.
Jason Rumney <jasonr@gnu.org>
parents: 83554
diff changeset
358 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
359 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
360 } display_info;
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
361
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
362
83127
5182815e0ee1 Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents: 83100
diff changeset
363 /* 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
364 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
365 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
366 `safe_terminal_coding' in coding.h. */
5182815e0ee1 Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents: 83100
diff changeset
367 struct coding_system *terminal_coding;
5182815e0ee1 Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents: 83100
diff changeset
368
5182815e0ee1 Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents: 83100
diff changeset
369 /* 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
370 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
371 the function `set-keyboard-coding-system'. */
5182815e0ee1 Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents: 83100
diff changeset
372 struct coding_system *keyboard_coding;
5182815e0ee1 Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents: 83100
diff changeset
373
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
374 /* Terminal characteristics. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
375 /* 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
376
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
377 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
378 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
379 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
380 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
381
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
382 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
383 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
384 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
385 window */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
386 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
387 measured in characters. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
388 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
389 off bottom */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
390
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
391 #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
392 /* 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
393 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
394 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
395 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
396 #endif
ae304624e812 (enum event_kind): Add GPM_CLICK_EVENT.
Nick Roberts <nickrob@snap.net.nz>
parents: 75227
diff changeset
397
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
398
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
399 /* 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
400 devices). */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
401 struct redisplay_interface *rif;
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
402
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
403 /* Frame-based redisplay interface. */
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
404
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
405 /* Text display hooks. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
406
83100
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
407 void (*cursor_to_hook) P_ ((struct frame *f, int vpos, int hpos));
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
408 void (*raw_cursor_to_hook) P_ ((struct frame *, int, int));
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
409
83100
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
410 void (*clear_to_end_hook) P_ ((struct frame *));
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
411 void (*clear_frame_hook) P_ ((struct frame *));
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
412 void (*clear_end_of_line_hook) P_ ((struct frame *, int));
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
413
83100
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
414 void (*ins_del_lines_hook) P_ ((struct frame *f, int, int));
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
415
83100
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
416 void (*insert_glyphs_hook) P_ ((struct frame *f, struct glyph *s, int n));
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
417 void (*write_glyphs_hook) P_ ((struct frame *f, struct glyph *s, int n));
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
418 void (*delete_glyphs_hook) P_ ((struct frame *, int));
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
419
83100
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
420 void (*ring_bell_hook) P_ ((struct frame *f));
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
421
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
422 void (*reset_terminal_modes_hook) P_ ((struct terminal *));
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
423 void (*set_terminal_modes_hook) P_ ((struct terminal *));
83100
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
424
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
425 void (*update_begin_hook) P_ ((struct frame *));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
426 void (*update_end_hook) P_ ((struct frame *));
83100
4970ad4995f5 Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83067
diff changeset
427 void (*set_terminal_window_hook) P_ ((struct frame *, int));
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
428
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
429 /* 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
430
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
431 /* 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
432
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
433 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
434 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
435 garbage.
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
436
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
437 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
438 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
439 *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
440 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
441
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
442 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
443 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
444
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
445 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
446
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
447 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
448 event arrives. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
449 void (*mouse_position_hook) P_ ((struct frame **f, int,
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
450 Lisp_Object *bar_window,
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
451 enum scroll_bar_part *part,
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
452 Lisp_Object *x,
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
453 Lisp_Object *y,
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
454 unsigned long *time));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
455
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
456 /* 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
457 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
458 hook should clear this. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
459 int mouse_moved;
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
460
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
461 /* 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
462 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
463 X, this means that Emacs lies about where the focus is. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
464 void (*frame_rehighlight_hook) P_ ((struct frame *));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
465
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
466 /* 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
467 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
468 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
469 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
470 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
471 anything.
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
472
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
473 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
474 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
475 windows. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
476 void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
477
83548
c71725faff1a Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Karoly Lorentey <lorentey@elte.hu>
parents: 83525 73863
diff changeset
478 /* 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>
parents: 83525 73863
diff changeset
479 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>
parents: 83525 73863
diff changeset
480 may do something OS dependent, like extended window manager hints on X11. */
c71725faff1a Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Karoly Lorentey <lorentey@elte.hu>
parents: 83525 73863
diff changeset
481 void (*fullscreen_hook) P_ ((struct frame *f));
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
482
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
483
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
484 /* Scroll bar hooks. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
485
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
486 /* 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
487 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
488 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
489 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
490 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
491
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
492 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
493 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
494 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
495 scroll bar manipulation it needs.
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
496
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
497 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
498 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
499 scroll bar.
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
500
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
501 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
502 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
503 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
504
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
505
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
506 /* 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
507 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
508 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
509 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
510 have a scroll bar, create one for it. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
511 void (*set_vertical_scroll_bar_hook) P_ ((struct window *window,
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
512 int portion, int whole,
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
513 int position));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
514
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
515
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
516 /* 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
517 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
518 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
519 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
520 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
521 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
522 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
523
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
524 /* 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
525 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
526 `*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
527
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
528 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
529 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
530 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
531 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
532
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
533 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
534 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
535 currently displaying them. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
536 void (*condemn_scroll_bars_hook) P_ ((struct frame *frame));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
537
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
538 /* 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
539 Note that it's okay to redeem a scroll bar that is not condemned. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
540 void (*redeem_scroll_bar_hook) P_ ((struct window *window));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
541
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
542 /* 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
543 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
544
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
545 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
546 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
547 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
548 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
549
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
550 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
551 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
552 currently displaying them. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
553 void (*judge_scroll_bars_hook) P_ ((struct frame *FRAME));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
554
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
555
83021
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83011
diff changeset
556 /* 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
557
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
558 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
559 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
560 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
561 is available.
83021
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83011
diff changeset
562
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83011
diff changeset
563 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
564 where read into BUF.
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83011
diff changeset
565 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
566 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
567 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
568
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83011
diff changeset
569 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
570 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
571 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
572 Therefore, in most cases EXPECTED should be simply ignored.
83067
b44978264e1d Merged in changes from CVS HEAD
Karoly Lorentey <lorentey@elte.hu>
parents: 83065 54168
diff changeset
573
b44978264e1d Merged in changes from CVS HEAD
Karoly Lorentey <lorentey@elte.hu>
parents: 83065 54168
diff changeset
574 XXX This documentation needs to be updated. */
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
575 int (*read_socket_hook) P_ ((struct terminal *terminal,
83067
b44978264e1d Merged in changes from CVS HEAD
Karoly Lorentey <lorentey@elte.hu>
parents: 83065 54168
diff changeset
576 int expected,
b44978264e1d Merged in changes from CVS HEAD
Karoly Lorentey <lorentey@elte.hu>
parents: 83065 54168
diff changeset
577 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
578
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
579 /* Called when a frame's display becomes entirely up to date. */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
580 void (*frame_up_to_date_hook) P_ ((struct frame *));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
581
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
582
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
583 /* 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
584 on this terminal device. */
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
585 void (*delete_frame_hook) P_ ((struct frame *));
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
586
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
587 /* 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
588 the display device was closed (hangup).
86940
2dd672d9fe75 * config.in (HAVE_DBUS): Add.
Michael Albinus <michael.albinus@gmx.de>
parents: 85981
diff changeset
589
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
590 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
591 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
592
83021
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83011
diff changeset
593 The hook must check for and close any live frames that are still
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
594 on the terminal. Fdelete_frame ensures that there are no live
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
595 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
596 recursion is prevented. */
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
597 void (*delete_terminal_hook) P_ ((struct terminal *));
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
598 };
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
599
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
600
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
601 /* 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
602 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
603
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
604 #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
605 #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
606 #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
607 #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
608 #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
609 #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
610 #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
611
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
612 #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
613 #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
614
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
615 #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
616 #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
617
83431
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_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
619
83431
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_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
621
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
622 /* 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
623 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
624
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
625 #ifdef HAVE_X_WINDOWS
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
626 #define FRAME_WINDOW_P(f) FRAME_X_P (f)
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
627 #endif
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
628 #ifdef HAVE_NTGUI
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
629 #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
630 #endif
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
631 #ifndef FRAME_WINDOW_P
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
632 #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
633 #endif
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
634
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
635 /* 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
636 #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
637
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
638 extern Lisp_Object get_terminal_param P_ ((struct terminal *, Lisp_Object));
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
639 extern struct terminal *get_terminal P_ ((Lisp_Object terminal, int));
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
640 extern struct terminal *create_terminal P_ ((void));
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
641 extern void delete_terminal P_ ((struct terminal *));
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82992
diff changeset
642
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83423
diff changeset
643 /* 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
644 extern struct terminal *initial_terminal;
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51568
diff changeset
645
98155
314662df7c17 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 97647
diff changeset
646 #ifdef HAVE_GPM
314662df7c17 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 97647
diff changeset
647 extern void close_gpm (void);
314662df7c17 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 97647
diff changeset
648 #endif
314662df7c17 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 97647
diff changeset
649
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51568
diff changeset
650 /* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51568
diff changeset
651 (do not change this comment) */