From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: x-display-pixel-width/height inconsistency Date: Fri, 5 Jul 2013 09:58:06 -0700 (PDT) Message-ID: References: <83vc6tcqss.fsf@gnu.org> <83haibdipo.fsf@gnu.org> <837gj7co0l.fsf@gnu.org> <8338tvcjlp.fsf@gnu.org> <83wqr7b3h6.fsf@gnu.org> <51D12678.5090806@gmx.at> <51D2ADAA.9000805@gmx.at> <51D2D180.6050002@gmx.at> <51D3EE69.9080808@gmx.at> <51D41CA2.8000206@gmx.at> <51D541B6.1000908@gmx.at> <8F67C4E1-0640-4912-A73B-1B120C8E8F0B@swipnet.se> <7B61DAF3-584E-44B1-8CA7-D6B0CEF83E7A@swipnet.se> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1373043507 15765 80.91.229.3 (5 Jul 2013 16:58:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Jul 2013 16:58:27 +0000 (UTC) Cc: martin rudalics , =?utf-8?B?SmFuIERqw6Rydg==?= , YAMAMOTO Mitsuharu , Emacs developers To: Juanma Barranquero Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 05 18:58:27 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Uv9Ky-0000Nd-VP for ged-emacs-devel@m.gmane.org; Fri, 05 Jul 2013 18:58:25 +0200 Original-Received: from localhost ([::1]:48114 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv9Ky-0002zf-F0 for ged-emacs-devel@m.gmane.org; Fri, 05 Jul 2013 12:58:24 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40902) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv9Ku-0002zY-VN for emacs-devel@gnu.org; Fri, 05 Jul 2013 12:58:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uv9Kt-0006Cu-K7 for emacs-devel@gnu.org; Fri, 05 Jul 2013 12:58:20 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:42490) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv9Kt-0006Ch-Cr for emacs-devel@gnu.org; Fri, 05 Jul 2013 12:58:19 -0400 Original-Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r65GwCUb008584 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 5 Jul 2013 16:58:15 GMT Original-Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r65Gw9P4016864 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 5 Jul 2013 16:58:10 GMT Original-Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r65Gw9si006449; Fri, 5 Jul 2013 16:58:09 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.7 (607090) [OL 12.0.6668.5000 (x86)] X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:161606 Archived-At: > > If it is off-screen then move it on-screen. >=20 > 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.)