delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2024/08/25/10:56:23

DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 47PEuNbm990377
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=X8raW6Fg
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83C563861810
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1724597781;
bh=t9qXXOKqpVkhW+zm8gu/A73SFI/YfAwVFYdFklmWXM8=;
h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:From;
b=X8raW6FgP1y3fnA8+z/z4h8bQPp1No8HIfzXmhXjQsE4Z/E5Px90EIzyxldMwCP4G
byCGkecm9NhkS4gZr0ZF7iboaoIMC2YCoqxFN0GqbZkhyHB5/ZRUQ2rcS1of5XK5vy
II6R9PeIvaH6BSR5FOu18Sx3XE+jPcEvIj0tNnHM=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 32866386076A
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 32866386076A
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1724597717; cv=pass;
b=UTKvV8eK2aFId4rfrGl/tRIPxUHt+Sxya1mu5/l5zKsURxb6+oDchVnqDCZMsZ34vxlNFmWSgaFJbk+l+LkClCJw5D1DHXo9zcltk59uQ/ih9AFwpAm2MmXv+k/Sec1vF507rGQEafqkT9q0dJcohzyaBAZKJUWzTlBeqOcTLls=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
t=1724597717; c=relaxed/simple;
bh=4bKbmlDrobk4m1erXHkEoLmltvMLrCaWLEin/a7RCvM=;
h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;
b=Pt/trfMoYnx3cuhx6jdeCn+0P8jZiHjCgQR5p6GrfASO6mMQzrz9GTH6JAuLM7kDtNV12mB66HcJNskKh8qQ7bP27CP0x3hbhtkCEYSUGSfywwk8BK9dEGKA4+5u5NIj67lCgeiXFwYrFsLUlUfi8YtpR+4tatjewzC6clkW4/o=
ARC-Authentication-Results: i=2; server2.sourceware.org
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=tKg0277fPoaCXez/roZGqR/Sjx4Yyotk09YzsVgTPgdQciiXdgsxtFt3uE2nXoxGXOjLUuaFRHRoNcByUjhpO0y2nHPeAgH9mpp0TdYixQiJHhqJ4VYq1XdxAwirh/W98+xDv3sgRkONWHshmr64LhKKgp66+fZ9gmjtuKRmsfcsieFHl7YG1ndMu4+MMHow6skAjAG0gUhrGYTHdIyPcxeA/epg0NyvznPoZvjE36rIA7HVKaSLqzhfgXHUKMEvxCtnZPMvoz6dEWZhNF1pzQOU3EZtHO8mwuVui74Cuqse7zdI9dyHqDzP/2I++Q4/R0774ddxk1sO91Jj+P5gvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=4bKbmlDrobk4m1erXHkEoLmltvMLrCaWLEin/a7RCvM=;
b=KB3p0iGFb0k4PZdeNZw9tVr5m6FNZhrEYMcOU5bQ40gzYwObsUEQD6jln6cD7pTsR3WCjze8XOdG+1SSaocMkMRKKti87DtCI/VVQ1MY+Cz9nGxpB/ZUGhu+1KW+lvhw2b/XxcM+oZwmdveFqcaH3kmsQBoof8Y/xsB6RP+xdvk2QfGerHE3Y7pJh1rG0jf0fstwuevq7jfp2Z10hfSAGieC5oBb5jfzrN93OlqafNB0MU2XwhIgz/avDizA/AVDheByh4ZrjHy6Sk6ILQS6ggXjD4Rsbp715pTDh+wDwis6rTPWTM/VdQo6nrqxaAh746z4tVC2mWu3NuVTVh3g/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Subject: Improvements on handling DPI changed situations.
Thread-Topic: Improvements on handling DPI changed situations.
Thread-Index: AQHa9v3NgWuWzYp2AUe1czMD8mal7A==
Date: Sun, 25 Aug 2024 14:55:09 +0000
Message-ID: <SN6PR08MB39843786CB0A66E877864648E08A2@SN6PR08MB3984.namprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [CSlrxadqea6qVQ7ou9FYjBMPi7/g+dwc4UExRD7lEor8yEURovq9paZ5K1RA79ea]
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR08MB3984:EE_|CH3PR08MB10289:EE_
x-ms-office365-filtering-correlation-id: 5ab5dc71-659d-4b85-3bbc-08dcc515ea34
x-microsoft-antispam: BCL:0;
ARA:14566002|15080799006|15030799003|19110799003|8060799006|461199028|440099028|3412199025|102099032|3420499032|3430499032;
x-microsoft-antispam-message-info: 4W75ULl3WScGQjJUXq209vlL3bWOSuLcnS9RTPRScy9xDjbrl1e5d5EzBIpkPOjDasXsNHGNiRC1p+kCD3yxhfL+Wq8M/bKDfraPbyLKSuqV4yooimbFhB1BJZB1pUaLYg69A/R+a5ng0uNgjY9Ns31x+WUIAkvRlvmTzgkJKb9TYHPd8dq48BwQpXLJgDVC5PvTlp+kMOZwdeKhAgtBnkG3dDekwz5mJsdzyvWWcp0f2cJH00bsrdfBiVjbWgcC5kVJyEztMR+N3cWMPHTvHKQGY4dpcfqH2HuADZmK2BjCLk5VyAe/Pz8Eiqaypgxt1sayPbXo+K0Htj0mSNc3EigWwwb/4ND9zfYk3n+Nkhd7+TSd+olZ7GIjnsrVAn6HZlyqFC8MKvz38YptkQA/16QBAet1WypZ/saUKNf16xuctgNYaMNpK4nEbXlkNM7Pcx8a49JRp2WCNhU1ttgYOvjVzLjOUfu+QUEuYO2c9n+FvSHl7+r2y5/oHkQwzaihG7+al5uFM/pHxGmdcPFJ4IcL7Exu6Yg+jSXUot1uzD2UrFrzcbDYfu9i/rQsExtd84v6cPriezYnm97brgupRX8KgQ6zOBLYHGKY7ulnaL9G6Ar/JpeL7IWvMHeaTieR7TO0gTx+MVKDiLr0X3fYalgBtm9nu+yCvWqU7fylcvAx0MvxFqRVRu1U1IKDDjfL0winrixqki5FUbDwdKQU2Q==
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?gb2312?B?RHRMTWJmQzZKbldhQStkMjVCS3cxdEdVenlBMHh1N1hGbWltdlB1UHNOTXNx?=
=?gb2312?B?SUVxU1JMZWtFTUFKZHFwVVF4R1A2WjdpZE5nVnVsTkdzUFpTYzdGRTRrLzl1?=
=?gb2312?B?MjEzcDJqSjRxYXVCclRldjFlZTlva1QzYk84SmdkVDRsWnRkcHpzZVMyVkRL?=
=?gb2312?B?dmVhZ3UxaGpwbERMR1dSajN0THp2T1hscUZpcnc2RzdibG9LOFc2eVFXSndp?=
=?gb2312?B?ZDJZbzVXM1JVMXNZTzRCZDBJQ29wazk2ZC9zMmNManNRdUt5Ym5HcnRpL2Q0?=
=?gb2312?B?azg3bUtGVVh4aVpIVjhjMGVKUy9pMVBzRVMwM1dSM2FFUjNrNEdiVmRHUUNq?=
=?gb2312?B?V1p1Q3VSQ0RLSVBPbm45NUV2aWlJWHQ4aVBlRldaSFhGai93dDlkZ1EwdVFj?=
=?gb2312?B?d0hSL1RiSmhDRm9idzJ4RzJWQnNlQ1A3NTZKcmJ5NGV5ajNhOC82ZUFtUXV4?=
=?gb2312?B?M0d0ZWQ4dzQ5TzR3TGZBaXQ1TFZzcWJCdjVieDFueHFHV0p3OFlHakVZQ1Ba?=
=?gb2312?B?OW5iVDVDREIzNXNlMS9seUhnSDlYdTVVU2p2TzVOdVlxYytSR211U0xNTUUx?=
=?gb2312?B?ZGk5M3hlSjQzS3MyTHNCN3ErSmxFMDhuVkVzSXg3WjcyMnpSelh5US9oTmhh?=
=?gb2312?B?MlI0dWZJMVFsVkphYWpzektLcTJEaCtnZkZwVGZ5NCtHVnlsVEk2QTlldkpP?=
=?gb2312?B?UkcxalRQTTBwSXdxdjBxMGJiKzRUUkJJdVhqTlpWNTVKMEp1N2FGRzR6andh?=
=?gb2312?B?VHcrZkdSUG16YjkrUm1VUFJSNGtLaHFvOGJPUEd2eXFxY01WQ3pLdW8zNE1i?=
=?gb2312?B?RyttclRkZVhBMHpTemc1c1NNdnZjVWlIMTJrSVgvdjJ5VG9DWjZ2SjZZTXRT?=
=?gb2312?B?bkl4Z1ZyeWF5MVM3SlB5L0VIU09XTHpuQXNsWWpXTEhzRmxaVzI4NXdaSUw4?=
=?gb2312?B?ak9BTjhGV1hzVUQzU1k2WE5Wa0xyUkkvc2ZyYUpGYXIwdXJISFNnSnk4M0NG?=
=?gb2312?B?NDlmZWJyOW1oVlI5UmJ0ZkMxRFlOZGxVMlNzdlZNZ0RKS0NwS0tvb1AxTkZN?=
=?gb2312?B?NkRmbnJ2dHowKytEc3NIb0trWEtaMktFTDBZNDJUQWZRNXNHbzdRWGNkU0ZY?=
=?gb2312?B?emlVWE5KYmc5ZXB1dEJMVlA4R2oxRjFEUlYxYVlPRzkxaWIzSnJWOVNoeVJL?=
=?gb2312?B?b2V5SGFNZEhWRjBXT21NTFUyTUVkOHpKSEVtTWxSTFF2MnBjbWRvTlFWcTdG?=
=?gb2312?B?MTFoUUo0ZEFQQllRdVlnZW8vbWNpZ3JEc0hkV1RvMUhPRGJJYTRPV0pzc3p0?=
=?gb2312?B?Y3BOdDhpSGtOaFJrNWJmY1pVaHdheC8wQ0x2TzFrUWViVWlUR3l6Y1l0MGJs?=
=?gb2312?B?T0lrL3B5OFNCb1BzQVhRQS9LakpGV1ZtbUhWNVFVUEN5MjVjaEVTRUE3ODNO?=
=?gb2312?B?dnVXYnNMQ0NaRXhwOE8vNVlLSkpGb1FXanRLY1JZR0dTVnRRcENvY2pEMVNp?=
=?gb2312?B?MWpWZjRGSm1oNTArcXczOWh1QUo3R0U2SGVXb1NRcmluVDArTldHRHN1VWxI?=
=?gb2312?B?V1Z4UE83TGREYm1MYjR5ZllUT1VEdEFUWFZaY0tFdXhkMVlkVVRZNXRJRXE0?=
=?gb2312?B?bDBHcVFaVUs3bkREZ0pIbUJ6MklTU2dxWU9BMFhra1BWRk9FRHVKR0t0MGEv?=
=?gb2312?B?ZWJDM21HKzFoTElKdzZNTnR6NVhGSU16cysycU5ubjZxd0JLWExTWnM5VnJk?=
=?gb2312?Q?3Tju8rc1PznvEsDNzLKGj9G1D21gGkzv/Fgvw4T?=
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR08MB3984.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ab5dc71-659d-4b85-3bbc-08dcc515ea34
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Aug 2024 14:55:09.3687 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR08MB10289
X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0,
HTML_MESSAGE, SPF_HELO_PASS, SPF_PASS, TXREP,
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-Content-Filtered-By: Mailman/MimeDel 2.1.30
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Xun Li via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Xun Li <lixunown AT outlook DOT com>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

