Mercurial > hg > xemacs-beta
comparison src/window.c @ 4375:74e0e1131e01
Update window-size computation.
2008-01-02 Mike Sperber <mike@xemacs.org>
* window.c (set_window_pixsize): Factor in the modeline when
looking at window_min_width. Remove obsolete comment about
incorrect use of `default_face_height_and_width'.
(change_window_height): Remove obsolete comment about
incorrect use of `default_face_height_and_width'.
author | Mike Sperber <sperber@deinprogramm.de> |
---|---|
date | Wed, 02 Jan 2008 10:12:04 +0100 |
parents | f6f6fc9eb269 |
children | c32b3d10c56b |
comparison
equal
deleted
inserted
replaced
4374:4939bde48d12 | 4375:74e0e1131e01 |
---|---|
3518 Lisp_Object child, minor_kid, major_kid; | 3518 Lisp_Object child, minor_kid, major_kid; |
3519 int minsize; | 3519 int minsize; |
3520 int line_size; | 3520 int line_size; |
3521 int defheight, defwidth; | 3521 int defheight, defwidth; |
3522 | 3522 |
3523 /* #### This is very likely incorrect and instead the char_to_pixel_ | |
3524 functions should be called. */ | |
3525 default_face_height_and_width (window, &defheight, &defwidth); | 3523 default_face_height_and_width (window, &defheight, &defwidth); |
3526 line_size = (set_height ? defheight : defwidth); | 3524 line_size = (set_height ? defheight : defwidth); |
3527 | 3525 |
3528 check_min_window_sizes (); | 3526 check_min_window_sizes (); |
3529 | 3527 |
3530 minsize = (set_height ? window_min_height : window_min_width); | 3528 minsize = (set_height ? window_min_height : window_min_width); |
3531 minsize *= line_size; | 3529 minsize *= line_size; |
3532 | 3530 |
3533 if (!nodelete | 3531 if (!nodelete |
3534 && !TOP_LEVEL_WINDOW_P (w) | 3532 && !TOP_LEVEL_WINDOW_P (w) |
3535 && new_pixsize < minsize) | 3533 && (new_pixsize + window_modeline_height (w)) < minsize) |
3536 { | 3534 { |
3537 Fdelete_window (window, Qnil); | 3535 Fdelete_window (window, Qnil); |
3538 return; | 3536 return; |
3539 } | 3537 } |
3540 | 3538 |
4367 window = wrap_window (win); | 4365 window = wrap_window (win); |
4368 f = XFRAME (win->frame); | 4366 f = XFRAME (win->frame); |
4369 if (EQ (window, FRAME_ROOT_WINDOW (f))) | 4367 if (EQ (window, FRAME_ROOT_WINDOW (f))) |
4370 invalid_operation ("Won't change only window", Qunbound); | 4368 invalid_operation ("Won't change only window", Qunbound); |
4371 | 4369 |
4372 /* #### This is very likely incorrect and instead the char_to_pixel_ | |
4373 functions should be called. */ | |
4374 default_face_height_and_width (window, &defheight, &defwidth); | 4370 default_face_height_and_width (window, &defheight, &defwidth); |
4375 | 4371 |
4376 while (1) | 4372 while (1) |
4377 { | 4373 { |
4378 w = XWINDOW (window); | 4374 w = XWINDOW (window); |