After doing a complete new install of Windows 7 64 (only brought my KeePass database across) KeePass (version 2.22) does not remember to open on my secondary monitor. Under my old install (Windows Vista 64) KeePass use to always open on my secondary monitory but now under Windows 7 it keeps opening on my primary monitor. How can I get KeePass to remember to open on my secondary monitor?
John L. Galt
I just tried it with my KP - the password prompt appears on the primary window, but the actual KP database window appears right where I last closed it from.
It sounds like a Windows setting as opposed to a KP setting, especially since it used to work before.
The main KeePass window location is saved in the <MainWindow> element of the active config file (KeePass.config.xml). The possible config file locations are listed on the configuration help page. Settings are updated whenever KeePass exits. Check to see if the Keepass main window location is being updated correctly when you exit KeePass.
If you use an enforced config file (i.e. KeePass.config.enforced.xml) the <MainWindow> settings in this file will override the standard config file settings. The settings in this file are never automatically updated.
The file appears to get modified on exit (checking the Windows modified time stamp as well as having it open it notepad++ which then wants to reload the file after I have exited KeePass) but if I copy the KeePass.config.xml to my desktop, open KeePass, close it and then compare to two files (the one in %appdata%\KeepPass\KeePass.config.xml to the one I copied to my desktop) they are exactly the same.
I am not using KeePass.config.enforced.xml.
If the active config file is writable, then the current KeePass window coordinates should update on KeePass exit, and be stored in the <MainWindow> element in the Keepass.config.xml. I am not sure what could account for the behavior you describe.
Do the coordinates that are present in the KeePass.config.xml file correspond to the coordinates of the window that KeePass opens in? Have you tried closing KeePass while the window is on the primary screen at a new location? Do the coordinates update in the KeePass.config.xml?
Try setting KeePass to the default settings by renaming the keepass.config.xml while KeePass is not running. See if the <MainWindow> element starts updating on KeePass exit. Restore your settings by copying the renamed config file back when KeePass is not running.
If I close KeePass while the KeePass window occupies the left half of my screen (I don't have multiple monitors) the coordinates are stored as:
Other than that I don't have any additional suggestions.