aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2015-07-26 12:41:16 +0200
committerMartin Rudalics2015-07-26 12:41:16 +0200
commitfac8492664246c49ee145802cc124aa9e1636e7b (patch)
tree3b6556d715f947a401a9d214f77c7eb7cf63ddd6
parentf2576da45cc408ea201d52e4e5e4f8e72874e2ff (diff)
downloademacs-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.m23
-rw-r--r--src/w32fns.c6
-rw-r--r--src/xfns.c3
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);