From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?B?0KHQtdGA0LPQtdC5INCi0YDQvtGE0LjQvNC+0LI=?= Newsgroups: gmane.emacs.devel Subject: [PATCH] Fix fit-frame-to-buffer for multi-monitor setup. Date: Sat, 29 Feb 2020 14:10:56 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000062466e059fb6b195" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="10585"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Feb 29 14:13:13 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j81vc-0002fW-Gh for ged-emacs-devel@m.gmane-mx.org; Sat, 29 Feb 2020 14:13:12 +0100 Original-Received: from localhost ([::1]:60496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j81vb-0004ja-I0 for ged-emacs-devel@m.gmane-mx.org; Sat, 29 Feb 2020 08:13:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34754) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j81u5-0004Fa-3o for emacs-devel@gnu.org; Sat, 29 Feb 2020 08:11:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j81u3-0004d2-P1 for emacs-devel@gnu.org; Sat, 29 Feb 2020 08:11:36 -0500 Original-Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:40060) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j81u3-0004Z0-0g for emacs-devel@gnu.org; Sat, 29 Feb 2020 08:11:35 -0500 Original-Received: by mail-ed1-x52f.google.com with SMTP id p3so6919351edx.7 for ; Sat, 29 Feb 2020 05:11:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sarg.org.ru; s=google; h=mime-version:from:date:message-id:subject:to; bh=FQRRrUbMycRFwQ0uj9znhkWz0Vyab9plk5/kcSY8+OQ=; b=NTt30MzOjJ8E/sC+JxPKy66/0vprAJRqxOi58e3uRe7ZsPoS47N6tK16Lk6LpbQUn8 vSeuL+Zih+h1FYQEd71sc5kfBFhYdS601IV2rdGOw0uHu9umE4v397/odzgDOcombIvR 8B11tyg+bzn83jku+W5bb4hgeXIhD0A1+4tTI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=FQRRrUbMycRFwQ0uj9znhkWz0Vyab9plk5/kcSY8+OQ=; b=WcZ4v8/Cpq8zLbOkEeFAfz0bNb8CVQQGnvdnYMY7HAVG5BvCRnoQt590r7cBpiFmFg rBbG8AlpdPDb4DTM/YAh6E/JWnG4wps4+siLlgaXEGZ07/gh9SGSB1xufCFB/CLbXfU0 BdPWlI5CvcGpTqFX6v5fKbnnOgrNx2KQTqjvQa9iGhhhLHZIAFjauOWncS4XJtE8FSz9 +FX1DUvPIv51ULMYtXAeH4Fs1z3sBnc/Z0r+WlXofeEJ7DOOJRvnmCwJZPRP4kQZ5Jyw YlqKa2xRlUvv0WtrPbVVmq6rnBw6VXaadiRYvwfe49bLEwwnOlXcQs4JZF1XLMwoUMX9 1hfg== X-Gm-Message-State: APjAAAWALT5IlaGtI37xqbaPEIAZOJ1QL5tKfBI0d8r+uoce9B4uxQEe Xu2PFpi0kdXzbt5SnGVtZTX/O/d/voUYeGmaLZ23cRG6i3ubsQ== X-Google-Smtp-Source: APXvYqw+9HVHtGVdnClwMrT3VJLcaj/A9ExK6rJgvWYB5qfwDHEek7MpOAM2kinSMif3nl0EMAe6aa99b4bOybaFI5M= X-Received: by 2002:a17:906:9615:: with SMTP id s21mr8122451ejx.20.1582981892409; Sat, 29 Feb 2020 05:11:32 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::52f X-Mailman-Approved-At: Sat, 29 Feb 2020 08:12:39 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:245121 Archived-At: --00000000000062466e059fb6b195 Content-Type: text/plain; charset="UTF-8" I've noticed `fit-frame-to-buffer` results in incorrect frame position when the frame is not a child frame. I've looked into the code and seems that there are two issues: first is that frame monitor is ignored, always first monitor in `display-monitor-attributes-list` is used. Second is that `workarea` and `geometry` are in the form of `(X Y WIDTH HEIGHT)` but code treats them as `(X1 Y1 X2 Y2)`. I'm providing a patch that fixes both issues. --00000000000062466e059fb6b195 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-fit-frame-to-buffer-for-multi-monitor-setup.patch" Content-Disposition: attachment; filename="0001-Fix-fit-frame-to-buffer-for-multi-monitor-setup.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k77mik4g0 RnJvbSA1OWE4M2YzMmZlNWJiODkyMDM1MWJkZjhlMmZiY2RkMGRlZTFhYmE3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTZXJnZXkgVHJvZmltb3YgPHNhcmdAc2FyZy5vcmcucnU+CkRh dGU6IFNhdCwgMjkgRmViIDIwMjAgMTQ6MDA6MzggKzAxMDAKU3ViamVjdDogW1BBVENIXSBGaXgg Zml0LWZyYW1lLXRvLWJ1ZmZlciBmb3IgbXVsdGktbW9uaXRvciBzZXR1cC4KCi0tLQogbGlzcC93 aW5kb3cuZWwgfCAxMSArKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3dpbmRvdy5lbCBiL2xpc3Avd2lu ZG93LmVsCmluZGV4IGJkODI1YzAuLjMxOTBjMTUgMTAwNjQ0Ci0tLSBhL2xpc3Avd2luZG93LmVs CisrKyBiL2xpc3Avd2luZG93LmVsCkBAIC04ODA2LDggKzg4MDYsNyBAQCBwYXJhbWV0ZXJzIG9m IEZSQU1FLiIKICAgICAgICAgICAgKHBhcmVudCAoZnJhbWUtcGFyZW50IGZyYW1lKSkKICAgICAg ICAgICAgKG1vbml0b3ItYXR0cmlidXRlcwogICAgICAgICAgICAgKHVubGVzcyBwYXJlbnQKLSAg ICAgICAgICAgICAgKGNhciAoZGlzcGxheS1tb25pdG9yLWF0dHJpYnV0ZXMtbGlzdAotICAgICAg ICAgICAgICAgICAgICAoZnJhbWUtcGFyYW1ldGVyIGZyYW1lICdkaXNwbGF5KSkpKSkKKyAgICAg ICAgICAgICAgKGZyYW1lLW1vbml0b3ItYXR0cmlidXRlcyBmcmFtZSkpKQogICAgICAgICAgICA7 OyBGUkFNRSdTIHBhcmVudCBvciBkaXNwbGF5IHNpemVzLiAgVXNlZCBpbiBjb25uZWN0aW9uCiAg ICAgICAgICAgIDs7IHdpdGggbWFyZ2lucy4KICAgICAgICAgICAgKGdlb21ldHJ5CkBAIC04ODE2 LDExICs4ODE1LDExIEBAIHBhcmFtZXRlcnMgb2YgRlJBTUUuIgogICAgICAgICAgICAocGFyZW50 LW9yLWRpc3BsYXktd2lkdGgKICAgICAgICAgICAgIChpZiBwYXJlbnQKICAgICAgICAgICAgICAg ICAoZnJhbWUtbmF0aXZlLXdpZHRoIHBhcmVudCkKLSAgICAgICAgICAgICAgKC0gKG50aCAyIGdl b21ldHJ5KSAobnRoIDAgZ2VvbWV0cnkpKSkpCisgICAgICAgICAgICAgIChudGggMiBnZW9tZXRy eSkpKQogICAgICAgICAgICAocGFyZW50LW9yLWRpc3BsYXktaGVpZ2h0CiAgICAgICAgICAgICAo aWYgcGFyZW50CiAgICAgICAgICAgICAgICAgKGZyYW1lLW5hdGl2ZS1oZWlnaHQgcGFyZW50KQot ICAgICAgICAgICAgICAoLSAobnRoIDMgZ2VvbWV0cnkpIChudGggMSBnZW9tZXRyeSkpKSkKKyAg ICAgICAgICAgICAgKG50aCAzIGdlb21ldHJ5KSkpCiAgICAgICAgICAgIDs7IEZSQU1FJ3MgcGFy ZW50IG9yIHdvcmthcmVhIHNpemVzLiAgVXNlZCB3aGVuIG5vIG1hcmdpbnMKICAgICAgICAgICAg OzsgYXJlIHNwZWNpZmllZC4KICAgICAgICAgICAgKHBhcmVudC1vci13b3JrYXJlYQpAQCAtODg4 MiwxMyArODg4MSwxMyBAQCBwYXJhbWV0ZXJzIG9mIEZSQU1FLiIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHdpbmRvdy0tc2FuaXRpemUtbWFyZ2luCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAobnRoIDIgbWFyZ2lucykgbGVmdC1tYXJnaW4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBhcmVudC1vci1kaXNwbGF5LXdpZHRoKSkKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgIChudGggMiBwYXJlbnQtb3Itd29ya2FyZWEpKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICgrIChudGggMCBwYXJlbnQtb3Itd29ya2FyZWEpIChudGggMiBw YXJlbnQtb3Itd29ya2FyZWEpKSkpCiAgICAgICAgICAgIChib3R0b20tbWFyZ2luIChpZiAobnRo IDMgbWFyZ2lucykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgtIHBhcmVudC1vci1k aXNwbGF5LWhlaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdpbmRvdy0t c2FuaXRpemUtbWFyZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG50aCAz IG1hcmdpbnMpIHRvcC1tYXJnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YXJlbnQtb3ItZGlzcGxheS1oZWlnaHQpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChu dGggMyBwYXJlbnQtb3Itd29ya2FyZWEpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAo KyAobnRoIDEgcGFyZW50LW9yLXdvcmthcmVhKSAobnRoIDMgcGFyZW50LW9yLXdvcmthcmVhKSkp KQogICAgICAgICAgICA7OyBNaW5pbXVtIGFuZCBtYXhpbXVtIHNpemVzIHNwZWNpZmllZCBmb3Ig RlJBTUUuCiAgICAgICAgICAgIChzaXplcyAob3IgKGZyYW1lLXBhcmFtZXRlciBmcmFtZSAnZml0 LWZyYW1lLXRvLWJ1ZmZlci1zaXplcykKICAgICAgICAgICAgICAgICAgICAgICBmaXQtZnJhbWUt dG8tYnVmZmVyLXNpemVzKSkKLS0gCjIuMjUuMAoK --00000000000062466e059fb6b195--