The current Emacs trunk does not seem to honour display resolution change under Windows.
There is one case where it is annoying: when the frame is fullsized.
I have a laptop. I run `emacs -Q' , then `M-x toggle-frame-fullscreen'.
Next I connect an external display with a higher resolution.
The frame displays undecorated, but with a size of the previous screen resolution.
I need to call `M-x toggle-frame-fullscreen' twice to get back a fullsized frame.
I think that for handling at least this case, the following patch could be applied:
=== modified file 'src/w32term.c'
--- src/w32term.c 2014-01-06 17:22:52 +0000
+++ src/w32term.c 2014-01-22 05:49:45 +0000
@@ -4841,6 +4844,7 @@
dpyinfo->n_cbits = msg.msg.wParam;
DebPrint (("display change: %d %d\n",
(short) LOWORD (msg.msg.lParam),
(short) HIWORD (msg.msg.lParam)));
However I'm not sure of any possibly harmful side effects.
One thing I have observed is that if you start with a normal frame, lower the resolution to some point where the y resolution is less than the height of the frame, then the frame will become height-maximized. So if you raise the resolution again, it will stay height-maximized.
I'm fine with that, but I'm not sure what users would expect. Memorizing the frame geometry so that it will be restored in case of several resolution change maybe more complex.
Apologies if I missed obvious points or ways to handle that.