From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#63395: HiDPI/GTK: menubar height scaled twice in xg_update_frame_menubar() Date: Wed, 6 Sep 2023 04:05:05 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32919"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Po Lu , 63395@debbugs.gnu.org To: Tobias Bading Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Sep 06 13:06:16 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1qdqMR-0008Fv-27 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 06 Sep 2023 13:06:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qdqME-0004OP-FU; Wed, 06 Sep 2023 07:06:02 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qdqMD-0004O2-Jc for bug-gnu-emacs@gnu.org; Wed, 06 Sep 2023 07:06:01 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qdqMD-000351-Ap for bug-gnu-emacs@gnu.org; Wed, 06 Sep 2023 07:06:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qdqME-0003go-AA for bug-gnu-emacs@gnu.org; Wed, 06 Sep 2023 07:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Sep 2023 11:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63395 X-GNU-PR-Package: emacs Original-Received: via spool by 63395-submit@debbugs.gnu.org id=B63395.169399831714119 (code B ref 63395); Wed, 06 Sep 2023 11:06:02 +0000 Original-Received: (at 63395) by debbugs.gnu.org; 6 Sep 2023 11:05:17 +0000 Original-Received: from localhost ([127.0.0.1]:33090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qdqLV-0003fe-0i for submit@debbugs.gnu.org; Wed, 06 Sep 2023 07:05:17 -0400 Original-Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]:60617) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qdqLR-0003fN-Hz for 63395@debbugs.gnu.org; Wed, 06 Sep 2023 07:05:16 -0400 Original-Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-500a398cda5so6042823e87.0 for <63395@debbugs.gnu.org>; Wed, 06 Sep 2023 04:05:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693998306; x=1694603106; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=G0jPBGfnba5yp0IFiFV6vPBGKdvv77GR/Qk9LA7DDDI=; b=E71xVuXy+/eswcLpji8y1E1aRMKWLcind3odsHpD9prTMlZlshr2r3za7AP9Ezo7zQ XPoLt9e4kO0TKAocvGG36QxWG0bXezgNIhXvIU9feaT1ful7aozioZiwF82rZskTeOS2 MhzCzbfx/VDvSJteSd6UZj+90Fk8muQWpn5lUlCGZvmASiyUmsCKowuLcO0GMAhteKZd sQBE1CkPbNRjK/MdeuAvcUL6FLMDdWTj6vmAGrtBzTY8qZJkEszWpwOgHN0qZy7vBTcK mRYQP6z4N3OEqo67rOGC8ndek6azBzLYCyoaIQYqEFae+WCwlLfmRHXyltejo5NPkB4q uztw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693998306; x=1694603106; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=G0jPBGfnba5yp0IFiFV6vPBGKdvv77GR/Qk9LA7DDDI=; b=VYb3Y54z0WeydbrBtzZkNP11kFXbwozzOwrT+VRAPl0IdyUKBHDbU9Ibnep3Bt+Ljh k9/HhvdH99G0mUd7I9TC5ieWw0P7TK5YL1VLUToYMnHT+h1/tO6fWCV8tVERAmLGDZzf IGUVxGL4JuoFFji/rWKAbXe4CYXI+K7QTb5aLqgkG7fB94kK6pYkb3ztli7LdU+ZtTbG gVFiLygpjIr2HCK3veBR/XQZ0Ns3MkXTAzLJGbJ3ADp+QZ1ktaR73r3k7o4ASJb/Gajc rsi4LI1Nr0LTMce90M+5KwjezUYZ/fSMNkPQZbEsK1pMrLUmrW/PcZJF9ksRkcINFbr5 Eftw== X-Gm-Message-State: AOJu0YzLe6Oo4Pr6l125qYZYju4LtybJ8kXfbNVknX7h+QlDzchl1scP rnrDVU7f7mdn1vE45dA7Dvs7nS8wEFpMZAFURVE= X-Google-Smtp-Source: AGHT+IEY91y/AoSqF7YRWt9qzD/add6Bicp3kcBzAeodbSeYOabddDVggxuEWPYNiwI6Z3+FJlIeVYe3Ev9co14LS14= X-Received: by 2002:ac2:5a10:0:b0:500:cb2b:8678 with SMTP id q16-20020ac25a10000000b00500cb2b8678mr1955317lfn.40.1693998306166; Wed, 06 Sep 2023 04:05:06 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 6 Sep 2023 04:05:05 -0700 In-Reply-To: (Tobias Bading's message of "Tue, 9 May 2023 20:22:53 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:269506 Archived-At: Po Lu, could you please take a look at the below bug report? Tobias Bading writes: > It looks like > > --- %< --- > > commit 401ccb0b9c697fd3af026a72b6621a692e206aea > Author:=C2=A0=C2=A0=C2=A0=C2=A0 Po Lu > AuthorDate: Wed Jan 26 13:53:20 2022 +0800 > Commit:=C2=A0=C2=A0=C2=A0=C2=A0 Po Lu > CommitDate: Wed Jan 26 13:53:20 2022 +0800 > > =C2=A0=C2=A0=C2=A0 Fix GTK menu bar height reporting when scaled > > =C2=A0=C2=A0=C2=A0 * src/gtkutil.c (xg_update_frame_menubar): Multiply re= quisition > =C2=A0=C2=A0=C2=A0 height by GDK scale. > > M=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 src/gtkutil.c > > --- >% --- > > tried to correct a problem that was already fixed by > > --- %< --- > > commit a05bafffdcb88df74408a8402cafc9829407c1e5 > Author:=C2=A0=C2=A0=C2=A0=C2=A0 Tobias Bading > AuthorDate: Wed Nov 27 16:51:26 2019 +0100 > Commit:=C2=A0=C2=A0=C2=A0=C2=A0 Robert Pluim > CommitDate: Tue Dec 3 08:54:31 2019 +0100 > > =C2=A0=C2=A0=C2=A0 Fix incorrect GTK menus on HiDPI monitors with scaling= factor > 1 > > =C2=A0=C2=A0=C2=A0 This should fix Bug#31223, Bug#28106, Bug#23672 as wel= l as Ubuntu bug > =C2=A0=C2=A0=C2=A0 https://bugs.launchpad.net/ubuntu/+source/emacs25/+bug= /1695228 > > =C2=A0=C2=A0=C2=A0 Also fixes the formerly unscaled Y value returned by > =C2=A0=C2=A0=C2=A0 frame-monitor-workarea (and display-monitor-attributes= -list). > > =C2=A0=C2=A0=C2=A0 For details on why some GTK menus were empty please se= e thread > =C2=A0=C2=A0=C2=A0 https://lists.gnu.org/archive/html/emacs-devel/2019-11= /msg01061.html > > =C2=A0=C2=A0=C2=A0 * src/gtkutil.c (menubar_map_cb, xg_update_frame_menub= ar): Scale up > =C2=A0=C2=A0=C2=A0 req.height so that the menu bar's height is in device = pixels as > =C2=A0=C2=A0=C2=A0 expected. > =C2=A0=C2=A0=C2=A0 (xg_event_is_for_menubar): Scale down rec.x and rec.y = so that > =C2=A0=C2=A0=C2=A0 gtk_widget_intersect() works as intended. > =C2=A0=C2=A0=C2=A0 * src/xfns.c (Fx_display_monitor_attributes_list): Sca= le work.x and > =C2=A0=C2=A0=C2=A0 work.y up to be in device pixels. > > =C2=A0=C2=A0=C2=A0 Copyright-paperwork-exempt: yes > > M=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 src/gtkutil.c > M=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 src/xfns.c > > --- >% --- > > In emacs-29 as well as master req.height in xg_update_frame_menubar() is = now > multiplied with xg_get_scale(f) twice. As a result my window manager (Com= piz > from Ubuntu 20.04.6 LTS) assumes that the Emacs frame wouldn=E2=80=99t fi= t into the > monitor=E2=80=99s workarea and ignores my requested position. > > Reverting 401ccb0b9c697fd3af026a72b6621a692e206aea fixes this for me.