Mercurial > emacs
annotate src/widget.h @ 94515:b64e3d5c5852
(make_window): Initialize resize_proportionally.
(enlarge_window): Temporarily set resize_proportionally to make
sure that shrink_windows does scale the window proportionally.
(shrink_windows): When window has resize_proportionally set try
to shrink it proportionally by stealing from other windows.
(struct saved_window, Fset_window_configuration)
(compare_window_configurations): Handle resize_proportionally.
(WINDOW_TOTAL_SIZE): New macro.
(window_min_size, shrink_windows, size_window): Use it.
(check_min_window_sizes): Removed. Invalid values of
window-min-height|width are handled by window_min_size_2 now.
(size_window, Fsplit_window, enlarge_window)
(adjust_window_trailing_edge, grow_mini_window): Don't call
check_min_window_sizes.
(window_min_size_2, window_min_size_1, window_min_size): New
argument safe_p for retrieving "safe" minimum sizes.
(Fdisplay_buffer, Fsplit_window, enlarge_window):
(adjust_window_trailing_edge, grow_mini_window): Adjust
arguments of window_min_size... functions.
(shrink_windows): Argument min_size removed. New argument
safe_p allows shrinking windows to their safe minimum sizes.
Calculate minimum size and decide whether a window shall be
deleted for each window individually.
(size_window): When nodelete_p equals 2, tell shrink_windows to
delete windows only if their new minimum size is no more safe.
(shrink_window_lowest_first): Call window_min_size_1 to make
sure to preserve modeline of bottom-most window when resizing
the minibuffer.
(Fset_window_configuration, Fcurrent_window_configuration)
(compare_window_configurations): Do not handle
window-min-height|width any more.
(syms_of_window): Clarify window-min-height|width doc-strings.
author | Martin Rudalics <rudalics@gmx.at> |
---|---|
date | Thu, 01 May 2008 10:17:00 +0000 |
parents | fc2bcd2a8aad |
children | 606f2d163a64 29adfc9354e7 |
rev | line source |
---|---|
5626 | 1 /* The emacs frame widget public header file. |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
68651
diff
changeset
|
2 Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, |
79759 | 3 2006, 2007, 2008 Free Software Foundation, Inc. |
5626 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
7 GNU Emacs is free software; you can redistribute it and/or modify | |
8 it under the terms of the GNU General Public License as published by | |
78260
922696f363b0
Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents:
75227
diff
changeset
|
9 the Free Software Foundation; either version 3, or (at your option) |
5626 | 10 any later version. |
11 | |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with GNU Emacs; see the file COPYING. If not, write to | |
64084 | 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
20 Boston, MA 02110-1301, USA. */ | |
5626 | 21 |
22 /* Emacs 19 face widget ported by Fred Pierresteguy */ | |
23 | |
24 #ifndef _EmacsFrame_h | |
25 #define _EmacsFrame_h | |
26 | |
27 #define XtNminibuffer "minibuffer" | |
28 #define XtCMinibuffer "Minibuffer" | |
29 #define XtNunsplittable "unsplittable" | |
30 #define XtCUnsplittable "Unsplittable" | |
31 #define XtNinternalBorderWidth "internalBorderWidth" | |
32 #define XtCInternalBorderWidth "InternalBorderWidth" | |
33 #define XtNinterline "interline" | |
34 #define XtCInterline "Interline" | |
35 | |
36 #ifndef XtNfont | |
37 #define XtNfont "font" | |
38 #endif | |
39 #ifndef XtCFont | |
40 #define XtCFont "Font" | |
41 #endif | |
42 #ifndef XtNforeground | |
43 #define XtNforeground "foreground" | |
44 #endif | |
45 #ifndef XtCForeground | |
46 #define XtCForeground "Foreground" | |
47 #endif | |
48 | |
49 #define XtNcursorColor "cursorColor" | |
50 #define XtCCursorColor "CursorColor" | |
51 #define XtNbarCursor "barCursor" | |
52 #define XtCBarCursor "BarCursor" | |
53 | |
54 #define XtNvisualBell "visualBell" | |
55 #define XtCVisualBell "VisualBell" | |
56 #define XtCBellVolume "BellVolume" | |
57 #define XtNbellVolume "bellVolume" | |
58 | |
59 #define XtNpointerBackground "pointerBackground" | |
60 #define XtNpointerColor "pointerColor" | |
61 | |
62 #define XtNtextPointer "textPointer" | |
63 #define XtNspacePointer "spacePointer" | |
64 #define XtNmodeLinePointer "modePointer" | |
65 #define XtNgcPointer "gcPointer" | |
66 | |
67 #define XtNemacsFrame "emacsFrame" | |
68 #define XtCEmacsFrame "EmacsFrame" | |
69 | |
70 #ifndef XtNgeometry | |
71 #define XtNgeometry "geometry" | |
72 #endif | |
73 #ifndef XtCGeometry | |
74 #define XtCGeometry "Geometry" | |
75 #endif | |
9229
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
76 #ifndef XtNshowGrip |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
77 #define XtNshowGrip "showGrip" |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
78 #endif |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
79 #ifndef XtNallowResize |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
80 #define XtNallowResize "allowResize" |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
81 #endif |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
82 #ifndef XtNresizeToPreferred |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
83 #define XtNresizeToPreferred "resizeToPreferred" |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
84 #endif |
5626 | 85 |
86 #define XtNinitialGeometry "initialGeometry" | |
87 #define XtCInitialGeometry "InitialGeometry" | |
88 | |
89 /* structures | |
90 */ | |
91 typedef struct _EmacsFrameRec *EmacsFrame; | |
92 typedef struct _EmacsFrameClassRec *EmacsFrameClass; | |
93 | |
94 extern WidgetClass emacsFrameClass; | |
95 | |
96 extern struct _DisplayContext* display_context; | |
97 | |
98 /* Special entrypoints */ | |
35057
29053ba75ce5
(EmacsFrameSetCharSize_): Prototype.
Dave Love <fx@gnu.org>
parents:
24998
diff
changeset
|
99 void EmacsFrameSetCharSize P_ ((Widget, int, int)); |
24998
c61fea4f9105
(x_set_font): Don't call face-set-after-frame-default
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
100 void widget_store_internal_border P_ ((Widget widget)); |
5626 | 101 |
102 #endif /* _EmacsFrame_h */ | |
52401 | 103 |
104 /* arch-tag: 98be17cc-8878-4701-abfa-66f1c04e9cb7 | |
105 (do not change this comment) */ |