diff options
| author | Kim F. Storm | 2003-05-24 21:57:45 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2003-05-24 21:57:45 +0000 |
| commit | 5af5757be47b6b88c907f2abd132861e9af4cc9f (patch) | |
| tree | d8cee752d2a4a3429d70059a170fe48803432d08 /src | |
| parent | 7df0201613a0ddb3ce93cc389532df63eabaead0 (diff) | |
| download | emacs-5af5757be47b6b88c907f2abd132861e9af4cc9f.tar.gz emacs-5af5757be47b6b88c907f2abd132861e9af4cc9f.zip | |
Make (many) trivial substitutions for renamed and
new macros in dispextern.h, frame.h and window.h.
(make_frame): Initialize left_fringe_width, right_fringe_width,
fringe_cols, scroll_bar_actual_width, border_width,
internal_border_width, column_width, line_height, x_pixels_diff,
y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
members with values suitable for a non-window frames.
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.c | 301 |
1 files changed, 148 insertions, 153 deletions
diff --git a/src/frame.c b/src/frame.c index 580dae02d5e..dbaaac0c387 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -126,13 +126,13 @@ set_menu_bar_lines_1 (window, n) | |||
| 126 | struct window *w = XWINDOW (window); | 126 | struct window *w = XWINDOW (window); |
| 127 | 127 | ||
| 128 | XSETFASTINT (w->last_modified, 0); | 128 | XSETFASTINT (w->last_modified, 0); |
| 129 | XSETFASTINT (w->top, XFASTINT (w->top) + n); | 129 | XSETFASTINT (w->top_line, XFASTINT (w->top_line) + n); |
| 130 | XSETFASTINT (w->height, XFASTINT (w->height) - n); | 130 | XSETFASTINT (w->total_lines, XFASTINT (w->total_lines) - n); |
| 131 | 131 | ||
| 132 | if (INTEGERP (w->orig_top)) | 132 | if (INTEGERP (w->orig_top_line)) |
| 133 | XSETFASTINT (w->orig_top, XFASTINT (w->orig_top) + n); | 133 | XSETFASTINT (w->orig_top_line, XFASTINT (w->orig_top_line) + n); |
| 134 | if (INTEGERP (w->orig_height)) | 134 | if (INTEGERP (w->orig_total_lines)) |
| 135 | XSETFASTINT (w->orig_height, XFASTINT (w->orig_height) - n); | 135 | XSETFASTINT (w->orig_total_lines, XFASTINT (w->orig_total_lines) - n); |
| 136 | 136 | ||
| 137 | /* Handle just the top child in a vertical split. */ | 137 | /* Handle just the top child in a vertical split. */ |
| 138 | if (!NILP (w->vchild)) | 138 | if (!NILP (w->vchild)) |
| @@ -285,6 +285,17 @@ make_frame (mini_p) | |||
| 285 | f->tool_bar_items = Qnil; | 285 | f->tool_bar_items = Qnil; |
| 286 | f->desired_tool_bar_string = f->current_tool_bar_string = Qnil; | 286 | f->desired_tool_bar_string = f->current_tool_bar_string = Qnil; |
| 287 | f->n_tool_bar_items = 0; | 287 | f->n_tool_bar_items = 0; |
| 288 | f->left_fringe_width = f->right_fringe_width = 0; | ||
| 289 | f->fringe_cols = 0; | ||
| 290 | f->scroll_bar_actual_width = 0; | ||
| 291 | f->border_width = 0; | ||
| 292 | f->internal_border_width = 0; | ||
| 293 | f->column_width = 1; /* !FRAME_WINDOW_P value */ | ||
| 294 | f->line_height = 1; /* !FRAME_WINDOW_P value */ | ||
| 295 | f->x_pixels_diff = f->y_pixels_diff = 0; | ||
| 296 | f->want_fullscreen = FULLSCREEN_NONE; | ||
| 297 | f->size_hint_flags = 0; | ||
| 298 | f->win_gravity = 0; | ||
| 288 | 299 | ||
| 289 | root_window = make_window (); | 300 | root_window = make_window (); |
| 290 | if (mini_p) | 301 | if (mini_p) |
| @@ -309,17 +320,17 @@ make_frame (mini_p) | |||
| 309 | just so that there is "something there." | 320 | just so that there is "something there." |
| 310 | Correct size will be set up later with change_frame_size. */ | 321 | Correct size will be set up later with change_frame_size. */ |
| 311 | 322 | ||
| 312 | SET_FRAME_WIDTH (f, 10); | 323 | SET_FRAME_COLS (f, 10); |
| 313 | f->height = 10; | 324 | FRAME_LINES (f) = 10; |
| 314 | 325 | ||
| 315 | XSETFASTINT (XWINDOW (root_window)->width, 10); | 326 | XSETFASTINT (XWINDOW (root_window)->total_cols, 10); |
| 316 | XSETFASTINT (XWINDOW (root_window)->height, (mini_p ? 9 : 10)); | 327 | XSETFASTINT (XWINDOW (root_window)->total_lines, (mini_p ? 9 : 10)); |
| 317 | 328 | ||
| 318 | if (mini_p) | 329 | if (mini_p) |
| 319 | { | 330 | { |
| 320 | XSETFASTINT (XWINDOW (mini_window)->width, 10); | 331 | XSETFASTINT (XWINDOW (mini_window)->total_cols, 10); |
| 321 | XSETFASTINT (XWINDOW (mini_window)->top, 9); | 332 | XSETFASTINT (XWINDOW (mini_window)->top_line, 9); |
| 322 | XSETFASTINT (XWINDOW (mini_window)->height, 1); | 333 | XSETFASTINT (XWINDOW (mini_window)->total_lines, 1); |
| 323 | } | 334 | } |
| 324 | 335 | ||
| 325 | /* Choose a buffer for the frame's root window. */ | 336 | /* Choose a buffer for the frame's root window. */ |
| @@ -339,7 +350,7 @@ make_frame (mini_p) | |||
| 339 | don't have the right size, glyph matrices aren't initialized | 350 | don't have the right size, glyph matrices aren't initialized |
| 340 | etc. Running Lisp functions at this point surely ends in a | 351 | etc. Running Lisp functions at this point surely ends in a |
| 341 | SEGV. */ | 352 | SEGV. */ |
| 342 | set_window_buffer (root_window, buf, 0); | 353 | set_window_buffer (root_window, buf, 0, 0); |
| 343 | f->buffer_list = Fcons (buf, Qnil); | 354 | f->buffer_list = Fcons (buf, Qnil); |
| 344 | } | 355 | } |
| 345 | 356 | ||
| @@ -350,7 +361,7 @@ make_frame (mini_p) | |||
| 350 | (NILP (Vminibuffer_list) | 361 | (NILP (Vminibuffer_list) |
| 351 | ? get_minibuffer (0) | 362 | ? get_minibuffer (0) |
| 352 | : Fcar (Vminibuffer_list)), | 363 | : Fcar (Vminibuffer_list)), |
| 353 | 0); | 364 | 0, 0); |
| 354 | } | 365 | } |
| 355 | 366 | ||
| 356 | f->root_window = root_window; | 367 | f->root_window = root_window; |
| @@ -415,7 +426,7 @@ make_frame_without_minibuffer (mini_window, kb, display) | |||
| 415 | Fset_window_buffer (mini_window, | 426 | Fset_window_buffer (mini_window, |
| 416 | (NILP (Vminibuffer_list) | 427 | (NILP (Vminibuffer_list) |
| 417 | ? get_minibuffer (0) | 428 | ? get_minibuffer (0) |
| 418 | : Fcar (Vminibuffer_list))); | 429 | : Fcar (Vminibuffer_list)), Qnil); |
| 419 | return f; | 430 | return f; |
| 420 | } | 431 | } |
| 421 | 432 | ||
| @@ -453,7 +464,7 @@ make_minibuffer_frame () | |||
| 453 | Fset_window_buffer (mini_window, | 464 | Fset_window_buffer (mini_window, |
| 454 | (NILP (Vminibuffer_list) | 465 | (NILP (Vminibuffer_list) |
| 455 | ? get_minibuffer (0) | 466 | ? get_minibuffer (0) |
| 456 | : Fcar (Vminibuffer_list))); | 467 | : Fcar (Vminibuffer_list)), Qnil); |
| 457 | return f; | 468 | return f; |
| 458 | } | 469 | } |
| 459 | #endif /* HAVE_WINDOW_SYSTEM */ | 470 | #endif /* HAVE_WINDOW_SYSTEM */ |
| @@ -573,8 +584,8 @@ Note that changing the size of one terminal frame automatically affects all. */ | |||
| 573 | 584 | ||
| 574 | f = make_terminal_frame (); | 585 | f = make_terminal_frame (); |
| 575 | 586 | ||
| 576 | change_frame_size (f, FRAME_HEIGHT (sf), | 587 | change_frame_size (f, FRAME_LINES (sf), |
| 577 | FRAME_WIDTH (sf), 0, 0, 0); | 588 | FRAME_COLS (sf), 0, 0, 0); |
| 578 | adjust_glyphs (f); | 589 | adjust_glyphs (f); |
| 579 | calculate_costs (f); | 590 | calculate_costs (f); |
| 580 | XSETFRAME (frame, f); | 591 | XSETFRAME (frame, f); |
| @@ -1228,7 +1239,7 @@ The functions are run with one arg, the frame to be deleted. */) | |||
| 1228 | if (EQ (f->minibuffer_window, minibuf_window)) | 1239 | if (EQ (f->minibuffer_window, minibuf_window)) |
| 1229 | { | 1240 | { |
| 1230 | Fset_window_buffer (sf->minibuffer_window, | 1241 | Fset_window_buffer (sf->minibuffer_window, |
| 1231 | XWINDOW (minibuf_window)->buffer); | 1242 | XWINDOW (minibuf_window)->buffer, Qnil); |
| 1232 | minibuf_window = sf->minibuffer_window; | 1243 | minibuf_window = sf->minibuffer_window; |
| 1233 | 1244 | ||
| 1234 | /* If the dying minibuffer window was selected, | 1245 | /* If the dying minibuffer window was selected, |
| @@ -1603,7 +1614,7 @@ but if the second optional argument FORCE is non-nil, you may do so. */) | |||
| 1603 | { | 1614 | { |
| 1604 | struct frame *sf = XFRAME (selected_frame); | 1615 | struct frame *sf = XFRAME (selected_frame); |
| 1605 | Fset_window_buffer (sf->minibuffer_window, | 1616 | Fset_window_buffer (sf->minibuffer_window, |
| 1606 | XWINDOW (minibuf_window)->buffer); | 1617 | XWINDOW (minibuf_window)->buffer, Qnil); |
| 1607 | minibuf_window = sf->minibuffer_window; | 1618 | minibuf_window = sf->minibuffer_window; |
| 1608 | } | 1619 | } |
| 1609 | 1620 | ||
| @@ -1642,7 +1653,7 @@ If omitted, FRAME defaults to the currently selected frame. */) | |||
| 1642 | { | 1653 | { |
| 1643 | struct frame *sf = XFRAME (selected_frame); | 1654 | struct frame *sf = XFRAME (selected_frame); |
| 1644 | Fset_window_buffer (sf->minibuffer_window, | 1655 | Fset_window_buffer (sf->minibuffer_window, |
| 1645 | XWINDOW (minibuf_window)->buffer); | 1656 | XWINDOW (minibuf_window)->buffer, Qnil); |
| 1646 | minibuf_window = sf->minibuffer_window; | 1657 | minibuf_window = sf->minibuffer_window; |
| 1647 | } | 1658 | } |
| 1648 | 1659 | ||
| @@ -2080,9 +2091,9 @@ If FRAME is omitted, return information on the currently selected frame. */) | |||
| 2080 | :"tty")); | 2091 | :"tty")); |
| 2081 | } | 2092 | } |
| 2082 | store_in_alist (&alist, Qname, f->name); | 2093 | store_in_alist (&alist, Qname, f->name); |
| 2083 | height = (FRAME_NEW_HEIGHT (f) ? FRAME_NEW_HEIGHT (f) : FRAME_HEIGHT (f)); | 2094 | height = (f->new_text_lines ? f->new_text_lines : FRAME_LINES (f)); |
| 2084 | store_in_alist (&alist, Qheight, make_number (height)); | 2095 | store_in_alist (&alist, Qheight, make_number (height)); |
| 2085 | width = (FRAME_NEW_WIDTH (f) ? FRAME_NEW_WIDTH (f) : FRAME_WIDTH (f)); | 2096 | width = (f->new_text_cols ? f->new_text_cols : FRAME_COLS (f)); |
| 2086 | store_in_alist (&alist, Qwidth, make_number (width)); | 2097 | store_in_alist (&alist, Qwidth, make_number (width)); |
| 2087 | store_in_alist (&alist, Qmodeline, (FRAME_WANTS_MODELINE_P (f) ? Qt : Qnil)); | 2098 | store_in_alist (&alist, Qmodeline, (FRAME_WANTS_MODELINE_P (f) ? Qt : Qnil)); |
| 2088 | store_in_alist (&alist, Qminibuffer, | 2099 | store_in_alist (&alist, Qminibuffer, |
| @@ -2336,7 +2347,7 @@ If FRAME is omitted, the selected frame is used. */) | |||
| 2336 | return make_number (x_pixel_height (f)); | 2347 | return make_number (x_pixel_height (f)); |
| 2337 | else | 2348 | else |
| 2338 | #endif | 2349 | #endif |
| 2339 | return make_number (FRAME_HEIGHT (f)); | 2350 | return make_number (FRAME_LINES (f)); |
| 2340 | } | 2351 | } |
| 2341 | 2352 | ||
| 2342 | DEFUN ("frame-pixel-width", Fframe_pixel_width, | 2353 | DEFUN ("frame-pixel-width", Fframe_pixel_width, |
| @@ -2359,7 +2370,7 @@ If FRAME is omitted, the selected frame is used. */) | |||
| 2359 | return make_number (x_pixel_width (f)); | 2370 | return make_number (x_pixel_width (f)); |
| 2360 | else | 2371 | else |
| 2361 | #endif | 2372 | #endif |
| 2362 | return make_number (FRAME_WIDTH (f)); | 2373 | return make_number (FRAME_COLS (f)); |
| 2363 | } | 2374 | } |
| 2364 | 2375 | ||
| 2365 | DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0, | 2376 | DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0, |
| @@ -2381,8 +2392,8 @@ but that the idea of the actual height of the frame should not be changed. */) | |||
| 2381 | #ifdef HAVE_WINDOW_SYSTEM | 2392 | #ifdef HAVE_WINDOW_SYSTEM |
| 2382 | if (FRAME_WINDOW_P (f)) | 2393 | if (FRAME_WINDOW_P (f)) |
| 2383 | { | 2394 | { |
| 2384 | if (XINT (lines) != f->height) | 2395 | if (XINT (lines) != FRAME_LINES (f)) |
| 2385 | x_set_window_size (f, 1, f->width, XINT (lines)); | 2396 | x_set_window_size (f, 1, FRAME_COLS (f), XINT (lines)); |
| 2386 | do_pending_window_change (0); | 2397 | do_pending_window_change (0); |
| 2387 | } | 2398 | } |
| 2388 | else | 2399 | else |
| @@ -2409,8 +2420,8 @@ but that the idea of the actual width of the frame should not be changed. */) | |||
| 2409 | #ifdef HAVE_WINDOW_SYSTEM | 2420 | #ifdef HAVE_WINDOW_SYSTEM |
| 2410 | if (FRAME_WINDOW_P (f)) | 2421 | if (FRAME_WINDOW_P (f)) |
| 2411 | { | 2422 | { |
| 2412 | if (XINT (cols) != f->width) | 2423 | if (XINT (cols) != FRAME_COLS (f)) |
| 2413 | x_set_window_size (f, 1, XINT (cols), f->height); | 2424 | x_set_window_size (f, 1, XINT (cols), FRAME_LINES (f)); |
| 2414 | do_pending_window_change (0); | 2425 | do_pending_window_change (0); |
| 2415 | } | 2426 | } |
| 2416 | else | 2427 | else |
| @@ -2435,8 +2446,9 @@ DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0, | |||
| 2435 | #ifdef HAVE_WINDOW_SYSTEM | 2446 | #ifdef HAVE_WINDOW_SYSTEM |
| 2436 | if (FRAME_WINDOW_P (f)) | 2447 | if (FRAME_WINDOW_P (f)) |
| 2437 | { | 2448 | { |
| 2438 | if (XINT (rows) != f->height || XINT (cols) != f->width | 2449 | if (XINT (rows) != FRAME_LINES (f) |
| 2439 | || FRAME_NEW_HEIGHT (f) || FRAME_NEW_WIDTH (f)) | 2450 | || XINT (cols) != FRAME_COLS (f) |
| 2451 | || f->new_text_lines || f->new_text_cols) | ||
| 2440 | x_set_window_size (f, 1, XINT (cols), XINT (rows)); | 2452 | x_set_window_size (f, 1, XINT (cols), XINT (rows)); |
| 2441 | do_pending_window_change (0); | 2453 | do_pending_window_change (0); |
| 2442 | } | 2454 | } |
| @@ -2541,32 +2553,31 @@ x_fullscreen_adjust (f, width, height, top_pos, left_pos) | |||
| 2541 | int *top_pos; | 2553 | int *top_pos; |
| 2542 | int *left_pos; | 2554 | int *left_pos; |
| 2543 | { | 2555 | { |
| 2544 | int newwidth = f->width, newheight = f->height; | 2556 | int newwidth = FRAME_COLS (f); |
| 2557 | int newheight = FRAME_LINES (f); | ||
| 2545 | 2558 | ||
| 2546 | *top_pos = FRAME_X_OUTPUT (f)->top_pos; | 2559 | *top_pos = f->top_pos; |
| 2547 | *left_pos = FRAME_X_OUTPUT (f)->left_pos; | 2560 | *left_pos = f->left_pos; |
| 2548 | 2561 | ||
| 2549 | if (FRAME_X_OUTPUT (f)->want_fullscreen & FULLSCREEN_HEIGHT) | 2562 | if (f->want_fullscreen & FULLSCREEN_HEIGHT) |
| 2550 | { | 2563 | { |
| 2551 | int ph; | 2564 | int ph; |
| 2552 | 2565 | ||
| 2553 | ph = FRAME_X_DISPLAY_INFO (f)->height; | 2566 | ph = FRAME_X_DISPLAY_INFO (f)->height; |
| 2554 | newheight = PIXEL_TO_CHAR_HEIGHT (f, ph); | 2567 | newheight = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, ph); |
| 2555 | ph = CHAR_TO_PIXEL_HEIGHT (f, newheight) | 2568 | ph = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, newheight) - f->y_pixels_diff; |
| 2556 | - FRAME_X_OUTPUT (f)->y_pixels_diff; | 2569 | newheight = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, ph); |
| 2557 | newheight = PIXEL_TO_CHAR_HEIGHT (f, ph); | ||
| 2558 | *top_pos = 0; | 2570 | *top_pos = 0; |
| 2559 | } | 2571 | } |
| 2560 | 2572 | ||
| 2561 | if (FRAME_X_OUTPUT (f)->want_fullscreen & FULLSCREEN_WIDTH) | 2573 | if (f->want_fullscreen & FULLSCREEN_WIDTH) |
| 2562 | { | 2574 | { |
| 2563 | int pw; | 2575 | int pw; |
| 2564 | 2576 | ||
| 2565 | pw = FRAME_X_DISPLAY_INFO (f)->width; | 2577 | pw = FRAME_X_DISPLAY_INFO (f)->width; |
| 2566 | newwidth = PIXEL_TO_CHAR_WIDTH (f, pw); | 2578 | newwidth = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, pw); |
| 2567 | pw = CHAR_TO_PIXEL_WIDTH (f, newwidth) | 2579 | pw = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, newwidth) - f->x_pixels_diff; |
| 2568 | - FRAME_X_OUTPUT (f)->x_pixels_diff; | 2580 | newwidth = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, pw); |
| 2569 | newwidth = PIXEL_TO_CHAR_WIDTH (f, pw); | ||
| 2570 | *left_pos = 0; | 2581 | *left_pos = 0; |
| 2571 | } | 2582 | } |
| 2572 | 2583 | ||
| @@ -2586,8 +2597,7 @@ x_fullscreen_move (f, new_top, new_left) | |||
| 2586 | int new_top; | 2597 | int new_top; |
| 2587 | int new_left; | 2598 | int new_left; |
| 2588 | { | 2599 | { |
| 2589 | if (new_top != FRAME_X_OUTPUT (f)->top_pos | 2600 | if (new_top != f->top_pos || new_left != f->left_pos) |
| 2590 | || new_left != FRAME_X_OUTPUT (f)->left_pos) | ||
| 2591 | { | 2601 | { |
| 2592 | int move_x = new_left; | 2602 | int move_x = new_left; |
| 2593 | int move_y = new_top; | 2603 | int move_y = new_top; |
| @@ -2597,7 +2607,7 @@ x_fullscreen_move (f, new_top, new_left) | |||
| 2597 | move_y += FRAME_X_OUTPUT (f)->y_pixels_outer_diff; | 2607 | move_y += FRAME_X_OUTPUT (f)->y_pixels_outer_diff; |
| 2598 | #endif | 2608 | #endif |
| 2599 | 2609 | ||
| 2600 | FRAME_X_OUTPUT (f)->want_fullscreen |= FULLSCREEN_MOVE_WAIT; | 2610 | f->want_fullscreen |= FULLSCREEN_MOVE_WAIT; |
| 2601 | x_set_offset (f, move_x, move_y, 1); | 2611 | x_set_offset (f, move_x, move_y, 1); |
| 2602 | } | 2612 | } |
| 2603 | } | 2613 | } |
| @@ -2668,15 +2678,8 @@ x_set_frame_parameters (f, alist) | |||
| 2668 | icon_left = icon_top = Qunbound; | 2678 | icon_left = icon_top = Qunbound; |
| 2669 | 2679 | ||
| 2670 | /* Provide default values for HEIGHT and WIDTH. */ | 2680 | /* Provide default values for HEIGHT and WIDTH. */ |
| 2671 | if (FRAME_NEW_WIDTH (f)) | 2681 | width = (f->new_text_cols ? f->new_text_cols : FRAME_COLS (f)); |
| 2672 | width = FRAME_NEW_WIDTH (f); | 2682 | height = (f->new_text_lines ? f->new_text_lines : FRAME_LINES (f)); |
| 2673 | else | ||
| 2674 | width = FRAME_WIDTH (f); | ||
| 2675 | |||
| 2676 | if (FRAME_NEW_HEIGHT (f)) | ||
| 2677 | height = FRAME_NEW_HEIGHT (f); | ||
| 2678 | else | ||
| 2679 | height = FRAME_HEIGHT (f); | ||
| 2680 | 2683 | ||
| 2681 | /* Process foreground_color and background_color before anything else. | 2684 | /* Process foreground_color and background_color before anything else. |
| 2682 | They are independent of other properties, but other properties (e.g., | 2685 | They are independent of other properties, but other properties (e.g., |
| @@ -2760,18 +2763,18 @@ x_set_frame_parameters (f, alist) | |||
| 2760 | if (EQ (left, Qunbound)) | 2763 | if (EQ (left, Qunbound)) |
| 2761 | { | 2764 | { |
| 2762 | left_no_change = 1; | 2765 | left_no_change = 1; |
| 2763 | if (FRAME_X_OUTPUT (f)->left_pos < 0) | 2766 | if (f->left_pos < 0) |
| 2764 | left = Fcons (Qplus, Fcons (make_number (FRAME_X_OUTPUT (f)->left_pos), Qnil)); | 2767 | left = Fcons (Qplus, Fcons (make_number (f->left_pos), Qnil)); |
| 2765 | else | 2768 | else |
| 2766 | XSETINT (left, FRAME_X_OUTPUT (f)->left_pos); | 2769 | XSETINT (left, f->left_pos); |
| 2767 | } | 2770 | } |
| 2768 | if (EQ (top, Qunbound)) | 2771 | if (EQ (top, Qunbound)) |
| 2769 | { | 2772 | { |
| 2770 | top_no_change = 1; | 2773 | top_no_change = 1; |
| 2771 | if (FRAME_X_OUTPUT (f)->top_pos < 0) | 2774 | if (f->top_pos < 0) |
| 2772 | top = Fcons (Qplus, Fcons (make_number (FRAME_X_OUTPUT (f)->top_pos), Qnil)); | 2775 | top = Fcons (Qplus, Fcons (make_number (f->top_pos), Qnil)); |
| 2773 | else | 2776 | else |
| 2774 | XSETINT (top, FRAME_X_OUTPUT (f)->top_pos); | 2777 | XSETINT (top, f->top_pos); |
| 2775 | } | 2778 | } |
| 2776 | 2779 | ||
| 2777 | /* If one of the icon positions was not set, preserve or default it. */ | 2780 | /* If one of the icon positions was not set, preserve or default it. */ |
| @@ -2823,35 +2826,35 @@ x_set_frame_parameters (f, alist) | |||
| 2823 | 2826 | ||
| 2824 | XSETFRAME (frame, f); | 2827 | XSETFRAME (frame, f); |
| 2825 | 2828 | ||
| 2826 | if (width != FRAME_WIDTH (f) | 2829 | if (width != FRAME_COLS (f) |
| 2827 | || height != FRAME_HEIGHT (f) | 2830 | || height != FRAME_LINES (f) |
| 2828 | || FRAME_NEW_HEIGHT (f) || FRAME_NEW_WIDTH (f)) | 2831 | || f->new_text_lines || f->new_text_cols) |
| 2829 | Fset_frame_size (frame, make_number (width), make_number (height)); | 2832 | Fset_frame_size (frame, make_number (width), make_number (height)); |
| 2830 | 2833 | ||
| 2831 | if ((!NILP (left) || !NILP (top)) | 2834 | if ((!NILP (left) || !NILP (top)) |
| 2832 | && ! (left_no_change && top_no_change) | 2835 | && ! (left_no_change && top_no_change) |
| 2833 | && ! (NUMBERP (left) && XINT (left) == FRAME_X_OUTPUT (f)->left_pos | 2836 | && ! (NUMBERP (left) && XINT (left) == f->left_pos |
| 2834 | && NUMBERP (top) && XINT (top) == FRAME_X_OUTPUT (f)->top_pos)) | 2837 | && NUMBERP (top) && XINT (top) == f->top_pos)) |
| 2835 | { | 2838 | { |
| 2836 | int leftpos = 0; | 2839 | int leftpos = 0; |
| 2837 | int toppos = 0; | 2840 | int toppos = 0; |
| 2838 | 2841 | ||
| 2839 | /* Record the signs. */ | 2842 | /* Record the signs. */ |
| 2840 | FRAME_X_OUTPUT (f)->size_hint_flags &= ~ (XNegative | YNegative); | 2843 | f->size_hint_flags &= ~ (XNegative | YNegative); |
| 2841 | if (EQ (left, Qminus)) | 2844 | if (EQ (left, Qminus)) |
| 2842 | FRAME_X_OUTPUT (f)->size_hint_flags |= XNegative; | 2845 | f->size_hint_flags |= XNegative; |
| 2843 | else if (INTEGERP (left)) | 2846 | else if (INTEGERP (left)) |
| 2844 | { | 2847 | { |
| 2845 | leftpos = XINT (left); | 2848 | leftpos = XINT (left); |
| 2846 | if (leftpos < 0) | 2849 | if (leftpos < 0) |
| 2847 | FRAME_X_OUTPUT (f)->size_hint_flags |= XNegative; | 2850 | f->size_hint_flags |= XNegative; |
| 2848 | } | 2851 | } |
| 2849 | else if (CONSP (left) && EQ (XCAR (left), Qminus) | 2852 | else if (CONSP (left) && EQ (XCAR (left), Qminus) |
| 2850 | && CONSP (XCDR (left)) | 2853 | && CONSP (XCDR (left)) |
| 2851 | && INTEGERP (XCAR (XCDR (left)))) | 2854 | && INTEGERP (XCAR (XCDR (left)))) |
| 2852 | { | 2855 | { |
| 2853 | leftpos = - XINT (XCAR (XCDR (left))); | 2856 | leftpos = - XINT (XCAR (XCDR (left))); |
| 2854 | FRAME_X_OUTPUT (f)->size_hint_flags |= XNegative; | 2857 | f->size_hint_flags |= XNegative; |
| 2855 | } | 2858 | } |
| 2856 | else if (CONSP (left) && EQ (XCAR (left), Qplus) | 2859 | else if (CONSP (left) && EQ (XCAR (left), Qplus) |
| 2857 | && CONSP (XCDR (left)) | 2860 | && CONSP (XCDR (left)) |
| @@ -2861,19 +2864,19 @@ x_set_frame_parameters (f, alist) | |||
| 2861 | } | 2864 | } |
| 2862 | 2865 | ||
| 2863 | if (EQ (top, Qminus)) | 2866 | if (EQ (top, Qminus)) |
| 2864 | FRAME_X_OUTPUT (f)->size_hint_flags |= YNegative; | 2867 | f->size_hint_flags |= YNegative; |
| 2865 | else if (INTEGERP (top)) | 2868 | else if (INTEGERP (top)) |
| 2866 | { | 2869 | { |
| 2867 | toppos = XINT (top); | 2870 | toppos = XINT (top); |
| 2868 | if (toppos < 0) | 2871 | if (toppos < 0) |
| 2869 | FRAME_X_OUTPUT (f)->size_hint_flags |= YNegative; | 2872 | f->size_hint_flags |= YNegative; |
| 2870 | } | 2873 | } |
| 2871 | else if (CONSP (top) && EQ (XCAR (top), Qminus) | 2874 | else if (CONSP (top) && EQ (XCAR (top), Qminus) |
| 2872 | && CONSP (XCDR (top)) | 2875 | && CONSP (XCDR (top)) |
| 2873 | && INTEGERP (XCAR (XCDR (top)))) | 2876 | && INTEGERP (XCAR (XCDR (top)))) |
| 2874 | { | 2877 | { |
| 2875 | toppos = - XINT (XCAR (XCDR (top))); | 2878 | toppos = - XINT (XCAR (XCDR (top))); |
| 2876 | FRAME_X_OUTPUT (f)->size_hint_flags |= YNegative; | 2879 | f->size_hint_flags |= YNegative; |
| 2877 | } | 2880 | } |
| 2878 | else if (CONSP (top) && EQ (XCAR (top), Qplus) | 2881 | else if (CONSP (top) && EQ (XCAR (top), Qplus) |
| 2879 | && CONSP (XCDR (top)) | 2882 | && CONSP (XCDR (top)) |
| @@ -2884,10 +2887,10 @@ x_set_frame_parameters (f, alist) | |||
| 2884 | 2887 | ||
| 2885 | 2888 | ||
| 2886 | /* Store the numeric value of the position. */ | 2889 | /* Store the numeric value of the position. */ |
| 2887 | FRAME_X_OUTPUT (f)->top_pos = toppos; | 2890 | f->top_pos = toppos; |
| 2888 | FRAME_X_OUTPUT (f)->left_pos = leftpos; | 2891 | f->left_pos = leftpos; |
| 2889 | 2892 | ||
| 2890 | FRAME_X_OUTPUT (f)->win_gravity = NorthWestGravity; | 2893 | f->win_gravity = NorthWestGravity; |
| 2891 | 2894 | ||
| 2892 | /* Actually set that position, and convert to absolute. */ | 2895 | /* Actually set that position, and convert to absolute. */ |
| 2893 | x_set_offset (f, leftpos, toppos, -1); | 2896 | x_set_offset (f, leftpos, toppos, -1); |
| @@ -2918,31 +2921,31 @@ x_report_frame_params (f, alistptr) | |||
| 2918 | 2921 | ||
| 2919 | /* Represent negative positions (off the top or left screen edge) | 2922 | /* Represent negative positions (off the top or left screen edge) |
| 2920 | in a way that Fmodify_frame_parameters will understand correctly. */ | 2923 | in a way that Fmodify_frame_parameters will understand correctly. */ |
| 2921 | XSETINT (tem, FRAME_X_OUTPUT (f)->left_pos); | 2924 | XSETINT (tem, f->left_pos); |
| 2922 | if (FRAME_X_OUTPUT (f)->left_pos >= 0) | 2925 | if (f->left_pos >= 0) |
| 2923 | store_in_alist (alistptr, Qleft, tem); | 2926 | store_in_alist (alistptr, Qleft, tem); |
| 2924 | else | 2927 | else |
| 2925 | store_in_alist (alistptr, Qleft, Fcons (Qplus, Fcons (tem, Qnil))); | 2928 | store_in_alist (alistptr, Qleft, Fcons (Qplus, Fcons (tem, Qnil))); |
| 2926 | 2929 | ||
| 2927 | XSETINT (tem, FRAME_X_OUTPUT (f)->top_pos); | 2930 | XSETINT (tem, f->top_pos); |
| 2928 | if (FRAME_X_OUTPUT (f)->top_pos >= 0) | 2931 | if (f->top_pos >= 0) |
| 2929 | store_in_alist (alistptr, Qtop, tem); | 2932 | store_in_alist (alistptr, Qtop, tem); |
| 2930 | else | 2933 | else |
| 2931 | store_in_alist (alistptr, Qtop, Fcons (Qplus, Fcons (tem, Qnil))); | 2934 | store_in_alist (alistptr, Qtop, Fcons (Qplus, Fcons (tem, Qnil))); |
| 2932 | 2935 | ||
| 2933 | store_in_alist (alistptr, Qborder_width, | 2936 | store_in_alist (alistptr, Qborder_width, |
| 2934 | make_number (FRAME_X_OUTPUT (f)->border_width)); | 2937 | make_number (f->border_width)); |
| 2935 | store_in_alist (alistptr, Qinternal_border_width, | 2938 | store_in_alist (alistptr, Qinternal_border_width, |
| 2936 | make_number (FRAME_X_OUTPUT (f)->internal_border_width)); | 2939 | make_number (FRAME_INTERNAL_BORDER_WIDTH (f))); |
| 2937 | store_in_alist (alistptr, Qleft_fringe, | 2940 | store_in_alist (alistptr, Qleft_fringe, |
| 2938 | make_number (FRAME_X_OUTPUT (f)->left_fringe_width)); | 2941 | make_number (FRAME_LEFT_FRINGE_WIDTH (f))); |
| 2939 | store_in_alist (alistptr, Qright_fringe, | 2942 | store_in_alist (alistptr, Qright_fringe, |
| 2940 | make_number (FRAME_X_OUTPUT (f)->right_fringe_width)); | 2943 | make_number (FRAME_RIGHT_FRINGE_WIDTH (f))); |
| 2941 | store_in_alist (alistptr, Qscroll_bar_width, | 2944 | store_in_alist (alistptr, Qscroll_bar_width, |
| 2942 | (! FRAME_HAS_VERTICAL_SCROLL_BARS (f) | 2945 | (! FRAME_HAS_VERTICAL_SCROLL_BARS (f) |
| 2943 | ? make_number (0) | 2946 | ? make_number (0) |
| 2944 | : FRAME_SCROLL_BAR_PIXEL_WIDTH (f) > 0 | 2947 | : FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0 |
| 2945 | ? make_number (FRAME_SCROLL_BAR_PIXEL_WIDTH (f)) | 2948 | ? make_number (FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) |
| 2946 | /* nil means "use default width" | 2949 | /* nil means "use default width" |
| 2947 | for non-toolkit scroll bar. | 2950 | for non-toolkit scroll bar. |
| 2948 | ruler-mode.el depends on this. */ | 2951 | ruler-mode.el depends on this. */ |
| @@ -2988,13 +2991,13 @@ x_set_fullscreen (f, new_value, old_value) | |||
| 2988 | { | 2991 | { |
| 2989 | #ifndef HAVE_CARBON | 2992 | #ifndef HAVE_CARBON |
| 2990 | if (NILP (new_value)) | 2993 | if (NILP (new_value)) |
| 2991 | FRAME_X_OUTPUT (f)->want_fullscreen = FULLSCREEN_NONE; | 2994 | f->want_fullscreen = FULLSCREEN_NONE; |
| 2992 | else if (EQ (new_value, Qfullboth)) | 2995 | else if (EQ (new_value, Qfullboth)) |
| 2993 | FRAME_X_OUTPUT (f)->want_fullscreen = FULLSCREEN_BOTH; | 2996 | f->want_fullscreen = FULLSCREEN_BOTH; |
| 2994 | else if (EQ (new_value, Qfullwidth)) | 2997 | else if (EQ (new_value, Qfullwidth)) |
| 2995 | FRAME_X_OUTPUT (f)->want_fullscreen = FULLSCREEN_WIDTH; | 2998 | f->want_fullscreen = FULLSCREEN_WIDTH; |
| 2996 | else if (EQ (new_value, Qfullheight)) | 2999 | else if (EQ (new_value, Qfullheight)) |
| 2997 | FRAME_X_OUTPUT (f)->want_fullscreen = FULLSCREEN_HEIGHT; | 3000 | f->want_fullscreen = FULLSCREEN_HEIGHT; |
| 2998 | #endif | 3001 | #endif |
| 2999 | } | 3002 | } |
| 3000 | 3003 | ||
| @@ -3112,7 +3115,7 @@ x_set_border_width (f, arg, oldval) | |||
| 3112 | { | 3115 | { |
| 3113 | CHECK_NUMBER (arg); | 3116 | CHECK_NUMBER (arg); |
| 3114 | 3117 | ||
| 3115 | if (XINT (arg) == FRAME_X_OUTPUT (f)->border_width) | 3118 | if (XINT (arg) == f->border_width) |
| 3116 | return; | 3119 | return; |
| 3117 | 3120 | ||
| 3118 | #ifndef HAVE_CARBON | 3121 | #ifndef HAVE_CARBON |
| @@ -3120,7 +3123,7 @@ x_set_border_width (f, arg, oldval) | |||
| 3120 | error ("Cannot change the border width of a window"); | 3123 | error ("Cannot change the border width of a window"); |
| 3121 | #endif /* MAC_TODO */ | 3124 | #endif /* MAC_TODO */ |
| 3122 | 3125 | ||
| 3123 | FRAME_X_OUTPUT (f)->border_width = XINT (arg); | 3126 | f->border_width = XINT (arg); |
| 3124 | } | 3127 | } |
| 3125 | 3128 | ||
| 3126 | void | 3129 | void |
| @@ -3128,24 +3131,24 @@ x_set_internal_border_width (f, arg, oldval) | |||
| 3128 | struct frame *f; | 3131 | struct frame *f; |
| 3129 | Lisp_Object arg, oldval; | 3132 | Lisp_Object arg, oldval; |
| 3130 | { | 3133 | { |
| 3131 | int old = FRAME_X_OUTPUT (f)->internal_border_width; | 3134 | int old = FRAME_INTERNAL_BORDER_WIDTH (f); |
| 3132 | 3135 | ||
| 3133 | CHECK_NUMBER (arg); | 3136 | CHECK_NUMBER (arg); |
| 3134 | FRAME_X_OUTPUT (f)->internal_border_width = XINT (arg); | 3137 | FRAME_INTERNAL_BORDER_WIDTH (f) = XINT (arg); |
| 3135 | if (FRAME_X_OUTPUT (f)->internal_border_width < 0) | 3138 | if (FRAME_INTERNAL_BORDER_WIDTH (f) < 0) |
| 3136 | FRAME_X_OUTPUT (f)->internal_border_width = 0; | 3139 | FRAME_INTERNAL_BORDER_WIDTH (f) = 0; |
| 3137 | 3140 | ||
| 3138 | #ifdef USE_X_TOOLKIT | 3141 | #ifdef USE_X_TOOLKIT |
| 3139 | if (FRAME_X_OUTPUT (f)->edit_widget) | 3142 | if (FRAME_X_OUTPUT (f)->edit_widget) |
| 3140 | widget_store_internal_border (FRAME_X_OUTPUT (f)->edit_widget); | 3143 | widget_store_internal_border (FRAME_X_OUTPUT (f)->edit_widget); |
| 3141 | #endif | 3144 | #endif |
| 3142 | 3145 | ||
| 3143 | if (FRAME_X_OUTPUT (f)->internal_border_width == old) | 3146 | if (FRAME_INTERNAL_BORDER_WIDTH (f) == old) |
| 3144 | return; | 3147 | return; |
| 3145 | 3148 | ||
| 3146 | if (FRAME_X_WINDOW (f) != 0) | 3149 | if (FRAME_X_WINDOW (f) != 0) |
| 3147 | { | 3150 | { |
| 3148 | x_set_window_size (f, 0, f->width, f->height); | 3151 | x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); |
| 3149 | SET_FRAME_GARBAGED (f); | 3152 | SET_FRAME_GARBAGED (f); |
| 3150 | do_pending_window_change (0); | 3153 | do_pending_window_change (0); |
| 3151 | } | 3154 | } |
| @@ -3223,7 +3226,7 @@ x_set_vertical_scroll_bars (f, arg, oldval) | |||
| 3223 | However, if the window hasn't been created yet, we shouldn't | 3226 | However, if the window hasn't been created yet, we shouldn't |
| 3224 | call x_set_window_size. */ | 3227 | call x_set_window_size. */ |
| 3225 | if (FRAME_X_WINDOW (f)) | 3228 | if (FRAME_X_WINDOW (f)) |
| 3226 | x_set_window_size (f, 0, FRAME_WIDTH (f), FRAME_HEIGHT (f)); | 3229 | x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); |
| 3227 | do_pending_window_change (0); | 3230 | do_pending_window_change (0); |
| 3228 | } | 3231 | } |
| 3229 | } | 3232 | } |
| @@ -3233,30 +3236,30 @@ x_set_scroll_bar_width (f, arg, oldval) | |||
| 3233 | struct frame *f; | 3236 | struct frame *f; |
| 3234 | Lisp_Object arg, oldval; | 3237 | Lisp_Object arg, oldval; |
| 3235 | { | 3238 | { |
| 3236 | int wid = FONT_WIDTH (FRAME_FONT (f)); | 3239 | int wid = FRAME_COLUMN_WIDTH (f); |
| 3237 | 3240 | ||
| 3238 | if (NILP (arg)) | 3241 | if (NILP (arg)) |
| 3239 | { | 3242 | { |
| 3240 | x_set_scroll_bar_default_width (f); | 3243 | x_set_scroll_bar_default_width (f); |
| 3241 | 3244 | ||
| 3242 | if (FRAME_X_WINDOW (f)) | 3245 | if (FRAME_X_WINDOW (f)) |
| 3243 | x_set_window_size (f, 0, FRAME_WIDTH (f), FRAME_HEIGHT (f)); | 3246 | x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); |
| 3244 | do_pending_window_change (0); | 3247 | do_pending_window_change (0); |
| 3245 | } | 3248 | } |
| 3246 | else if (INTEGERP (arg) && XINT (arg) > 0 | 3249 | else if (INTEGERP (arg) && XINT (arg) > 0 |
| 3247 | && XFASTINT (arg) != FRAME_SCROLL_BAR_PIXEL_WIDTH (f)) | 3250 | && XFASTINT (arg) != FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) |
| 3248 | { | 3251 | { |
| 3249 | if (XFASTINT (arg) <= 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM) | 3252 | if (XFASTINT (arg) <= 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM) |
| 3250 | XSETINT (arg, 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM + 1); | 3253 | XSETINT (arg, 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM + 1); |
| 3251 | 3254 | ||
| 3252 | FRAME_SCROLL_BAR_PIXEL_WIDTH (f) = XFASTINT (arg); | 3255 | FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFASTINT (arg); |
| 3253 | FRAME_SCROLL_BAR_COLS (f) = (XFASTINT (arg) + wid-1) / wid; | 3256 | FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFASTINT (arg) + wid-1) / wid; |
| 3254 | if (FRAME_X_WINDOW (f)) | 3257 | if (FRAME_X_WINDOW (f)) |
| 3255 | x_set_window_size (f, 0, FRAME_WIDTH (f), FRAME_HEIGHT (f)); | 3258 | x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); |
| 3256 | do_pending_window_change (0); | 3259 | do_pending_window_change (0); |
| 3257 | } | 3260 | } |
| 3258 | 3261 | ||
| 3259 | change_frame_size (f, 0, FRAME_WIDTH (f), 0, 0, 0); | 3262 | change_frame_size (f, 0, FRAME_COLS (f), 0, 0, 0); |
| 3260 | XWINDOW (FRAME_SELECTED_WINDOW (f))->cursor.hpos = 0; | 3263 | XWINDOW (FRAME_SELECTED_WINDOW (f))->cursor.hpos = 0; |
| 3261 | XWINDOW (FRAME_SELECTED_WINDOW (f))->cursor.x = 0; | 3264 | XWINDOW (FRAME_SELECTED_WINDOW (f))->cursor.x = 0; |
| 3262 | } | 3265 | } |
| @@ -3706,18 +3709,17 @@ x_figure_window_size (f, parms, toolbar_p) | |||
| 3706 | /* Default values if we fall through. | 3709 | /* Default values if we fall through. |
| 3707 | Actually, if that happens we should get | 3710 | Actually, if that happens we should get |
| 3708 | window manager prompting. */ | 3711 | window manager prompting. */ |
| 3709 | SET_FRAME_WIDTH (f, DEFAULT_COLS); | 3712 | SET_FRAME_COLS (f, DEFAULT_COLS); |
| 3710 | f->height = DEFAULT_ROWS; | 3713 | FRAME_LINES (f) = DEFAULT_ROWS; |
| 3711 | /* Window managers expect that if program-specified | 3714 | /* Window managers expect that if program-specified |
| 3712 | positions are not (0,0), they're intentional, not defaults. */ | 3715 | positions are not (0,0), they're intentional, not defaults. */ |
| 3713 | FRAME_X_OUTPUT (f)->top_pos = 0; | 3716 | f->top_pos = 0; |
| 3714 | FRAME_X_OUTPUT (f)->left_pos = 0; | 3717 | f->left_pos = 0; |
| 3715 | 3718 | ||
| 3716 | /* Ensure that old new_width and new_height will not override the | 3719 | /* Ensure that old new_text_cols and new_text_lines will not override the |
| 3717 | values set here. */ | 3720 | values set here. */ |
| 3718 | /* ++KFS: This was specific to W32, but seems ok for all platforms */ | 3721 | /* ++KFS: This was specific to W32, but seems ok for all platforms */ |
| 3719 | FRAME_NEW_WIDTH (f) = 0; | 3722 | f->new_text_cols = f->new_text_lines = 0; |
| 3720 | FRAME_NEW_HEIGHT (f) = 0; | ||
| 3721 | 3723 | ||
| 3722 | tem0 = x_get_arg (dpyinfo, parms, Qheight, 0, 0, RES_TYPE_NUMBER); | 3724 | tem0 = x_get_arg (dpyinfo, parms, Qheight, 0, 0, RES_TYPE_NUMBER); |
| 3723 | tem1 = x_get_arg (dpyinfo, parms, Qwidth, 0, 0, RES_TYPE_NUMBER); | 3725 | tem1 = x_get_arg (dpyinfo, parms, Qwidth, 0, 0, RES_TYPE_NUMBER); |
| @@ -3727,12 +3729,12 @@ x_figure_window_size (f, parms, toolbar_p) | |||
| 3727 | if (!EQ (tem0, Qunbound)) | 3729 | if (!EQ (tem0, Qunbound)) |
| 3728 | { | 3730 | { |
| 3729 | CHECK_NUMBER (tem0); | 3731 | CHECK_NUMBER (tem0); |
| 3730 | f->height = XINT (tem0); | 3732 | FRAME_LINES (f) = XINT (tem0); |
| 3731 | } | 3733 | } |
| 3732 | if (!EQ (tem1, Qunbound)) | 3734 | if (!EQ (tem1, Qunbound)) |
| 3733 | { | 3735 | { |
| 3734 | CHECK_NUMBER (tem1); | 3736 | CHECK_NUMBER (tem1); |
| 3735 | SET_FRAME_WIDTH (f, XINT (tem1)); | 3737 | SET_FRAME_COLS (f, XINT (tem1)); |
| 3736 | } | 3738 | } |
| 3737 | if (!NILP (tem2) && !EQ (tem2, Qunbound)) | 3739 | if (!NILP (tem2) && !EQ (tem2, Qunbound)) |
| 3738 | window_prompting |= USSize; | 3740 | window_prompting |= USSize; |
| @@ -3740,15 +3742,8 @@ x_figure_window_size (f, parms, toolbar_p) | |||
| 3740 | window_prompting |= PSize; | 3742 | window_prompting |= PSize; |
| 3741 | } | 3743 | } |
| 3742 | 3744 | ||
| 3743 | FRAME_X_OUTPUT (f)->vertical_scroll_bar_extra | 3745 | f->scroll_bar_actual_width |
| 3744 | = (!FRAME_HAS_VERTICAL_SCROLL_BARS (f) | 3746 | = FRAME_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f); |
| 3745 | ? 0 | ||
| 3746 | #ifndef HAVE_X_WINDOWS | ||
| 3747 | /* +KFS: This was specific for W32 and MAC.. why? */ | ||
| 3748 | : FRAME_SCROLL_BAR_PIXEL_WIDTH (f) > 0 | ||
| 3749 | ? FRAME_SCROLL_BAR_PIXEL_WIDTH (f) | ||
| 3750 | #endif | ||
| 3751 | : (FRAME_SCROLL_BAR_COLS (f) * FONT_WIDTH (FRAME_X_OUTPUT (f)->font))); | ||
| 3752 | 3747 | ||
| 3753 | /* This used to be done _before_ calling x_figure_window_size, but | 3748 | /* This used to be done _before_ calling x_figure_window_size, but |
| 3754 | since the height is reset here, this was really a no-op. I | 3749 | since the height is reset here, this was really a no-op. I |
| @@ -3780,13 +3775,13 @@ x_figure_window_size (f, parms, toolbar_p) | |||
| 3780 | margin = 0; | 3775 | margin = 0; |
| 3781 | 3776 | ||
| 3782 | bar_height = DEFAULT_TOOL_BAR_IMAGE_HEIGHT + 2 * margin + 2 * relief; | 3777 | bar_height = DEFAULT_TOOL_BAR_IMAGE_HEIGHT + 2 * margin + 2 * relief; |
| 3783 | f->height += (bar_height + CANON_Y_UNIT (f) - 1) / CANON_Y_UNIT (f); | 3778 | FRAME_LINES (f) += (bar_height + FRAME_LINE_HEIGHT (f) - 1) / FRAME_LINE_HEIGHT (f); |
| 3784 | } | 3779 | } |
| 3785 | 3780 | ||
| 3786 | compute_fringe_widths (f, 0); | 3781 | compute_fringe_widths (f, 0); |
| 3787 | 3782 | ||
| 3788 | FRAME_X_OUTPUT (f)->pixel_width = CHAR_TO_PIXEL_WIDTH (f, f->width); | 3783 | FRAME_PIXEL_WIDTH (f) = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, FRAME_COLS (f)); |
| 3789 | FRAME_X_OUTPUT (f)->pixel_height = CHAR_TO_PIXEL_HEIGHT (f, f->height); | 3784 | FRAME_PIXEL_HEIGHT (f) = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, FRAME_LINES (f)); |
| 3790 | 3785 | ||
| 3791 | tem0 = x_get_arg (dpyinfo, parms, Qtop, 0, 0, RES_TYPE_NUMBER); | 3786 | tem0 = x_get_arg (dpyinfo, parms, Qtop, 0, 0, RES_TYPE_NUMBER); |
| 3792 | tem1 = x_get_arg (dpyinfo, parms, Qleft, 0, 0, RES_TYPE_NUMBER); | 3787 | tem1 = x_get_arg (dpyinfo, parms, Qleft, 0, 0, RES_TYPE_NUMBER); |
| @@ -3795,57 +3790,57 @@ x_figure_window_size (f, parms, toolbar_p) | |||
| 3795 | { | 3790 | { |
| 3796 | if (EQ (tem0, Qminus)) | 3791 | if (EQ (tem0, Qminus)) |
| 3797 | { | 3792 | { |
| 3798 | FRAME_X_OUTPUT (f)->top_pos = 0; | 3793 | f->top_pos = 0; |
| 3799 | window_prompting |= YNegative; | 3794 | window_prompting |= YNegative; |
| 3800 | } | 3795 | } |
| 3801 | else if (CONSP (tem0) && EQ (XCAR (tem0), Qminus) | 3796 | else if (CONSP (tem0) && EQ (XCAR (tem0), Qminus) |
| 3802 | && CONSP (XCDR (tem0)) | 3797 | && CONSP (XCDR (tem0)) |
| 3803 | && INTEGERP (XCAR (XCDR (tem0)))) | 3798 | && INTEGERP (XCAR (XCDR (tem0)))) |
| 3804 | { | 3799 | { |
| 3805 | FRAME_X_OUTPUT (f)->top_pos = - XINT (XCAR (XCDR (tem0))); | 3800 | f->top_pos = - XINT (XCAR (XCDR (tem0))); |
| 3806 | window_prompting |= YNegative; | 3801 | window_prompting |= YNegative; |
| 3807 | } | 3802 | } |
| 3808 | else if (CONSP (tem0) && EQ (XCAR (tem0), Qplus) | 3803 | else if (CONSP (tem0) && EQ (XCAR (tem0), Qplus) |
| 3809 | && CONSP (XCDR (tem0)) | 3804 | && CONSP (XCDR (tem0)) |
| 3810 | && INTEGERP (XCAR (XCDR (tem0)))) | 3805 | && INTEGERP (XCAR (XCDR (tem0)))) |
| 3811 | { | 3806 | { |
| 3812 | FRAME_X_OUTPUT (f)->top_pos = XINT (XCAR (XCDR (tem0))); | 3807 | f->top_pos = XINT (XCAR (XCDR (tem0))); |
| 3813 | } | 3808 | } |
| 3814 | else if (EQ (tem0, Qunbound)) | 3809 | else if (EQ (tem0, Qunbound)) |
| 3815 | FRAME_X_OUTPUT (f)->top_pos = 0; | 3810 | f->top_pos = 0; |
| 3816 | else | 3811 | else |
| 3817 | { | 3812 | { |
| 3818 | CHECK_NUMBER (tem0); | 3813 | CHECK_NUMBER (tem0); |
| 3819 | FRAME_X_OUTPUT (f)->top_pos = XINT (tem0); | 3814 | f->top_pos = XINT (tem0); |
| 3820 | if (FRAME_X_OUTPUT (f)->top_pos < 0) | 3815 | if (f->top_pos < 0) |
| 3821 | window_prompting |= YNegative; | 3816 | window_prompting |= YNegative; |
| 3822 | } | 3817 | } |
| 3823 | 3818 | ||
| 3824 | if (EQ (tem1, Qminus)) | 3819 | if (EQ (tem1, Qminus)) |
| 3825 | { | 3820 | { |
| 3826 | FRAME_X_OUTPUT (f)->left_pos = 0; | 3821 | f->left_pos = 0; |
| 3827 | window_prompting |= XNegative; | 3822 | window_prompting |= XNegative; |
| 3828 | } | 3823 | } |
| 3829 | else if (CONSP (tem1) && EQ (XCAR (tem1), Qminus) | 3824 | else if (CONSP (tem1) && EQ (XCAR (tem1), Qminus) |
| 3830 | && CONSP (XCDR (tem1)) | 3825 | && CONSP (XCDR (tem1)) |
| 3831 | && INTEGERP (XCAR (XCDR (tem1)))) | 3826 | && INTEGERP (XCAR (XCDR (tem1)))) |
| 3832 | { | 3827 | { |
| 3833 | FRAME_X_OUTPUT (f)->left_pos = - XINT (XCAR (XCDR (tem1))); | 3828 | f->left_pos = - XINT (XCAR (XCDR (tem1))); |
| 3834 | window_prompting |= XNegative; | 3829 | window_prompting |= XNegative; |
| 3835 | } | 3830 | } |
| 3836 | else if (CONSP (tem1) && EQ (XCAR (tem1), Qplus) | 3831 | else if (CONSP (tem1) && EQ (XCAR (tem1), Qplus) |
| 3837 | && CONSP (XCDR (tem1)) | 3832 | && CONSP (XCDR (tem1)) |
| 3838 | && INTEGERP (XCAR (XCDR (tem1)))) | 3833 | && INTEGERP (XCAR (XCDR (tem1)))) |
| 3839 | { | 3834 | { |
| 3840 | FRAME_X_OUTPUT (f)->left_pos = XINT (XCAR (XCDR (tem1))); | 3835 | f->left_pos = XINT (XCAR (XCDR (tem1))); |
| 3841 | } | 3836 | } |
| 3842 | else if (EQ (tem1, Qunbound)) | 3837 | else if (EQ (tem1, Qunbound)) |
| 3843 | FRAME_X_OUTPUT (f)->left_pos = 0; | 3838 | f->left_pos = 0; |
| 3844 | else | 3839 | else |
| 3845 | { | 3840 | { |
| 3846 | CHECK_NUMBER (tem1); | 3841 | CHECK_NUMBER (tem1); |
| 3847 | FRAME_X_OUTPUT (f)->left_pos = XINT (tem1); | 3842 | f->left_pos = XINT (tem1); |
| 3848 | if (FRAME_X_OUTPUT (f)->left_pos < 0) | 3843 | if (f->left_pos < 0) |
| 3849 | window_prompting |= XNegative; | 3844 | window_prompting |= XNegative; |
| 3850 | } | 3845 | } |
| 3851 | 3846 | ||
| @@ -3855,7 +3850,7 @@ x_figure_window_size (f, parms, toolbar_p) | |||
| 3855 | window_prompting |= PPosition; | 3850 | window_prompting |= PPosition; |
| 3856 | } | 3851 | } |
| 3857 | 3852 | ||
| 3858 | if (FRAME_X_OUTPUT (f)->want_fullscreen != FULLSCREEN_NONE) | 3853 | if (f->want_fullscreen != FULLSCREEN_NONE) |
| 3859 | { | 3854 | { |
| 3860 | int left, top; | 3855 | int left, top; |
| 3861 | int width, height; | 3856 | int width, height; |
| @@ -3863,30 +3858,30 @@ x_figure_window_size (f, parms, toolbar_p) | |||
| 3863 | /* It takes both for some WM:s to place it where we want */ | 3858 | /* It takes both for some WM:s to place it where we want */ |
| 3864 | window_prompting = USPosition | PPosition; | 3859 | window_prompting = USPosition | PPosition; |
| 3865 | x_fullscreen_adjust (f, &width, &height, &top, &left); | 3860 | x_fullscreen_adjust (f, &width, &height, &top, &left); |
| 3866 | f->width = width; | 3861 | FRAME_COLS (f) = width; |
| 3867 | f->height = height; | 3862 | FRAME_LINES (f) = height; |
| 3868 | FRAME_X_OUTPUT (f)->pixel_width = CHAR_TO_PIXEL_WIDTH (f, f->width); | 3863 | FRAME_PIXEL_WIDTH (f) = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, width); |
| 3869 | FRAME_X_OUTPUT (f)->pixel_height = CHAR_TO_PIXEL_HEIGHT (f, f->height); | 3864 | FRAME_PIXEL_HEIGHT (f) = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, height); |
| 3870 | FRAME_X_OUTPUT (f)->left_pos = left; | 3865 | f->left_pos = left; |
| 3871 | FRAME_X_OUTPUT (f)->top_pos = top; | 3866 | f->top_pos = top; |
| 3872 | } | 3867 | } |
| 3873 | 3868 | ||
| 3874 | if (window_prompting & XNegative) | 3869 | if (window_prompting & XNegative) |
| 3875 | { | 3870 | { |
| 3876 | if (window_prompting & YNegative) | 3871 | if (window_prompting & YNegative) |
| 3877 | FRAME_X_OUTPUT (f)->win_gravity = SouthEastGravity; | 3872 | f->win_gravity = SouthEastGravity; |
| 3878 | else | 3873 | else |
| 3879 | FRAME_X_OUTPUT (f)->win_gravity = NorthEastGravity; | 3874 | f->win_gravity = NorthEastGravity; |
| 3880 | } | 3875 | } |
| 3881 | else | 3876 | else |
| 3882 | { | 3877 | { |
| 3883 | if (window_prompting & YNegative) | 3878 | if (window_prompting & YNegative) |
| 3884 | FRAME_X_OUTPUT (f)->win_gravity = SouthWestGravity; | 3879 | f->win_gravity = SouthWestGravity; |
| 3885 | else | 3880 | else |
| 3886 | FRAME_X_OUTPUT (f)->win_gravity = NorthWestGravity; | 3881 | f->win_gravity = NorthWestGravity; |
| 3887 | } | 3882 | } |
| 3888 | 3883 | ||
| 3889 | FRAME_X_OUTPUT (f)->size_hint_flags = window_prompting; | 3884 | f->size_hint_flags = window_prompting; |
| 3890 | 3885 | ||
| 3891 | return window_prompting; | 3886 | return window_prompting; |
| 3892 | } | 3887 | } |