all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ryan Prior <ryanprior@gmail.com>
To: martin rudalics <rudalics@gmx.at>
Cc: 21348@debbugs.gnu.org
Subject: bug#21348: bug#21469: bug#21348: 25.0.50; Screen scaling factor >=2 causes menus, tooltips to display in the wrong place
Date: Tue, 13 Oct 2015 15:37:48 -0500	[thread overview]
Message-ID: <CAHDL8odeS36QM4WZRwSc-+BtSX_5FCWiuOA5sMGaHTsWFJ8qPw@mail.gmail.com> (raw)
In-Reply-To: <561D3DA5.9000801@gmx.at>

On Tue, Oct 13, 2015 at 12:21 PM, martin rudalics <rudalics@gmx.at> wrote:

>  Can you try again with the
> ‘user-position’ frame parameter non-nil?

The behavior is identical.

> You mean on a subsequent attempt the frame is flushed left or still at
> position 20.  What happens when you try something similar with the ‘top’
> parameter?

The frame is never flush left except during brief flash. Immediately
afterward, and subsequent to each additional call, the actual frame
position is offset by 20 pixels. This is true for top just as it is
for left.

> Does that mean the offset of 20 pixels appears with scaling turned off
> and on?

Not quite. With scaling at 2x, the offset is 20 pixels. With scaling
at 1x, the offset is 10 pixels.

> So the window manager probably constrains frame positioning.  What
> happens with a frame larger than the screen size?

This question opened a can of worms.

The answer, on Ubuntu Trusty with Unity (Compiz) window manager, is
that it depends on which virtual desktop you are on. I have four
virtual desktops laid out in a 2x2 grid, which I'll refer to clockwise
like so:

[1][2]
[4][3]

On desktop 1, it behaves the same as for a frame which is smaller than
the screen size and not flush with the right screen edge: offset of
(10*scale) pixels when positioning left or top, doesn't appear to
"stick" to anything.

On desktop 2, positioning top behaves the same as desktop 1, but
positioning left results in a frame flush with the left screen edge.
This is not true of frames smaller than the screen size, which I
previously tested on each virtual desktop and displayed consistent
behavior.

On desktop 4, we see a symmetric behavior where positioning left
behaves the same as desktop 1, but positioning top results in a frame
flush with the screen top edge.

On desktop 3, positioning both left and top results in a frame flush
with the respective screen edge, and I observed an additional curious
behavior. Each call to set the top position also decreases the left
position by a small amount, if the number of pixels specified as the
top position is small. In the range of 10-30, it budged the left side;
in the range of 100-500, it didn't.

When I came to write up my results, I decided to try to pin down
exactly where the cut-off was between values which would or wouldn't
budge the frame to the left, so I restarted emacs and set about trying
to reproduce it. But I can't. This time around, a frame larger than
the screen behaves in all ways as I described for desktop 1.

This test could be exercising some little-tested code paths in Emacs,
Unity, or both. As before, I appreciate any assistance in
corroborating and analyzing this information.


> And does ‘set-mouse-absolute-pixel-position’ work normally?

In fact, mouse-set-absolute-pixel-position works flawlessly as
expected. If I set the frame left position to 0 and the mouse x
position to (10*scale), they line up precisely. Similarly, I can set
the mouse position to (0,0) with no problem.


Ryan





  reply	other threads:[~2015-10-13 20:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-25 22:51 bug#21348: 25.0.50; Screen scaling factor >=2 causes menus, tooltips to display in the wrong place Ryan Prior
2015-08-26  2:48 ` Eli Zaretskii
2015-08-26  8:56   ` martin rudalics
2015-08-26 15:33     ` Eli Zaretskii
2015-08-26 16:07       ` Glenn Morris
2015-08-27  7:58       ` martin rudalics
2015-08-26  8:56 ` martin rudalics
2015-10-12 21:10 ` bug#21469: " Ryan Prior
2015-10-13 15:51   ` bug#21348: " martin rudalics
2015-10-13 16:34     ` bug#18429: " Ryan Prior
2015-10-13 17:21       ` bug#20619: " martin rudalics
2015-10-13 20:37         ` Ryan Prior [this message]
2015-10-14  8:49           ` bug#21348: " martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAHDL8odeS36QM4WZRwSc-+BtSX_5FCWiuOA5sMGaHTsWFJ8qPw@mail.gmail.com \
    --to=ryanprior@gmail.com \
    --cc=21348@debbugs.gnu.org \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.