Persistent Windows

Important update!

It seems as though the latest AMD catalyst drivers or some other magical update as of April 22nd, 2015 no longer causes this issue! This project will be on indefinite hold and I welcome anyone taking it over and am happy to assist with anyone who has any questions on it.

What is PersistentWindows?

A poorly named utility that persists window positions and size when the monitor display count/resolution adjusts and restores back to it’s previous settings.

For those of you with multi-monitors running on a mixture of DisplayPort and any other connection, you can run this tool and not have to worry about re-arranging when all is back to normal.

The tool is a bit crude and brute forced.

Download alpha version here!

Interested in contributing or just checking out the source? Check out the CodePlex page

Persistent Windows - Functionality Survey

Feature Priority List

Release notes

  • 2015-02-27
    1. Modified app to run in SysTray
    2. Removed platform constraint so hopefully 32bit(x86) works
  • 2015-01-20
    1. Fixing another bug when restoring in many circumstances
  • 2015-01-18
    1. Improved Diagnostics, UI scrolls to bottom to be slightly more useful for me
    2. Changing capturing logic from events to timing again, until I have time to write unmanaged global window hooks
    3. Fixing various bugs
  • 2014-10-30
    1. Fixing some logging stuff
    2. Fixing freeze lock at startup
    3. More diagnostics
  • 2014-10-28
    1. Added even more logging to figure out what’s going on in some instances
    2. Pushed code to CodePlex
  •  2014-10-21
    1. Added actual logging to a file for diagnostics
    2. Also including the monitor top and left locations as a key since order doesn’t seem to be deterministic
    3. Removing retry logic since it did nothing but increase the time to restore
  • 2014-10-17
    1. Improved the diagnostic view to show more relavant information on what’s going on
    2. Major changes to the main processor so that it invokes the restore when it detects a resolution change
    3. Added logic to restore maximized windows correctly, by un-maximizing them then re-maximizing.
  •  2014-10-13
    1. Primary brute forced goals achieved. All windows appear to be restoring back to original location.

11 thoughts on “Persistent Windows”

  1. Great work! I’ve forked it here: https://github.com/lukefor/persistentwindows – currently with no license as I guess that’s up to you

    I’ve reduced the background CPU usage to almost nil and tried to fix the handling of mixed DPI setups. It’s not totally perfect yet, but it seems DisplayFusion suffers from the same bugs so I suspect the windows API is doing something a bit odd.

  2. Just wanted to say that this is still a very needed and very useful tool. September of 2018, Windows 10 (1803) still has this problem when switching inputs. I have tried just about everything with updating and messing with the video card drivers (Intel HD Graphics 530) and the Intel Graphics settings applet. Both are up-to-date. I even replaced the Generic PnP Monitor driver with the specific type of Monitor driver and messing with different Windows settings and nothing works except maybe/possibly some registry hacks that were truly hacks. It is very annoying and also interesting how no Linux distro suffers with this problem – just Windows.

    Thank you – Thank you for developing this program. Please keep it up-to-date as it is still needed even with the latest Windows 10 and latest graphics drivers.

  3. Just wanted to say that I have Windows 10 running Samsung QHD monitor and have been trying for some time to find a way to have my windows not packed up in the corner every time it sleeps. It is surprising to me that this should be a problem with standard drivers but it is. I have tried reg hacks etc but nothing worked.

    I saw one post that said to switch to HDMI but why go to technology that does not fully support my expensive monitor. I beat Google to death and finally found your program when I realized that I need the key word Displayport. With some trepidation about running programs from a source I was not familiar with, I installed and ran your program and now I don’t have to drag and resize my windows every time I come back to my beautiful monitor.

    I don’t know if you are still working on this project but I thought I would let you know that I found that it solved a problem for me. Thank you.

  4. Could this be adapted to eliminate the chaos that occurs for the relative placement of multiple monitors when one disappears?

    I have a large number of monitors, some oriented upside down (narrow bezel on three sides). If I power off one monitor, all of the others rearrange themselves into a single row.

  5. Very useful when I play games in full screen mode which, especially like older games, don’t support high resolution.

    I can stop windows resizing after the full screen game.

    My video card is GTX 660 but nVidia panel cannot help me

  6. Looks like there’s still some use (and demand) for this software. While the more recent AMD drivers seem to have somewhat mitigated this problem, at times the behavior persists and only with a reboot can I restore proper functionality. This can be inconvenient when performing work that requires several hours to complete. I’d like to see this developed further and minor bugs worked out.

  7. I tried to contact you via your contact me page but there is a captcha error.

    I am not sure what your name is but I want to thank you for this utility. I have a 4k Acer display connected to a NVidia card with Windows 7 and I tried everything like regedit, windowsKey+D and others and nothing worked upon waking from sleep. This is the only thing that works and it works perfectly for me. I also have a power strip that denies power to all devices when the computer sleeps.

    Please feel free to contact me. I could take over the project but this code should be built into Microsoft windows!

    Thanks again,
    Jeremy

  8. Left a survey response also. This tool is still needed and it needs one fix. It restores minimized window sizes properly but leaves them unminimized. I hope you will consider fixing that. Thanks

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.