diff options
| author | Martin Rudalics | 2015-07-26 12:41:16 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2015-07-26 12:41:16 +0200 |
| commit | fac8492664246c49ee145802cc124aa9e1636e7b (patch) | |
| tree | 3b6556d715f947a401a9d214f77c7eb7cf63ddd6 | |
| parent | f2576da45cc408ea201d52e4e5e4f8e72874e2ff (diff) | |
| download | emacs-fac8492664246c49ee145802cc124aa9e1636e7b.tar.gz emacs-fac8492664246c49ee145802cc124aa9e1636e7b.zip | |
Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
* src/nsfns.m (Fx_frame_geometry):
* src/xfns.c (Fx_frame_geometry): Return nil for initial and
terminal frames.
* src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
(Fx_frame_geometry): Return nil for terminal frames
| -rw-r--r-- | src/nsfns.m | 23 | ||||
| -rw-r--r-- | src/w32fns.c | 6 | ||||
| -rw-r--r-- | src/xfns.c | 3 |
3 files changed, 20 insertions, 12 deletions
diff --git a/src/nsfns.m b/src/nsfns.m index a165304741c..0fc867c1ebb 100644 --- a/src/nsfns.m +++ b/src/nsfns.m | |||
| @@ -2877,18 +2877,24 @@ elements (all size values are in pixels). | |||
| 2877 | int inner_width = FRAME_PIXEL_WIDTH (f); | 2877 | int inner_width = FRAME_PIXEL_WIDTH (f); |
| 2878 | int inner_height = FRAME_PIXEL_HEIGHT (f); | 2878 | int inner_height = FRAME_PIXEL_HEIGHT (f); |
| 2879 | Lisp_Object fullscreen = Fframe_parameter (frame, Qfullscreen); | 2879 | Lisp_Object fullscreen = Fframe_parameter (frame, Qfullscreen); |
| 2880 | int border = f->border_width; | 2880 | int border, title, outer_width, outer_height; |
| 2881 | int title = FRAME_NS_TITLEBAR_HEIGHT (f); | 2881 | int tool_bar_height, tool_bar_width; |
| 2882 | int outer_width = FRAME_PIXEL_WIDTH (f) + 2 * border; | ||
| 2883 | int outer_height = FRAME_PIXEL_HEIGHT (f) + 2 * border; | ||
| 2884 | int tool_bar_height = FRAME_TOOLBAR_HEIGHT (f); | ||
| 2885 | int tool_bar_width = tool_bar_height > 0 | ||
| 2886 | ? outer_width - 2 * FRAME_INTERNAL_BORDER_WIDTH (f) | ||
| 2887 | : 0; | ||
| 2888 | // Always 0 on NS. | 2882 | // Always 0 on NS. |
| 2889 | int menu_bar_height = 0; | 2883 | int menu_bar_height = 0; |
| 2890 | int menu_bar_width = 0; | 2884 | int menu_bar_width = 0; |
| 2891 | 2885 | ||
| 2886 | if (FRAME_INITIAL_P (f) || !FRAME_NS_P (f)) | ||
| 2887 | return Qnil; | ||
| 2888 | |||
| 2889 | border = f->border_width; | ||
| 2890 | title = FRAME_NS_TITLEBAR_HEIGHT (f); | ||
| 2891 | outer_width = FRAME_PIXEL_WIDTH (f) + 2 * border; | ||
| 2892 | outer_height = FRAME_PIXEL_HEIGHT (f) + 2 * border; | ||
| 2893 | tool_bar_height = FRAME_TOOLBAR_HEIGHT (f); | ||
| 2894 | tool_bar_width = tool_bar_height > 0 | ||
| 2895 | ? outer_width - 2 * FRAME_INTERNAL_BORDER_WIDTH (f) | ||
| 2896 | : 0; | ||
| 2897 | |||
| 2892 | return | 2898 | return |
| 2893 | listn (CONSTYPE_HEAP, 10, | 2899 | listn (CONSTYPE_HEAP, 10, |
| 2894 | Fcons (Qframe_position, | 2900 | Fcons (Qframe_position, |
| @@ -2917,7 +2923,6 @@ elements (all size values are in pixels). | |||
| 2917 | make_number (inner_height)))); | 2923 | make_number (inner_height)))); |
| 2918 | } | 2924 | } |
| 2919 | 2925 | ||
| 2920 | |||
| 2921 | /* ========================================================================== | 2926 | /* ========================================================================== |
| 2922 | 2927 | ||
| 2923 | Class implementations | 2928 | Class implementations |
diff --git a/src/w32fns.c b/src/w32fns.c index bf81078d010..abfa315e2a9 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -7523,7 +7523,7 @@ If FRAME is omitted or nil, the selected frame is used. */) | |||
| 7523 | MENUBARINFO menu_bar; | 7523 | MENUBARINFO menu_bar; |
| 7524 | int width, height, single_height, wrapped_height; | 7524 | int width, height, single_height, wrapped_height; |
| 7525 | 7525 | ||
| 7526 | if (FRAME_INITIAL_P (f)) | 7526 | if (FRAME_INITIAL_P (f) || !FRAME_W32_P (f)) |
| 7527 | return Qnil; | 7527 | return Qnil; |
| 7528 | 7528 | ||
| 7529 | block_input (); | 7529 | block_input (); |
| @@ -7557,7 +7557,7 @@ title bar and decorations. */) | |||
| 7557 | struct frame *f = decode_live_frame (frame); | 7557 | struct frame *f = decode_live_frame (frame); |
| 7558 | RECT rect; | 7558 | RECT rect; |
| 7559 | 7559 | ||
| 7560 | if (FRAME_INITIAL_P (f)) | 7560 | if (FRAME_INITIAL_P (f) || !FRAME_W32_P (f)) |
| 7561 | return Qnil; | 7561 | return Qnil; |
| 7562 | 7562 | ||
| 7563 | block_input (); | 7563 | block_input (); |
| @@ -7617,7 +7617,7 @@ elements (all size values are in pixels). | |||
| 7617 | int single_bar_height, wrapped_bar_height, menu_bar_height; | 7617 | int single_bar_height, wrapped_bar_height, menu_bar_height; |
| 7618 | Lisp_Object fullscreen = Fframe_parameter (frame, Qfullscreen); | 7618 | Lisp_Object fullscreen = Fframe_parameter (frame, Qfullscreen); |
| 7619 | 7619 | ||
| 7620 | if (FRAME_INITIAL_P (f)) | 7620 | if (FRAME_INITIAL_P (f) || !FRAME_W32_P (f)) |
| 7621 | return Qnil; | 7621 | return Qnil; |
| 7622 | 7622 | ||
| 7623 | block_input (); | 7623 | block_input (); |
diff --git a/src/xfns.c b/src/xfns.c index fe3237f8500..8137ceacb88 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -4359,6 +4359,9 @@ elements (all size values are in pixels). | |||
| 4359 | int left_off, right_off, top_off, bottom_off, outer_border; | 4359 | int left_off, right_off, top_off, bottom_off, outer_border; |
| 4360 | XWindowAttributes atts; | 4360 | XWindowAttributes atts; |
| 4361 | 4361 | ||
| 4362 | if (FRAME_INITIAL_P (f) || !FRAME_X_P (f)) | ||
| 4363 | return Qnil; | ||
| 4364 | |||
| 4362 | block_input (); | 4365 | block_input (); |
| 4363 | 4366 | ||
| 4364 | XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &atts); | 4367 | XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &atts); |