Subject: bug#20552: 24.4; cc

From: [email-masked]
Date: Wed, 13 May 2015 09:33:56 -0400

On Wed, May 13 2015, martin rudalics wrote:

> Please don't remove <[email-masked]> from the list of recipients.
>
>> I started with (left . 0).  That moves the frame close to the left edge
>> but not quite flush left.  If I manually move the frame flush left and
>> execute (modify-frame-parameters nil '( (width . 176) ( left . 0)))
>> the frame moves *right* so that it is again about 1/8 inch away
>
> Hmm... which window manager?  Would
>
> (modify-frame-parameters nil '((user-position . t) (width . 176) (left . 0)))
>
> change anything?
>

Indeed!  As you wrote it there is no difference.  (left . 0) remains
about 1/8 inch right of flush left (even if executed twice).  BUT

(modify-frame-parameters nil '((user-position . t) (width . 176)
                               (left . -1300))

does become flush left on an initial emacs -Q whereas without the
user-position (which I will now read about) it required two executions
to become flush left.  Recall, previously the first execution left the frame
several inches right of flush left but a second execution made it flush
left.

I have modified my scripts to include (user-position . t) and eliminated
the embarrassing repeat execution.

>>>> 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.
>>
>> The weird part is that
>>
>>    (modify-frame-parameters nil '( (width . 176) (left . -1300)))
>>
>> done once is not flush left but if done a second time to the same
>> emacs -Q is flush left
>
> My usual answer here is that eventually Jan will kick in and explain.
>
> martin

Thanks you very much.
allan