aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1991-07-27 03:27:24 +0000
committerJim Blandy1991-07-27 03:27:24 +0000
commit0f79a4ae8f8e27e88a9588c501f7d7d4b40b3204 (patch)
tree21d7395dc65a52c8fc1087f230205c104f455bda /src
parent4c0be5f4d530d164fef9130a2130b704fbe98ff8 (diff)
downloademacs-0f79a4ae8f8e27e88a9588c501f7d7d4b40b3204.tar.gz
emacs-0f79a4ae8f8e27e88a9588c501f7d7d4b40b3204.zip
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/frame.h13
-rw-r--r--src/termhooks.h10
2 files changed, 16 insertions, 7 deletions
diff --git a/src/frame.h b/src/frame.h
index d8853312b81..ca0c0f8f8ae 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -70,6 +70,12 @@ struct screen
70 /* Name of this screen: a Lisp string. */ 70 /* Name of this screen: a Lisp string. */
71 Lisp_Object name; 71 Lisp_Object name;
72 72
73 /* The screen which should recieve keystrokes that occur in this
74 screen. This is usually the screen itself, but if the screen is
75 minibufferless, this points to the minibuffer screen when it is
76 active. */
77 Lisp_Object focus_screen;
78
73 /* This screen's root window. Every screen has one. 79 /* This screen's root window. Every screen has one.
74 If the screen has only a minibuffer window, this is it. 80 If the screen has only a minibuffer window, this is it.
75 Otherwise, if the screen has a minibuffer window, this is its sibling. */ 81 Otherwise, if the screen has a minibuffer window, this is its sibling. */
@@ -174,12 +180,14 @@ typedef struct screen *SCREEN_PTR;
174#define SCREEN_DELETEN_COST(s) (s)->delete_n_lines_cost 180#define SCREEN_DELETEN_COST(s) (s)->delete_n_lines_cost
175#define SCREEN_MESSAGE_BUF(s) (s)->message_buf 181#define SCREEN_MESSAGE_BUF(s) (s)->message_buf
176#define SCREEN_SCROLL_BOTTOM_VPOS(s) (s)->scroll_bottom_vpos 182#define SCREEN_SCROLL_BOTTOM_VPOS(s) (s)->scroll_bottom_vpos
183#define SCREEN_FOCUS_SCREEN(s) (s)->focus_screen
177 184
178#define CHECK_SCREEN(x, i) \ 185#define CHECK_SCREEN(x, i) \
179 { if (XTYPE ((x)) != Lisp_Screen) x = wrong_type_argument (Qscreenp, (x)); } 186 { if (XTYPE ((x)) != Lisp_Screen) x = wrong_type_argument (Qscreenp, (x)); }
180extern Lisp_Object Qscreenp; 187extern Lisp_Object Qscreenp;
181 188
182extern struct screen *selected_screen; 189extern struct screen *selected_screen;
190extern struct screen *last_nonminibuf_screen;
183 191
184extern struct screen *make_terminal_screen (); 192extern struct screen *make_terminal_screen ();
185extern struct screen *make_screen (); 193extern struct screen *make_screen ();
@@ -198,6 +206,7 @@ extern Lisp_Object Vterminal_screen;
198#define SCREEN_PTR int 206#define SCREEN_PTR int
199 207
200extern int selected_screen; 208extern int selected_screen;
209#define last_nonminibuf_screen selected_screen
201 210
202#define XSCREEN(s) selected_screen 211#define XSCREEN(s) selected_screen
203#define WINDOW_SCREEN(w) selected_screen 212#define WINDOW_SCREEN(w) selected_screen
@@ -228,7 +237,9 @@ extern int selected_screen;
228#define SCREEN_INSERTN_COST(screen) insert_n_lines_cost 237#define SCREEN_INSERTN_COST(screen) insert_n_lines_cost
229#define SCREEN_DELETEN_COST(screen) delete_n_lines_cost 238#define SCREEN_DELETEN_COST(screen) delete_n_lines_cost
230#define SCREEN_MESSAGE_BUF(s) message_buf 239#define SCREEN_MESSAGE_BUF(s) message_buf
231#define SCREEN_SCROLL_BOTTOM_VPOS scroll_bottom_vpos; 240#define SCREEN_SCROLL_BOTTOM_VPOS(s) scroll_bottom_vpos
241
242#define CHECK_SCREEN(x, i) { ; }
232 243
233extern int screen_width, screen_height; 244extern int screen_width, screen_height;
234extern int cursX, cursY; 245extern int cursX, cursY;
diff --git a/src/termhooks.h b/src/termhooks.h
index bb6f29ce471..d414149ca95 100644
--- a/src/termhooks.h
+++ b/src/termhooks.h
@@ -63,12 +63,10 @@ extern int (*read_socket_hook) ();
63 button releases. */ 63 button releases. */
64extern int (*mouse_tracking_enable_hook) ( /* int ENABLE */ ); 64extern int (*mouse_tracking_enable_hook) ( /* int ENABLE */ );
65 65
66/* When reading from a minibuffer in a different screen, Emacs wants 66/* When a screen's focus redirection is changed, this hook tells the
67 to shift the highlight from the selected screen to the minibuffer's 67 window system code to re-decide where to put the highlight. Under
68 screen; under X, this means it lies about where the focus is. 68 X, this means that the system lies about where the focus is. */
69 This hook tells the window system code to re-decide where to put 69extern void (*screen_rehighlight_hook) ( /* void */ );
70 the highlight. */
71extern void (*screen_rehighlight_hook) ( /* SCREEN_PTR s */ );
72 70
73/* If nonzero, send all terminal output characters to this stream also. */ 71/* If nonzero, send all terminal output characters to this stream also. */
74 72