Mercurial > emacs
annotate src/termhooks.h @ 83300:6deb860255f3
Support for ttys with different character locale settings.
* lisp/server.el (server-process-filter): Set locale environment
variables from client while creating tty frames.
* lisp/faces.el (tty-create-frame-with-faces): Call set-locale-environment.
* lisp/international/mule-cmds.el (set-display-table-and-terminal-coding-system):
Add DISPLAY parameter. Pass it to set-terminal-coding-system.
(set-locale-environment): Add DISPLAY parameter.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-340
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Tue, 03 May 2005 03:01:09 +0000 |
parents | ed09a89e2b25 |
children | 61487e73bbc2 |
rev | line source |
---|---|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
1 /* Parameters and display hooks for output devices |
51568
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
2 Copyright (C) 1985,86,93,94,2003 Free Software Foundation, Inc. |
296 | 3 |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
648 | 8 the Free Software Foundation; either version 2, or (at your option) |
296 | 9 any later version. |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
14161
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
14161
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
296 | 20 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
21 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
22 /* Miscellanea. */ |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
23 |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
24 struct glyph; |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
25 struct frame; |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
26 |
21515 | 27 /* Only use prototypes when lisp.h has been included. */ |
28 #ifndef P_ | |
29 #define P_(X) () | |
30 #endif | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
31 |
296 | 32 |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
33 enum scroll_bar_part { |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
34 scroll_bar_above_handle, |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
35 scroll_bar_handle, |
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
36 scroll_bar_below_handle, |
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
37 scroll_bar_up_arrow, |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
38 scroll_bar_down_arrow, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
39 scroll_bar_to_top, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
40 scroll_bar_to_bottom, |
26787
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
41 scroll_bar_end_scroll, |
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
42 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
|
43 }; |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
44 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
45 |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
46 /* 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
|
47 |
296 | 48 /* Expedient hack: only provide the below definitions to files that |
6747
135dd9df7893
(enum event_kind): Add buffer_switch_event.
Karl Heuer <kwzh@gnu.org>
parents:
6602
diff
changeset
|
49 are prepared to handle lispy things. CONSP is defined iff lisp.h |
485 | 50 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
|
51 #ifdef CONSP |
296 | 52 |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
53 enum event_kind |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
54 { |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
55 NO_EVENT, /* nothing happened. This should never |
296 | 56 actually appear in the event queue. */ |
4799 | 57 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
58 ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps |
4799 | 59 with modifiers applied. |
60 .modifiers holds the state of the | |
61 modifier keys. | |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
62 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
63 which the key was typed. |
485 | 64 .timestamp gives a timestamp (in |
65 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
66 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
|
67 perhaps with modifiers applied. |
e96da8e19cef
(enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents:
30175
diff
changeset
|
68 The others are the same as |
48090 | 69 ASCII_KEYSTROKE_EVENT. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
70 NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the |
296 | 71 function key. A code N represents |
72 a key whose name is | |
73 function_key_names[N]; function_key_names | |
74 is a table in keyboard.c to which you | |
75 should feel free to add missing keys. | |
76 .modifiers holds the state of the | |
338 | 77 modifier keys. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
78 .frame_or_window is the frame in |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
79 which the key was typed. |
485 | 80 .timestamp gives a timestamp (in |
81 milliseconds) for the keystroke. */ | |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
82 TIMER_EVENT, /* A timer fired. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
83 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
|
84 be >= 0 and < NUM_MOUSE_BUTTONS, defined |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
85 below. |
296 | 86 .modifiers holds the state of the |
87 modifier keys. | |
88 .x and .y give the mouse position, | |
708 | 89 in characters, within the window. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
90 .frame_or_window gives the frame |
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
91 the mouse click occurred in. |
296 | 92 .timestamp gives a timestamp (in |
93 milliseconds) for the click. */ | |
51383
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
94 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
|
95 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
|
96 Intellimouse). |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
97 .modifiers holds the rotate |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
98 direction (up or down), and the |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
99 state of the modifier keys. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
100 .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
|
101 in characters, within the window. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
102 .frame_or_window gives the frame |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
103 the wheel event occurred in. |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
104 .timestamp gives a timestamp (in |
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
105 milliseconds) for the event. */ |
61501
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
106 #if defined (WINDOWSNT) || defined (MAC_OS) |
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
107 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
|
108 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
|
109 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
|
110 language is changed by the |
23800
a7dd4cded68c
termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents:
21889
diff
changeset
|
111 user. */ |
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
112 #endif |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
113 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
|
114 that was clicked. |
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
115 .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
|
116 keys. |
296 | 117 .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
|
118 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
|
119 .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
|
120 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
|
121 length of the scroll bar. |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
122 .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
|
123 whose scroll bar was clicked in. |
296 | 124 .timestamp gives a timestamp (in |
125 milliseconds) for the click. */ | |
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
126 #ifdef WINDOWSNT |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
127 W32_SCROLL_BAR_CLICK_EVENT, /* as for SCROLL_BAR_CLICK, but only generated |
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
128 by MS-Windows scroll bar controls. */ |
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
129 #endif |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
130 SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us. |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
131 See `struct selection_event'. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
132 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 Lisp-level event value. |
34c94047f8f9
(menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents:
6747
diff
changeset
|
138 (Only the toolkit version uses these.) */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
139 ICONIFY_EVENT, /* An X client iconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
140 DEICONIFY_EVENT, /* An X client deiconified this window. */ |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
141 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
|
142 (toolkit version only). */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
143 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
|
144 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
|
145 onto an Emacs window. |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
146 Currently used only on Windows NT. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
147 .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
|
148 modifier keys. |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
149 .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
|
150 in characters, within the window. |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
151 .frame_or_window is a cons of the frame |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
152 in which the drop was made and a list of |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
153 the filenames of the dropped files. |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
154 .timestamp gives a timestamp (in |
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
155 milliseconds) for the click. */ |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
156 USER_SIGNAL_EVENT, /* A user signal. |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
157 code is a number identifying it, |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
158 index into lispy_user_signals. */ |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
159 |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
160 /* 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
|
161 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
|
162 the help to show. */ |
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
163 HELP_EVENT, |
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
164 |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
165 /* 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
|
166 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
|
167 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
|
168 TOOL_BAR_EVENT, |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
169 |
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
170 /* 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
|
171 `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
|
172 FOCUS_IN_EVENT, |
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
173 |
44299
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
174 /* 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
|
175 SELECT_WINDOW_EVENT, |
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
176 |
43813
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
177 /* 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
|
178 save yourself before shutdown. */ |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
179 SAVE_SESSION_EVENT |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
180 }; |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
181 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
182 /* 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
|
183 or SELECTION_CLEAR_EVENT, then its contents are really described |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
184 by `struct selection_event'; see xterm.h. */ |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
185 |
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
186 /* 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
|
187 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
|
188 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
|
189 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
|
190 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
191 struct input_event |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
192 { |
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
193 /* 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
|
194 enum event_kind kind; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
195 |
45803
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
196 /* 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
|
197 this is the character. |
9484de301252
Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
198 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
|
199 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
|
200 /* 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
|
201 int code; |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
202 enum scroll_bar_part part; |
732 | 203 |
14161
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
204 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
|
205 |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
206 Lisp_Object x, y; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
207 unsigned long timestamp; |
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
208 |
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
209 /* This is padding just to put the frame_or_window field |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
210 past the size of struct selection_event. */ |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
211 int *padding[2]; |
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
212 |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
213 /* 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
|
214 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
|
215 /* 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
|
216 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
|
217 /* 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
|
218 does not overlap with it. */ |
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
219 Lisp_Object frame_or_window; |
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
220 |
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
221 /* 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
|
222 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
|
223 Lisp_Object arg; |
296 | 224 }; |
21515 | 225 |
51568
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
226 #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
|
227 |
1238
407100cee78a
* termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents:
766
diff
changeset
|
228 /* 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
|
229 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
|
230 order. |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
231 |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
232 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
|
233 window-system-specific code should store mouse clicks with |
1319 | 234 up_modifier or down_modifier set. Having an explicit down modifier |
235 simplifies some of window-system-independent code; without it, the | |
236 code would have to recognize down events by checking if the event | |
237 is a mouse click lacking the click and drag modifiers. | |
238 | |
239 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
|
240 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
|
241 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
|
242 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
|
243 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
|
244 event heads. */ |
296 | 245 enum { |
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
246 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
|
247 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
|
248 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
|
249 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
|
250 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
|
251 queue; it's only used internally by |
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
252 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
|
253 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
|
254 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
|
255 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
|
256 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
257 /* 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
|
258 the Lisp level. |
2046
9e30cf115e63
(alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
259 |
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
260 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
|
261 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
|
262 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
|
263 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
|
264 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
|
265 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
|
266 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
|
267 |
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
268 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
|
269 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
|
270 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
|
271 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
|
272 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
|
273 ctrl_modifier = CHAR_CTL, |
4569
9ea563d584f4
(enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents:
4143
diff
changeset
|
274 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */ |
296 | 275 }; |
276 | |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
277 #endif /* CONSP */ |
52401 | 278 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
279 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
280 /* Display-local parameters. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
281 struct display |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
282 { |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
283 /* Chain of all displays. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
284 struct display *next_display; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
285 |
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
286 /* Unique id for this display. */ |
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
287 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
|
288 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
289 /* The number of frames that are on this display. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
290 int reference_count; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
291 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
292 /* The type of the display. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
293 enum output_method type; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
294 |
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
295 /* The name of the display device. Do not use this to identify the display. */ |
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
296 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
|
297 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
298 /* Display-type dependent data shared amongst all frames on this display. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
299 union display_info |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
300 { |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
301 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
|
302 struct x_display_info *x; /* xterm.h */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
303 } display_info; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
304 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
305 |
83127
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
306 /* 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
|
307 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
|
308 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
|
309 `safe_terminal_coding' in coding.h. */ |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
310 struct coding_system *terminal_coding; |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
311 |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
312 /* 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
|
313 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
|
314 the function `set-keyboard-coding-system'. */ |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
315 struct coding_system *keyboard_coding; |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
316 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
317 /* Terminal characteristics. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
318 /* XXX Are these really used on non-termcap displays? */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
319 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
320 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
|
321 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
|
322 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
|
323 int fast_clear_end_of_line; /* Nonzero means terminal has a `ce' string */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
324 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
325 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
|
326 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
|
327 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
|
328 window */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
329 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
|
330 measured in characters. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
331 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
|
332 off bottom */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
333 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
334 #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
|
335 /* 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
|
336 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
|
337 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
|
338 various cost tables; we won't use them. */ |
296 | 339 #endif |
52401 | 340 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
341 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
342 /* 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
|
343 devices). */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
344 struct redisplay_interface *rif; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
345 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
346 /* Frame-based redisplay interface. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
347 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
348 /* Text display hooks. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
349 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
350 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
|
351 void (*raw_cursor_to_hook) P_ ((struct frame *, int, int)); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
352 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
353 void (*clear_to_end_hook) P_ ((struct frame *)); |
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
354 void (*clear_frame_hook) P_ ((struct frame *)); |
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
355 void (*clear_end_of_line_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
|
356 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
357 void (*ins_del_lines_hook) P_ ((struct frame *f, int, int)); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
358 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
359 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
|
360 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
|
361 void (*delete_glyphs_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
|
362 |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
363 void (*ring_bell_hook) P_ ((struct frame *f)); |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
364 |
83008
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
365 void (*reset_terminal_modes_hook) P_ ((struct display *)); |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
366 void (*set_terminal_modes_hook) P_ ((struct display *)); |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
367 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
368 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
|
369 void (*update_end_hook) P_ ((struct frame *)); |
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
370 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
|
371 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
372 /* 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
|
373 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
374 /* 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
|
375 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
376 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
|
377 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
|
378 garbage. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
379 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
380 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
|
381 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
|
382 *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
|
383 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
|
384 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
385 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
|
386 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
|
387 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
388 Set *time to the time the mouse was at the returned position. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
389 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
390 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
|
391 event arrives. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
392 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
|
393 Lisp_Object *bar_window, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
394 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
|
395 Lisp_Object *x, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
396 Lisp_Object *y, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
397 unsigned long *time)); |
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 /* 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
|
400 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
|
401 hook should clear this. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
402 int mouse_moved; |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
403 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
404 /* 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
|
405 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
|
406 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
|
407 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
|
408 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
409 /* 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
|
410 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
|
411 to the front, or bury it behind all the other windows. If this |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
412 hook is zero, that means the device we're displaying on doesn't |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
413 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
|
414 anything. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
415 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
416 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
|
417 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
|
418 windows. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
419 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
|
420 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
421 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
422 /* Scroll bar hooks. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
423 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
424 /* 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
|
425 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
|
426 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
|
427 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
|
428 dangling references when the scroll bar is destroyed. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
429 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
430 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
|
431 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
|
432 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
|
433 scroll bar manipulation it needs. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
434 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
435 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
|
436 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
|
437 scroll bar. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
438 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
439 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
|
440 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
|
441 fit. They are marked by the garbage collector. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
442 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
443 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
444 /* 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
|
445 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
|
446 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
|
447 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
|
448 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
|
449 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
|
450 int portion, int whole, |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
451 int position)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
452 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
453 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
454 /* 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
|
455 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
|
456 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
|
457 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
|
458 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
|
459 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
|
460 fiery pit when we actually redisplay their window. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
461 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
462 /* 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
|
463 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
|
464 `*redeem_scroll_bar_hook' is applied to its window before the judgement. |
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 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
|
467 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
|
468 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
|
469 this and the judge_scroll_bars_hook will get rid of them. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
470 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
471 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
|
472 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
|
473 currently displaying them. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
474 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
|
475 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
476 /* 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
|
477 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
|
478 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
|
479 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
480 /* 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
|
481 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
|
482 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
483 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
|
484 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
|
485 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
|
486 calling this and condemn_scroll_bars_hook will get rid of them. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
487 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
488 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
|
489 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
|
490 currently displaying them. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
491 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
|
492 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
493 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
494 /* 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
|
495 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
496 DISPLAY indicates which display to read from. Input events |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
497 should be read into BUF, the size of which is given in SIZE. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
498 EXPECTED is non-zero if the caller suspects that new input is |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
499 available. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
500 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
501 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
|
502 where read into BUF. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
503 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
|
504 A value of -1 means a transient read error, while -2 indicates |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
505 that the display was closed (hangup), and it should be deleted. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
506 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
507 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
|
508 there is available input on at least one of the currently opened |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
509 display devices -- but not necessarily on this device. |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
510 Therefore, in most cases EXPECTED should be simply ignored. |
83067 | 511 |
512 XXX This documentation needs to be updated. */ | |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
513 int (*read_socket_hook) P_ ((struct display *display, |
83067 | 514 int expected, |
515 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
|
516 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
517 /* 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
|
518 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
|
519 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
520 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
521 /* Called to delete the device-specific portions of a frame that is |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
522 on this display. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
523 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
|
524 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
525 /* Called after the last frame on this display is deleted, or when |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
526 the display device was closed (hangup). |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
527 |
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
528 If this is NULL, then the generic delete_display is called |
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
529 instead. Otherwise the hook must call delete_display itself. |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
530 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
531 The hook must check for and close any live frames that are still |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
532 on the display. Fdelete_frame ensures that there are no live |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
533 frames on the display when it calls this hook, so infinite |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
534 recursion is prevented. */ |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
535 void (*delete_display_hook) P_ ((struct display *)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
536 }; |
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 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
539 /* Chain of all displays currently in use. */ |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
540 extern struct display *display_list; |
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 #define FRAME_MUST_WRITE_SPACES(f) ((f)->display->must_write_spaces) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
543 #define FRAME_FAST_CLEAR_END_OF_LINE(f) ((f)->display->fast_clear_end_of_line) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
544 #define FRAME_LINE_INS_DEL_OK(f) ((f)->display->line_ins_del_ok) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
545 #define FRAME_CHAR_INS_DEL_OK(f) ((f)->display->char_ins_del_ok) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
546 #define FRAME_SCROLL_REGION_OK(f) ((f)->display->scroll_region_ok) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
547 #define FRAME_SCROLL_REGION_COST(f) ((f)->display->scroll_region_cost) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
548 #define FRAME_MEMORY_BELOW_FRAME(f) ((f)->display->memory_below_frame) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
549 |
83127
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
550 #define FRAME_TERMINAL_CODING(f) ((f)->display->terminal_coding) |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
551 #define FRAME_KEYBOARD_CODING(f) ((f)->display->keyboard_coding) |
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
552 |
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
|
553 #define DISPLAY_TERMINAL_CODING(d) ((d)->terminal_coding) |
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
|
554 #define DISPLAY_KEYBOARD_CODING(d) ((d)->keyboard_coding) |
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
|
555 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
556 #define FRAME_RIF(f) ((f)->display->rif) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
557 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
558 #define FRAME_DISPLAY(f) ((f)->display) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
559 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
560 /* 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
|
561 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
|
562 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
563 #ifdef HAVE_X_WINDOWS |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
564 #define FRAME_WINDOW_P(f) FRAME_X_P (f) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
565 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
566 #ifdef HAVE_NTGUI |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
567 #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
|
568 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
569 #ifdef MAC_OS |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
570 #define FRAME_WINDOW_P(f) FRAME_MAC_P (f) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
571 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
572 #ifndef FRAME_WINDOW_P |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
573 #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
|
574 #endif |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
575 |
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
576 /* Return true if the display is not suspended. */ |
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
577 #define DISPLAY_ACTIVE_P(d) ((d)->type != output_termcap || (d)->display_info.tty->input) |
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
578 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
579 extern struct display *create_display P_ ((void)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
580 extern void delete_display P_ ((struct display *)); |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
581 |
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
582 /* The initial display device, created by initial_term_init. */ |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
583 extern struct display *initial_display; |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
584 |
52401 | 585 /* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d |
586 (do not change this comment) */ |