Menu

KeePass window position on non-existent monitor

Grindax
2015-07-02
2015-08-06
  • Grindax

    Grindax - 2015-07-02

    If I have the KeePass window on my second monitor, then close its window so that it only has its icon in the tray, change my display settings so that Windows is only using my primary monitor rather than extending my desktop across two monitors (for compatibility with some old games, etc.), then relaunch KeePass from the tray, the KeePass window is then located on the non-existent second monitor and is not easily accessible. What I have to do to get it into view is Shift + right-click on the taskbar icon, choose 'Move' and then use the keyboard arrow keys to move the KeePass window from the non-existent second monitor over to my primary (only) monitor.

    With other applications, when their last stored window positions were on the second monitor and I relaunch them, their windows automatically get moved over.

     
  • Paul

    Paul - 2015-07-02

    KeePass has multi screen logic, but there are circumstances where this doesn't work for some reason.
    What version of KeePass are you using?

    cheers, Paul

     
  • Grindax

    Grindax - 2015-07-02

    I'm running the latest, v2.29

     
  • Paul

    Paul - 2015-07-02

    If you close KeePass, switch to one screen and run KeePass, does it work?
    Do you have write access to KeePass.config.xml in %appdata%\KeePass?
    What are the MainWindow X and Y values from %appdata%\KeePass\KeePass.config.xml and do they also exist in the config file in the KeePass installation directory - normally C:\Program Files (x86)\KeePass Password Safe 2?

    cheers, Paul

     
  • Grindax

    Grindax - 2015-07-02

    The values for MainWindow are present only in %appdata%\KeePass\KeePass.config.xml and I do have write access to it. The values there are getting stored successfully.

    When I close KeePass completely (i.e. 'Exit' from the tray), while its window is on the second monitor, these values are written to the configuration file:

    <MainWindow>
    <X>2179</X>
    <Y>142</Y>

    If I then change to just one monitor and launch KeePass, its window appears correctly on the only available monitor. After quitting, the values update appropriately.

    <MainWindow>
    <X>256</X>
    <Y>177</Y>

    So the issue is that when restoring KeePass from the tray, it is not doing the same monitor availability check that it does when it is launched from scratch.

     
  • Paul

    Paul - 2015-07-02

    Thanks for the details.

    cheers, Paul

     
  • Leigh Riffel

    Leigh Riffel - 2015-07-10

    I have the same issue when I make a remote desktop connection from my laptop with one screen to my desktop with two (where keepass is running). My findings concerning the config.xml location, write-ability, and behavior all match Grindax's.

     
  • Paul

    Paul - 2015-07-11

    With the RDP connection, how do you get KeePass to show if it's on the 2nd monitor?

    cheers, Paul

     
  • Leigh Riffel

    Leigh Riffel - 2015-07-13

    Paul,

    I right click on the little window that pops up from the taskbar and select move, then I hit the space bar and then an arrow key to engage the mouse in the move command and then I can then use the mouse to move the window into view. It's a non-trival set of steps that I've had to do so many times they are practically automatic.

     

    Last edit: Leigh Riffel 2015-07-28
  • Grindax

    Grindax - 2015-08-06

    Dominik, any chance it could be improved?

     
  • Dominik Reichl

    Dominik Reichl - 2015-08-06

    I've now added window repositioning code for some more cases.

    Here's the latest development snapshot for testing:
    http://keepass.info/filepool/KeePass_150806b.zip

    Thanks and best regards,
    Dominik

     

Log in to post a comment.