Subject: bug#20552: 24.4; cc

From: martin rudalics <[email-masked]>
Date: Tue, 12 May 2015 11:36:34 +0200

> I execute the following function in *scratch* on a fresh emacs -Q
 >
 >    (modify-frame-parameters nil '( (width . 176) (left . -1300)))
 >
 > My screen is 2560x1600.  Emacs version is 24.4.  System is gentoo/gnome.
 >
 > The width does become 176.
 > However, left is not correct (it should be flush left but is nearly
 > centered).

Why do you think it should be "flush left"?  When you specify

(left . -1300)

Emacs will tell the window manager to position the right edge of the
frame 1300 pixels to the left of the right screen edge.  You will get a
"flush left" effect if and only if your screen is as wide as

(+ 1300 (* 176 (frame-char-width)))

plus the space needed for scrollbars and frame decorations.  Why don't
you use (left . 0)?

 > The weird part is if I execute the same command again (a second C-j in
 > *scratch), the frame moves to the correct, flush left, position.
 >
 > (Since my screen is 2560 wide (left . -1300) should have the right edge
 > a little left of center, instead it is very much right of center.)

Maybe your window manager tries to keep the frame within the screen
boundaries.

martin