* Re: Patch for Windows 8.1+ HiDPI support
[not found] <CADvwsn46ucV0TRTpKBwtWW_6saJfu=7Z4bHk6Q+OQL1QV5jmzg@mail.gmail.com>
@ 2015-05-30 10:36 ` Eli Zaretskii
2015-06-02 13:52 ` Fabrice Popineau
0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2015-05-30 10:36 UTC (permalink / raw)
To: Michael Abrahams, Vitaly Takmazov; +Cc: emacs-devel
> From: Michael Abrahams <miabraha@gmail.com>
> Date: Wed, 27 May 2015 00:11:08 -0400
>
> > > diff --git a/nt/emacs-x64.manifest b/nt/emacs-x64.manifest
> > > index 5434e29..3cf56dd 100644
> > > --- a/nt/emacs-x64.manifest
> > > +++ b/nt/emacs-x64.manifest
> > > @@ -1,5 +1,5 @@
> > > <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> > > -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
> > > +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"
> > > xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
>
> > Did you verify that these attributes don't produce any problems on
> > older versions of Windows?
>
> This white paper describes support for the high-dpi tag starting in
> Windows Vista, and states on page 8 that it is ignored by Windows XP.
> I can verify the patch works in Windows 8.1.
>
> http://go.microsoft.com/fwlink/?LinkID=129586
Thanks. I pushed that part of the patch.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Patch for Windows 8.1+ HiDPI support
@ 2015-05-13 7:45 Vitaly Takmazov
2015-05-13 17:02 ` Eli Zaretskii
0 siblings, 1 reply; 4+ messages in thread
From: Vitaly Takmazov @ 2015-05-13 7:45 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 3180 bytes --]
Hello,
Emacs works perfectly on HiDPI monitor, I have patched ony two minor things:
1) declare dpi-awareness in manifest files, so Windows will not enable
"compatibility mode" and fonts now look crisp by default
2) remove unneeded OFN_ENABLEHOOK flag passed to GetOpenFileName, which
allow OS to show modern "open file" dialog. Legacy dialog not support HiDPI
mode and show too small icons.
Let me know if I miss something and/or select wrong place to report it
---
diff --git a/nt/emacs-x64.manifest b/nt/emacs-x64.manifestindex
5434e29..3cf56dd 100644--- a/nt/emacs-x64.manifest+++
b/nt/emacs-x64.manifest@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>-<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">+<assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"@@ -30,4 +30,9 @@
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
</application>
</compatibility>+ <asmv3:application>+ <asmv3:windowsSettings
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">+
<dpiAware>true</dpiAware>+ </asmv3:windowsSettings>+
</asmv3:application>
</assembly>diff --git a/nt/emacs-x86.manifest
b/nt/emacs-x86.manifestindex 7f09c56..d7053be 100644---
a/nt/emacs-x86.manifest+++ b/nt/emacs-x86.manifest@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>-<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">+<assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"@@ -30,4 +30,9 @@
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
</application>
</compatibility>+ <asmv3:application>+ <asmv3:windowsSettings
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">+
<dpiAware>true</dpiAware>+ </asmv3:windowsSettings>+
</asmv3:application>
</assembly>diff --git a/src/w32fns.c b/src/w32fns.cindex
ed11031..c04b9b0 100644--- a/src/w32fns.c+++ b/src/w32fns.c@@ -6680,7
+6680,7 @@ value of DIR as in previous invocations; this is standard
Windows behavior. */)
#endif
file_details_w->nFilterIndex = NILP (only_dir_p) ? 1 : 2;
file_details_w->Flags = (OFN_HIDEREADONLY | OFN_NOCHANGEDIR-
| OFN_EXPLORER | OFN_ENABLEHOOK);+ |
OFN_EXPLORER);
if (!NILP (mustmatch))
{
/* Require that the path to the parent directory exists.
*/@@ -6707,7 +6707,7 @@ value of DIR as in previous invocations; this
is standard Windows behavior. */)
file_details_a->lpstrTitle = prompt_a;
file_details_a->nFilterIndex = NILP (only_dir_p) ? 1 : 2;
file_details_a->Flags = (OFN_HIDEREADONLY | OFN_NOCHANGEDIR-
| OFN_EXPLORER | OFN_ENABLEHOOK);+ |
OFN_EXPLORER);
if (!NILP (mustmatch))
{
/* Require that the path to the parent directory exists. */
[-- Attachment #2: Type: text/html, Size: 7583 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Patch for Windows 8.1+ HiDPI support
2015-05-13 7:45 Vitaly Takmazov
@ 2015-05-13 17:02 ` Eli Zaretskii
0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2015-05-13 17:02 UTC (permalink / raw)
To: Vitaly Takmazov; +Cc: emacs-devel
> Date: Wed, 13 May 2015 10:45:53 +0300
> From: Vitaly Takmazov <vitalyster@gmail.com>
>
> Emacs works perfectly on HiDPI monitor, I have patched ony two minor things:
> 1) declare dpi-awareness in manifest files, so Windows will not enable
> "compatibility mode" and fonts now look crisp by default
> 2) remove unneeded OFN_ENABLEHOOK flag passed to GetOpenFileName, which allow
> OS to show modern "open file" dialog. Legacy dialog not support HiDPI mode and
> show too small icons.
> Let me know if I miss something and/or select wrong place to report it
Thanks.
> diff --git a/nt/emacs-x64.manifest b/nt/emacs-x64.manifest
> index 5434e29..3cf56dd 100644
> --- a/nt/emacs-x64.manifest
> +++ b/nt/emacs-x64.manifest
> @@ -1,5 +1,5 @@
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
Did you verify that these attributes don't produce any problems on
older versions of Windows?
> --- a/src/w32fns.c
> +++ b/src/w32fns.c
> @@ -6680,7 +6680,7 @@ value of DIR as in previous invocations; this is standard Windows behavior. */)
> #endif
> file_details_w->nFilterIndex = NILP (only_dir_p) ? 1 : 2;
> file_details_w->Flags = (OFN_HIDEREADONLY | OFN_NOCHANGEDIR
> - | OFN_EXPLORER | OFN_ENABLEHOOK);
> + | OFN_EXPLORER);
I don't see how can we remove this flag unconditionally, since we do
use a hook function, and for a good reason, AFAIR. Won't removing the
flag break the functionality for which we use the callback function
there? Did you try selecting "Directories" in the file chooser?
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-02 13:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CADvwsn46ucV0TRTpKBwtWW_6saJfu=7Z4bHk6Q+OQL1QV5jmzg@mail.gmail.com>
2015-05-30 10:36 ` Patch for Windows 8.1+ HiDPI support Eli Zaretskii
2015-06-02 13:52 ` Fabrice Popineau
2015-05-13 7:45 Vitaly Takmazov
2015-05-13 17:02 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.