Startup window position is calculated incorrectly in multi-monitor setups

Description

I have two monitors, the primary is 4K 16:9 (150% scaling) and the secondary is 1440p 21:9 (100% scaling). On the primary monitor, everything works fine; if I position the floating window somewhere and then close and reopen Mailspring, it’s still in the same location and the same size.

However on my secondary monitor, every time I close and reopen Mailspring, the window moves a little bit down and to the right. The amount of the movement increases the further the window is from the top-left corner of the display. If the window starts out in the very top-left corner, it barely moves at all. If it starts out centered along the top of the display, it moves significantly to the right but hardly at all vertically. Likewise if it starts out centered along the left it moves significantly down but hardly at all to the right.

The bug disappears when I change Windows scaling to be 100% on both monitors. I suspect that the relative positioning math doesn’t account for Windows display scaling.

To Reproduce…

Steps to reproduce the behavior:

  1. In a multi-monitor Windows setup, set the scaling of the two monitors to be unequal
  2. Open Mailspring
  3. Position the floating Mailspring window somewhere on the secondary monitor and note its position
  4. Quit Mailspring
  5. Open Mailspring, observe that the position has moved down and to the right

Expected Behavior

The Mailspring window should reopen in the same location as previously

Screenshots

Setup

  • OS and Version: Windows 10 Pro, Version 20H2, OS Build 19042.928, Windows Feature Experience Pack 120.2212.551.0
    • Installation Method: installer
  • Mailspring Version: 1.9.1-30ef802f

Additional Context

May be related to Mailspring will reset its window size after restart

I have the same issue. Very annoying.
Downgraded to 1.8.0 & deleted update.exe.