bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#1522: 23.0.60; unable to set fullheight and fixed width in one comma


From: martin rudalics
Subject: bug#1522: 23.0.60; unable to set fullheight and fixed width in one command
Date: Sat, 03 Jan 2009 19:04:21 +0100
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)

> M-: (modify-frame-parameters nil '( (fullscreen . fullheight) (width . 170) ))
>
> The height is set, but the width is not.  The documentation seems to
> suggest that both are frame-parameters and hence can be set together.
> It works fine if two modify-frame-parameters commands are issued.

Allan, could you please try the attached patch?  It's not very elegant
but maybe it does what is needed.

Thanks, martin.
*** frame.c.~1.407.~    2009-01-02 07:40:38.046875000 +0100
--- frame.c     2009-01-03 18:57:07.437500000 +0100
***************
*** 2925,2930 ****
--- 2925,2932 ----
    int left_no_change = 0, top_no_change = 0;
    int icon_left_no_change = 0, icon_top_no_change = 0;
    int fullscreen_is_being_set = 0;
+   int height_for_full_width = 0;
+   int width_for_full_height = 0;
  
    struct gcpro gcpro1, gcpro2;
  
***************
*** 3006,3014 ****
        val = values[i];
  
        if (EQ (prop, Qwidth) && NATNUMP (val))
!       width = XFASTINT (val);
        else if (EQ (prop, Qheight) && NATNUMP (val))
!       height = XFASTINT (val);
        else if (EQ (prop, Qtop))
        top = val;
        else if (EQ (prop, Qleft))
--- 3008,3016 ----
        val = values[i];
  
        if (EQ (prop, Qwidth) && NATNUMP (val))
!       width_for_full_height = width = XFASTINT (val);
        else if (EQ (prop, Qheight) && NATNUMP (val))
!       height_for_full_width = height = XFASTINT (val);
        else if (EQ (prop, Qtop))
        top = val;
        else if (EQ (prop, Qleft))
***************
*** 3088,3093 ****
--- 3090,3100 ----
        x_fullscreen_adjust (f, &width, &height, &new_top, &new_left);
        if (new_top != f->top_pos || new_left != f->left_pos)
          x_set_offset (f, new_left, new_top, 1);
+ 
+       if (height_for_full_width)
+       height = height_for_full_width;
+       if (width_for_full_height)
+       width = width_for_full_height;
      }
  
    /* Don't set these parameters unless they've been explicitly

reply via email to

[Prev in Thread] Current Thread [Next in Thread]