After commit 64f8b310 enables the setup to handle DPI changed situation (e.g. Change the zoom of current display or move the window to another display with different zoom level), here is the extra code to better handling it. It is required to make the window size not too big or too small after DPI changed.

From c8f8291b90fb538e10bc6b2fa2ddb801da5823fd Mon Sep 17 00:00:00 2001
From: Li Xun <lixunown AT outlook DOT com>
Date: Sun, 25 Aug 2024 22:44:54 +0800
Subject: [PATCH] Handle WM_DPICHANGED

Since Per Moniter V2 DPI Awareness is declared in manifest,
we need to handle it to make the size of window being
correct.
---
 proppage.cc | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/proppage.cc b/proppage.cc
index d177f2d..76ec873 100644
--- a/proppage.cc
+++ b/proppage.cc
@@ -27,6 +27,11 @@
 #include "Exception.h"
 #include "LogFile.h"

+// Old version of Windows SDK doesn't define it.
+#ifndef WM_DPICHANGED
+#define WM_DPICHANGED 0x02E0
+#endif
+
 bool PropertyPage::DoOnceForSheet = true;

 /*
@@ -361,6 +366,21 @@ PropertyPage::DialogProc (UINT message, WPARAM wParam, LPARAM lParam)
                // similar delegation as with WM_MOUSEWHEEL
         return OnTimerMessage (message, wParam, lParam);

+      case WM_DPICHANGED:
+      {
+        // The following code is used to support the Per Monitor V2 DPI Awareness
+        // declared in manifest. Without this, the window will be too small
+        // or too big after DPI changed.
+        RECT* const prcNewWindow = (RECT*)lParam;
+        SetWindowPos(GetHWND (),
+          NULL,
+          prcNewWindow -> left,
+          prcNewWindow -> top,
+          prcNewWindow -> right - prcNewWindow -> left,
+          prcNewWindow -> bottom - prcNewWindow -> top,
+          SWP_NOZORDER | SWP_NOACTIVATE);
+        return TRUE;
+      }
       default:
         break;
     }
--
2.46.0.windows.1

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019