[Top][All Lists]

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

RE: x-display-pixel-width/height inconsistency

From: Drew Adams
Subject: RE: x-display-pixel-width/height inconsistency
Date: Fri, 5 Jul 2013 09:58:06 -0700 (PDT)

> > If it is off-screen then move it on-screen.
> Just detecting if it is off-screen isn't trivial with multiple
> monitor. By using three of them side-by-side but not perfectly
> aligned, it would be possible to have a window (an Emacs frame) that
> is visible, and yet has its four corners outside any monitor's
> displaying area.

OK.  But for other cases?  No reason to let the ideal become the enemy
of the good.

> Anyway, I'm against adding a command to move a frame on-screen. As
> part of automatic restoration, perhaps, because restoration does not
> require user interaction. But if a frame is off-screen and the user
> wants it on-screen, please dear user, learn to use Windows more
> effectively.

No - please, dear Emacs, learn to help lost users. ;-)

I don't feel strongly about it, but I guess I disagree.  I can imagine
people who use Emacs on multiple platforms, including MS Windows, and
who never become True Winistas.

In addition, beyond Emacs, I would even guess that most Windows users
have no idea how to move a window back on screen.  Google "how to move
window back onto screen"...

And they generally do not need such knowledge.  Losing a window
off-screen does not happen every 30 minutes.

I think you mentioned that your use of MS Windows is mainly command-line
use.  That's great, but it is hardly the case of most Windows users.  (I
would even guess it is hardly the case for most Windows users of Emacs.)

In sum, most Emacs users, whether on MS Windows or not, will not guess
how to move a frame back onto the screen.  And most Windows users will
not know how to do so outside Emacs.

And it is trivial to provide a command that lets a user select a frame
and then move it around until s?he sees it - or just move it to, say,
top: 0, left: 0.

FWIW - In frame-cmds.el I have long had commands
`move-frame-to-screen-(top|bottom|left|right)', with suggested bindings
 `M-S-v', `C-S-v', `C-S-prior', and `C-S-next'.

These all read a frame name using completion (default: selected frame),
then move that frame to the corresponding screen edge.  With a numeric
prefix arg they offset it that many chars from the edge.

(And there are repeatable commands that move the selected frame in each
direction - suggested repeatable bindings: `M-(up|down|left|right)'.

While such commands can be used to get a frame back on screen, I've now
added `move-frame-to-screen-top-left' (suggested binding: `C-S-home'),
to move a frame you choose to the top, left screen corner.

(No idea what this means for multiple monitors, but presumably the
off-all-monitors frame you describe would show up at the top left of
one of the monitors.)

reply via email to

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