From unknown Wed Sep 10 06:43:44 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#45596 <45596@debbugs.gnu.org> To: bug#45596 <45596@debbugs.gnu.org> Subject: Status: 12.2.4; Wrong DPI calculation for mixed-DPI multi-monitor setups Reply-To: bug#45596 <45596@debbugs.gnu.org> Date: Wed, 10 Sep 2025 13:43:44 +0000 retitle 45596 12.2.4; Wrong DPI calculation for mixed-DPI multi-monitor set= ups reassign 45596 auctex submitter 45596 Grzegorz Kowzan severity 45596 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 01 09:58:54 2021 Received: (at submit) by debbugs.gnu.org; 1 Jan 2021 14:58:55 +0000 Received: from localhost ([127.0.0.1]:34090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kvLtG-0004GN-0G for submit@debbugs.gnu.org; Fri, 01 Jan 2021 09:58:54 -0500 Received: from lists.gnu.org ([209.51.188.17]:41212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kvKhm-0006Et-72 for submit@debbugs.gnu.org; Fri, 01 Jan 2021 08:42:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37516) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kvKhl-0002mG-Qr for bug-auctex@gnu.org; Fri, 01 Jan 2021 08:42:57 -0500 Received: from sender4-of-o55.zoho.com ([136.143.188.55]:21596) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kvKhh-0002Eh-Is for bug-auctex@gnu.org; Fri, 01 Jan 2021 08:42:56 -0500 ARC-Seal: i=1; a=rsa-sha256; t=1609508568; cv=none; d=zohomail.com; s=zohoarc; b=NyGKnQ+JKp11EfGd7WWghkWw+qGoFs5jYjqkdpnvpQP0NblKBMxvPT69OsoCGw4QAy+doYlftTGYbOhfPZbUYOEu0sACkxvETGnXe1qGa5t0SuV9bZKK3fcDlCPRk75l5xJNyorUS+Z1+iKVzbcaZOblQ/5q+rbmghBNcr4MqkI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1609508568; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=AMQTHVvdNFAv7hpOlGRxjrbnX+Gmbg444lvI4BXTYjg=; b=lN5XljGtCGxWga7aNNXsP+BAPeaGHTpR4i+Q39rgrPb3Gc69ld3sVREoY46bQj/5oD/VMsi77wZntOzO6vmyjB7BHBd8xp6b6nX4Rtdt479lFOmZWUYdAgQusg4QpyJWgZVetX4f50FeqN4v64a27TTINpSMja/Ovz0t73tcqOA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=kowzan.eu; spf=pass smtp.mailfrom=grzegorz@kowzan.eu; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1609508568; s=zoho; d=kowzan.eu; i=grzegorz@kowzan.eu; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; bh=AMQTHVvdNFAv7hpOlGRxjrbnX+Gmbg444lvI4BXTYjg=; b=iqEop9cgDkLn1b/LmsG1xqjLoom4bdIAX4rLu7qRoktnODlUTyTQDCbwH1qRj7kf agit8uxaBSHLPRkHDosEX4QZ9aFeSzHbk1QD9iLO0J/5LbcDIcp9YXqFw9dtMCgIXgF DI11muiJk8R17TRYknK99COiAwDN+Ov9QMNbwWQE= Received: from localhost.localdomain.kowzan.eu (host-81-190-20-211.dynamic.mm.pl [81.190.20.211]) by mx.zohomail.com with SMTPS id 1609508564176838.1189788004607; Fri, 1 Jan 2021 05:42:44 -0800 (PST) User-agent: mu4e 1.4.10; emacs 28.0.50 From: Grzegorz Kowzan To: bug-auctex@gnu.org Subject: 12.2.4; Wrong DPI calculation for mixed-DPI multi-monitor setups Date: Fri, 01 Jan 2021 14:42:36 +0100 Message-ID: <87r1n43h9v.fsf@kowzan.eu> MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External Received-SPF: pass client-ip=136.143.188.55; envelope-from=grzegorz@kowzan.eu; helo=sender4-of-o55.zoho.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Fri, 01 Jan 2021 09:58:52 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) preview-latex calculates DPI in `preview-get-geometry` by calling `display-pixel-width`, `display-mm-width` and analogous height-related functions. According to documentation: For graphical terminals, note that on "multi-monitor" setups this refers to the pixel width for all physical monitors associated with DISPLAY. To get information for each physical monitor, use display-monitor-attributes-list. This results in incorrent DPI values for multi-monitor setups with pure GTK fork of Emacs. Please see this comment (https://github.com/masm11/emacs/issues/90#issuecomment-753307864) on GitHub for specifics. As a suggested fix, I'm attaching below a version of `preview-get-geometry` that returns DPI for the monitor holding the active frame. This way of calculating DPI works correctly for current standard Emacs builds and for the pure GTK version of Emacs. (defun preview-get-dpi () (let* ((monitor-attrs (frame-monitor-attributes)) (mm-dims (cdr (assoc 'mm-size monitor-attrs))) (mm-width (nth 0 mm-dims)) (mm-height (nth 1 mm-dims)) (pixel-dims (cdddr (assoc 'geometry monitor-attrs))) (pixel-width (nth 0 pixel-dims)) (pixel-height (nth 1 pixel-dims))) (cons (/ (* 25.4 pixel-width) mm-width) (/ (* 25.4 pixel-height) mm-height)))) (defun preview-get-geometry () "Transfer display geometry parameters from current display. Returns list of scale, resolution and colors. Calculation is done in current buffer." (condition-case err (let* ((geometry (list (preview-hook-enquiry preview-scale-function) (preview-get-dpi) (preview-get-colors))) (preview-min-spec (* (cdr (nth 1 geometry)) (/ (preview-inherited-face-attribute 'preview-reference-face :height 'default) 720.0)))) (setq preview-icon (preview-make-image 'preview-icon-specs) preview-error-icon (preview-make-image 'preview-error-icon-specs) preview-nonready-icon (preview-make-image 'preview-nonready-icon-specs)) geometry) (error (error "Display geometry unavailable: %s" (error-message-string err))))) Emacs : GNU Emacs 28.0.50 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0) of 2020-12-30 Package: 12.2.4 current state: ============== (setq AUCTeX-version "12.2.4" LaTeX-command-style '(("" "%(PDF)%(latex) %(file-line-error) %(extraopts) %S%(PDFout)")) image-types '(svg png gif tiff jpeg xpm xbm pbm) preview-image-type 'png preview-image-creators '((dvipng (open preview-gs-open preview-dvipng-process-setup) (place preview-gs-place) (close preview-dvipng-close)) (png (open preview-gs-open) (place preview-gs-place) (close preview-gs-close)) (jpeg (open preview-gs-open) (place preview-gs-place) (close preview-gs-close)) (pnm (open preview-gs-open) (place preview-gs-place) (close preview-gs-close)) (tiff (open preview-gs-open) (place preview-gs-place) (close preview-gs-close)) ) preview-dvipng-image-type 'png preview-dvipng-command "dvipng -picky -noghostscript %d -o %m/prev%%03d.png" preview-pdf2dsc-command "pdf2dsc %s.pdf %m/preview.dsc" preview-gs-command "/usr/bin/rungs" preview-gs-options '("-q" "-dDELAYSAFER" "-dNOPAUSE" "-DNOPLATFONTS" "-dPrinted" "-dTextAlphaBits=4" "-dGraphicsAlphaBits=4") preview-gs-image-type-alist '((png png "-sDEVICE=png16m") (dvipng png "-sDEVICE=png16m") (jpeg jpeg "-sDEVICE=jpeg") (pnm pbm "-sDEVICE=pnmraw") (tiff tiff "-sDEVICE=tiff12nc")) preview-fast-conversion t preview-prefer-TeX-bb nil preview-dvips-command "dvips -Pwww -i -E %d -o %m/preview.000" preview-fast-dvips-command "dvips -Pwww %d -o %m/preview.ps" preview-scale-function 'texfrag-scale-from-face preview-LaTeX-command '("%`%l \"\\nonstopmode\\nofiles\\PassOptionsToPackage{" ("," . preview-required-option-list) "}{preview}\\AtBeginDocument{\\ifx\\ifPreview\\undefined" preview-default-preamble "\\fi}\"%' \"\\detokenize{\" %t \"}\"") preview-required-option-list '("active" "tightpage" "auctex" (preview-preserve-counters "counters")) preview-preserve-counters nil preview-default-option-list '("displaymath" "floats" "graphics" "textmath" "sections" "footnotes") preview-default-preamble '("\\RequirePackage[" ("," . preview-default-option-list) "]{preview}[2004/11/05]") preview-LaTeX-command-replacements nil preview-dump-replacements '(preview-LaTeX-command-replacements ("\\`\\([^ ]+\\)\\(?: +\\(?:\\(--?kanji[= ][^ ]+\\)\\|-\\(?:[^ \\\"]\\|\\\\.\\|\"[^\"]*\"\\)*\\)\\)*\\(.*\\)\\'" "\\1 -ini \\2 -interaction=nonstopmode \"&\\1\" " preview-format-name ".ini \\3") ) preview-undump-replacements '(("\\`\\([^ ]+\\)\\(?: +\\(?:\\(--?kanji[= ][^ ]+\\)\\|-\\(?:[^ \\\"]\\|\\\\.\\|\"[^\"]*\"\\)*\\)\\)*.* \"\\\\input\" \"\\\\detokenize{\" \\(.*\\) \"}\"\\'" "\\1 \\2 -interaction=nonstopmode -file-line-error " preview-format-name " \"/AUCTEXINPUT{\" \\3 \"}\"") ) preview-auto-cache-preamble 'ask preview-TeX-style-dir "/home/grz/.emacs.d/.local/straight/build-28.0.50/auctex/latex" ) Output from running `/usr/bin/rungs -h': GPL Ghostscript 9.53.3 (2020-10-01) Copyright (C) 2020 Artifex Software, Inc. All rights reserved. Usage: gs [switches] [file1.ps file2.ps ...] Most frequently used switches: (you can use # in place of =) -dNOPAUSE no pause after page | -q `quiet', fewer messages -gx page size in pixels | -r pixels/inch resolution -sDEVICE= select device | -dBATCH exit after last file -sOutputFile= select output file: - for stdout, |command for pipe, embed %d or %ld for page # Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF Default output device: bbox Available devices: alc1900 alc2000 alc4000 alc4100 alc8500 alc8600 alc9100 ap3250 appledmp atx23 atx24 atx38 bbox bit bitcmyk bitrgb bitrgbtags bj10e bj10v bj10vh bj200 bjc600 bjc800 bjc880j bjccmyk bjccolor bjcgray bjcmono bmp16 bmp16m bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 ccr cdeskjet cdj1600 cdj500 cdj550 cdj670 cdj850 cdj880 cdj890 cdj970 cdjcolor cdjmono cdnj500 cfax chp2200 cif cljet5 cljet5c cljet5pr coslw2p coslwxl cups declj250 deskjet devicen dfaxhigh dfaxlow display dj505j djet500 djet500c dl2100 dnj650c epl2050 epl2050p epl2120 epl2500 epl2750 epl5800 epl5900 epl6100 epl6200 eplcolor eplmono eps2write eps9high eps9mid epson epsonc escp escpage faxg3 faxg32d faxg4 fmlbp fmpr fpng fs600 gdi hl1240 hl1250 hl7x0 hpdj1120c hpdj310 hpdj320 hpdj340 hpdj400 hpdj500 hpdj500c hpdj510 hpdj520 hpdj540 hpdj550c hpdj560c hpdj600 hpdj660c hpdj670c hpdj680c hpdj690c hpdj850c hpdj855c hpdj870c hpdj890c hpdjplus hpdjportable ibmpro ijs imagen inferno ink_cov inkcov itk24i itk38 iwhi iwlo iwlq jetp3852 jj100 jpeg jpegcmyk jpeggray la50 la70 la75 la75plus laserjet lbp310 lbp320 lbp8 lex2050 lex3200 lex5700 lex7000 lips2p lips3 lips4 lips4v lj250 lj3100sw lj4dith lj4dithp lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d ljet4pjl ljetplus ln03 lp1800 lp1900 lp2000 lp2200 lp2400 lp2500 lp2563 lp3000c lp7500 lp7700 lp7900 lp8000 lp8000c lp8100 lp8200c lp8300c lp8300f lp8400f lp8500c lp8600 lp8600f lp8700 lp8800c lp8900 lp9000b lp9000c lp9100 lp9200b lp9200c lp9300 lp9400 lp9500c lp9600 lp9600s lp9800c lps4500 lps6500 lq850 lxm3200 lxm5700m m8510 md1xMono md2k md50Eco md50Mono md5k mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8 mgrmono miff24 mj500c mj6000c mj700v2c mj8000c ml600 necp6 npdl nullpage oce9050 oki182 oki4w okiibm paintjet pam pamcmyk32 pamcmyk4 pbm pbmraw pcl3 pclm pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono pdfimage24 pdfimage32 pdfimage8 pdfwrite pdfwrite pdfwrite pgm pgmraw pgnm pgnmraw photoex picty180 pj pjetxl pjxl pjxl300 pkm pkmraw pksm pksmraw plan plan9bm planc plang plank planm plib plibc plibg plibk plibm png16 png16m png256 png48 pngalpha pnggray pngmono pngmonod pnm pnmraw ppm ppmraw pr1000 pr1000_4 pr150 pr201 ps2write psdcmyk psdcmyk16 psdcmykog psdrgb psdrgb16 pwgraster pxlcolor pxlmono r4081 rinkj rpdl samsunggdi sj48 spotcmyk st800 stcolor t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc tiff32nc tiff48nc tiff64nc tiffcrle tiffg3 tiffg32d tiffg4 tiffgray tifflzw tiffpack tiffscaled tiffscaled24 tiffscaled32 tiffscaled4 tiffscaled8 tiffsep tiffsep1 txtwrite uniprint xcf xes xpswrite Search path: /usr/share/ghostscript/Resource/Init : /usr/share/ghostscript/lib : /usr/share/ghostscript/Resource/Font : /usr/share/ghostscript/fonts : /usr/share/fonts/urw-base35 : /usr/share/fonts/google-droid-sans-fonts Ghostscript is also using fontconfig to search for font files For more information, see /usr/share/doc/ghostscript/Use.htm. Please report bugs to bugs.ghostscript.com. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 03 05:17:53 2021 Received: (at submit) by debbugs.gnu.org; 3 Jan 2021 10:17:53 +0000 Received: from localhost ([127.0.0.1]:33325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kw0SP-0007Co-5m for submit@debbugs.gnu.org; Sun, 03 Jan 2021 05:17:53 -0500 Received: from lists.gnu.org ([209.51.188.17]:59948) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kw0SM-0007Ce-Ds for submit@debbugs.gnu.org; Sun, 03 Jan 2021 05:17:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kw0SM-0004cr-8l for bug-auctex@gnu.org; Sun, 03 Jan 2021 05:17:50 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40516) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kw0SL-0005Dw-Kd; Sun, 03 Jan 2021 05:17:49 -0500 Received: from auth2-smtp.messagingengine.com ([66.111.4.228]:39519) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.82) (envelope-from ) id 1kw0SE-0006nw-T0; Sun, 03 Jan 2021 05:17:43 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailauth.nyi.internal (Postfix) with ESMTP id 6501927C0054; Sun, 3 Jan 2021 05:17:42 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sun, 03 Jan 2021 05:17:42 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdefuddgudegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfhgfhffvufffjgfkgggtsehttdertddtredtnecuhfhrohhmpefvrghsshhi lhhoucfjohhrnhcuoehtshguhhesghhnuhdrohhrgheqnecuggftrfgrthhtvghrnhepvd fhudevuedvtdevieeffeehvdffueegheejtdffhfeiveelvdfgheeujefgheffnecuffho mhgrihhnpehgihhthhhusgdrtghomhenucfkphepkeegrddufedvrddutdekrdduudefne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhr nhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqkeeijeefkeejkeegqdeife ehvdelkedqthhsughhpeepghhnuhdrohhrghesfhgrshhtmhgrihhlrdhfmh X-ME-Proxy: Received: from thinkpad-t440p (p54846c71.dip0.t-ipconnect.de [84.132.108.113]) by mail.messagingengine.com (Postfix) with ESMTPA id 6453C24005A; Sun, 3 Jan 2021 05:17:41 -0500 (EST) References: <87r1n43h9v.fsf@kowzan.eu> User-agent: mu4e 1.5.7; emacs 28.0.50 From: Tassilo Horn To: Grzegorz Kowzan Subject: Re: bug#45596: 12.2.4; Wrong DPI calculation for mixed-DPI multi-monitor setups Date: Sun, 03 Jan 2021 10:55:03 +0100 In-reply-to: <87r1n43h9v.fsf@kowzan.eu> Message-ID: <87k0su5np8.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: 45596@debbugs.gnu.org, bug-auctex@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Grzegorz Kowzan writes: Hi Grzegorz, thanks a lot for your contribution! > preview-latex calculates DPI in `preview-get-geometry` by calling > `display-pixel-width`, `display-mm-width` and analogous height-related > functions. According to documentation: > > For graphical terminals, note that on "multi-monitor" setups this > refers to the pixel width for all physical monitors associated > with DISPLAY. To get information for each physical monitor, use > display-monitor-attributes-list. > > This results in incorrent DPI values for multi-monitor setups with > pure GTK fork of Emacs. Please see this comment > (https://github.com/masm11/emacs/issues/90#issuecomment-753307864) on > GitHub for specifics. As a suggested fix, I'm attaching below a > version of `preview-get-geometry` that returns DPI for the monitor > holding the active frame. This way of calculating DPI works correctly > for current standard Emacs builds and for the pure GTK version of > Emacs. I get very different values with the old and new calculation on my current single laptop screen setup ((131.09677419354838 . 134.47058823529412) ;; New (96.07565011820331 . 96.05042016806723)) ;; Old so that by using your version, the previews are much larger than they used to be, i.e., their font size appears to be much larger than my normal editing font. This is with a current Emacs 28 (master branch, i.e., no pgtk) on a Wayland display. Could you please look into where this huge difference comes from? Here is what `frame-monitor-attributes' and `display-mm-width' / `display-mm-height' return here: --8<---------------cut here---------------start------------->8--- (frame-monitor-attributes) ;=> ((name . "XWAYLAND0") (geometry 0 0 1600 900) (workarea 0 0 1600 900) (mm-size 310 170) (frames # # #) (source . "Gdk")) (display-mm-width) ;=> 423 (display-mm-height) ;=> 238 --8<---------------cut here---------------end--------------->8--- I guess the problem is that mm-size in the `frame-monitor-attributes' return value differs from `display-mm-height' and `display-mm-width'. Another problem is that > (defun preview-get-dpi () > (let* ((monitor-attrs (frame-monitor-attributes)) ^^^^^^^^^^^^^^^^^^^^^^^^ is available only since Emacs 24.4 and we just bumped support from 24.1 to 24.3. So this would need to be fboundp-checked falling back to the calculation we have right now with a comment mentioning that this is for Emacs 24.3 compatibility and can be removed as soon as we bump compatibility to Emacs 24.4 or newer. Bye, Tassilo From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 04 12:30:49 2021 Received: (at submit) by debbugs.gnu.org; 4 Jan 2021 17:30:49 +0000 Received: from localhost ([127.0.0.1]:60140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kwTgv-00049B-0G for submit@debbugs.gnu.org; Mon, 04 Jan 2021 12:30:49 -0500 Received: from lists.gnu.org ([209.51.188.17]:36440) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kwTfn-00045X-L8 for submit@debbugs.gnu.org; Mon, 04 Jan 2021 12:29:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33536) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kwTfn-0001KD-Db for bug-auctex@gnu.org; Mon, 04 Jan 2021 12:29:39 -0500 Received: from sender4-of-o57.zoho.com ([136.143.188.57]:21776) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kwTfk-000509-Nt; Mon, 04 Jan 2021 12:29:39 -0500 ARC-Seal: i=1; a=rsa-sha256; t=1609781371; cv=none; d=zohomail.com; s=zohoarc; b=LHFdKVPCuyTsq1yYbzNqXDQGMMozl9HZKnrQa4+UCb5uV4b+yv+zc44foaqK1XuilGz+fBMuE9HWhHVxe0svcGszQwV+PJr9t8x+urr2daLN5i919gySni0ZuD9rVHXuFPwkw58pEVzjZaYfvXy4NhXCYpFEr/uVvAxWS3ge64k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1609781371; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=6XKeLHbxdOp6HwrLdhjYhG5QxXIK64wzXu+QX2PYLvY=; b=lvCdc1BdKAB4xlsjWh/LrPGagxhHv8qGXOjo/xDU8zgfhfgNxB3WY3KvBx6rzQIOyOjvarleD8sWezVcgleAjnIw5+1VXNkvRk82XSPYjhZqu5jaWyixnKFAUjSVC8FLtcJaivNQmBhU7yKTWlmglp6+THQSOCdb1nQeJGcEJ/g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=kowzan.eu; spf=pass smtp.mailfrom=grzegorz@kowzan.eu; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1609781371; s=zoho; d=kowzan.eu; i=grzegorz@kowzan.eu; h=References:From:To:Cc:Subject:In-reply-to:Date:Message-ID:MIME-Version:Content-Type; bh=6XKeLHbxdOp6HwrLdhjYhG5QxXIK64wzXu+QX2PYLvY=; b=H9didq2mz2RhViKdYYRlkEgwtELhF5cFXOAWf5tXJu8pWlRK+Py/xjyY6D0vluhS uOtuEW8iTXdJkpArLTZEJW2UhlDPKtV373iCuRqnQlaKqhRmSxICBFs9yVnxfna4aH/ 0A58PlSYz0PwX82en3JN5rw/WQ4eF1+BT2uNvV/4= Received: from localhost.localdomain.kowzan.eu (host-89-229-5-116.dynamic.mm.pl [89.229.5.116]) by mx.zohomail.com with SMTPS id 160978136971275.64083912506987; Mon, 4 Jan 2021 09:29:29 -0800 (PST) References: <87r1n43h9v.fsf@kowzan.eu> <87k0su5np8.fsf@gnu.org> User-agent: mu4e 1.4.10; emacs 28.0.50 From: Grzegorz Kowzan To: Tassilo Horn Subject: Re: bug#45596: 12.2.4; Wrong DPI calculation for mixed-DPI multi-monitor setups In-reply-to: <87k0su5np8.fsf@gnu.org> Date: Mon, 04 Jan 2021 18:29:25 +0100 Message-ID: <87sg7gfw5m.fsf@kowzan.eu> MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External Received-SPF: pass client-ip=136.143.188.57; envelope-from=grzegorz@kowzan.eu; helo=sender4-of-o57.zoho.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 04 Jan 2021 12:30:48 -0500 Cc: 45596@debbugs.gnu.org, bug-auctex@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi, Tassilo, On nie 03 sty 2021 at 10:55, Tassilo Horn wrote: > I get very different values with the old and new calculation on my > current single laptop screen setup > > ((131.09677419354838 . 134.47058823529412) ;; New > (96.07565011820331 . 96.05042016806723)) ;; Old > > so that by using your version, the previews are much larger than they > used to be, i.e., their font size appears to be much larger than my > normal editing font. This is with a current Emacs 28 (master branch, > i.e., no pgtk) on a Wayland display. > > Could you please look into where this huge difference comes from? Here > is what `frame-monitor-attributes' and `display-mm-width' / > `display-mm-height' return here: > > --8<---------------cut here---------------start------------->8--- > (frame-monitor-attributes) > ;=> ((name . "XWAYLAND0") > (geometry 0 0 1600 900) > (workarea 0 0 1600 900) > (mm-size 310 170) > (frames # # #) > (source . "Gdk")) > > (display-mm-width) > ;=> 423 > > (display-mm-height) > ;=> 238 > --8<---------------cut here---------------end--------------->8--- > > I guess the problem is that mm-size in the `frame-monitor-attributes' > return value differs from `display-mm-height' and `display-mm-width'. 1) Yes, `display-pixel/mm-width/height` functions are defined in terms of Xlib calls, whereas `frame-monitor-attributes` calls Gdk functions (if Emacs was compiled with Gtk support) and only as a fallback it calls Xlib. This is why we have this inconsistency. The standard DPI for Xorg server is 96 regardless of the actual value, so for a given resolution and assumed DPI Xorg gives fake mm width and height. Essentially, the current calculation of DPI in auctex looks pointless to me... With pure Gtk port we get actual physical pixel width/height and actual mm width/height, so I guess when auctex detects pgtk port, it can either ignore these values and hardcode DPI of 96 or make use of the actual DPI. I suppose there is something to be said for not changing auctex's behaviour and hardcoding the value, but I would prefer to use the actual DPI at least as an option (see below). 2) I don't know how it is for you and other auctex users or developers, but for me auctex previews are too small and barely legible out of the box unless I manually set a scaling factor. (And then change it manually if I switch between different monitors...) Using standard auctex settings, preview-scale-function set to preview-scale-from-face, I get something like this for my 4k external monitor (https://ibb.co/7kJ39sb) and something like this for my laptop (https://ibb.co/VSfrcg4). With the definition above, I get more sensibly scaled previews without adjusting the scaling factor by hand, see (https://ibb.co/B4PHWvV) and (https://ibb.co/KjKX3Jk). These screenshots are all from current Emacs master X11/Gtk. Best, Grzegorz From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 04 15:36:26 2021 Received: (at submit) by debbugs.gnu.org; 4 Jan 2021 20:36:26 +0000 Received: from localhost ([127.0.0.1]:60401 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kwWaY-0004cj-3v for submit@debbugs.gnu.org; Mon, 04 Jan 2021 15:36:26 -0500 Received: from lists.gnu.org ([209.51.188.17]:59550) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kwWaW-0004cb-1h for submit@debbugs.gnu.org; Mon, 04 Jan 2021 15:36:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kwWaV-00024P-Rc for bug-auctex@gnu.org; Mon, 04 Jan 2021 15:36:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44327) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kwWaU-0001Vz-7L; Mon, 04 Jan 2021 15:36:22 -0500 Received: from auth1-smtp.messagingengine.com ([66.111.4.227]:43579) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.82) (envelope-from ) id 1kwWaP-0007d4-BG; Mon, 04 Jan 2021 15:36:19 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailauth.nyi.internal (Postfix) with ESMTP id D5DFB27C0054; Mon, 4 Jan 2021 15:36:16 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Mon, 04 Jan 2021 15:36:16 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdeffedgudegudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpehffgfhvffuffgjkfggtgesthdtredttdertdenucfhrhhomhepvfgrshhs ihhlohcujfhorhhnuceothhsughhsehgnhhurdhorhhgqeenucggtffrrghtthgvrhhnpe evveeikeetkeeviefgfeffiedvteeguddvffeuueduveegtddthedvhfeuveffhfenucfk phepkeegrddufedvrddutdekrdduudefnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepthhhohhrnhdomhgvshhmthhprghuthhhphgvrhhsohhn rghlihhthidqkeeijeefkeejkeegqdeifeehvdelkedqthhsughhpeepghhnuhdrohhrgh esfhgrshhtmhgrihhlrdhfmh X-ME-Proxy: Received: from thinkpad-t440p (p54846c71.dip0.t-ipconnect.de [84.132.108.113]) by mail.messagingengine.com (Postfix) with ESMTPA id C6783108005B; Mon, 4 Jan 2021 15:36:15 -0500 (EST) References: <87r1n43h9v.fsf@kowzan.eu> <87k0su5np8.fsf@gnu.org> <87sg7gfw5m.fsf@kowzan.eu> User-agent: mu4e 1.5.7; emacs 28.0.50 From: Tassilo Horn To: Grzegorz Kowzan Subject: Re: bug#45596: 12.2.4; Wrong DPI calculation for mixed-DPI multi-monitor setups Date: Mon, 04 Jan 2021 21:27:11 +0100 In-reply-to: <87sg7gfw5m.fsf@kowzan.eu> Message-ID: <871rf0o2wy.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: 45596-done@debbugs.gnu.org, bug-auctex@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Grzegorz Kowzan writes: Hi Grzegorz, >> I guess the problem is that mm-size in the `frame-monitor-attributes' >> return value differs from `display-mm-height' and `display-mm-width'. > > 1) Yes, `display-pixel/mm-width/height` functions are defined in terms > of Xlib calls, whereas `frame-monitor-attributes` calls Gdk functions > (if Emacs was compiled with Gtk support) and only as a fallback it > calls Xlib. This is why we have this inconsistency. The standard DPI > for Xorg server is 96 regardless of the actual value, so for a given > resolution and assumed DPI Xorg gives fake mm width and > height. Essentially, the current calculation of DPI in auctex looks > pointless to me... Ok, I see. > With pure Gtk port we get actual physical pixel width/height and > actual mm width/height, so I guess when auctex detects pgtk port, it > can either ignore these values and hardcode DPI of 96 or make use of > the actual DPI. I suppose there is something to be said for not > changing auctex's behaviour and hardcoding the value, but I would > prefer to use the actual DPI at least as an option (see below). That's what I did. Essentially I've applied your patch with an additional fboundp check for `frame-monitor-attributes'. If it's available (24.4), then your variant is used, if not, the previous variant basically always saying 96 DPI is used. So let's see if we get any complaints with the next ELPA release. I'll close this report now. Thanks again for the contribution! Bye, Tassilo From unknown Wed Sep 10 06:43:44 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 02 Feb 2021 12:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator