繁體中文

問題修復

切換面板不再把視窗送回主螢幕

你把 Usage 的面板(跳出的浮動小視窗)拖到第二台螢幕,換個面板樣式或主題後,它終於不會又跳回主螢幕。以前 Windows 只把主螢幕可用範圍交給程式,程式每次重新定位面板時便拿錯尺,硬把第二台螢幕上的視窗推回去;現在會依面板目前或記住的位置,找出它所在螢幕的可用範圍再定位,所以換樣式後仍留在原處。單螢幕也一併修好:面板切換時會暫留前一種樣式量到的高度,等真正高度測完,不再先用接近全螢幕的假高度把你拖好的位置往上擠。像搬家工人終於先看你住哪一棟,再把家具放回那一棟,而不是一律送回一樓。

English

BUGFIX

Panel switching keeps your window on its monitor

After you drag Usage's panel (a small floating pop-up) to a second monitor, switching its style or theme will finally leave it there. Windows had only handed the app the primary display's usable area, so each reposition used the wrong ruler and shoved the panel back onto the primary monitor. It now identifies the usable area for the display containing the panel's current or remembered position. On a single monitor, it also retains the previous style's measured height while the new one is measured, instead of briefly using a near-fullscreen placeholder that pushes your window upward. Like movers checking which building you live in before returning furniture, rather than always dumping it in the lobby.

原始 CHANGELOG

Original changelog切換面板不再把視窗送回主螢幕
**The Windows panel no longer snaps back to the primary monitor on every panel switch**: dragging the popover onto a second display and then switching panel style (or theme) forced it right back onto the primary monitor. Windows' `SPI_GETWORKAREA` API only ever reports the *primary* monitor's work area, and the window was clamped against that single rectangle on every reposition regardless of which monitor it actually lived on — so a window dragged onto a secondary display got clamped straight back onto the primary one the next time the panel reloaded. Placement now looks up the work area of whichever monitor the window's current (or saved) position falls on via `MonitorFromPoint`/`GetMonitorInfoW`, so a window on a secondary display stays there across panel switches. A related issue on a single monitor is fixed alongside it: switching panels reset the remembered content height to `None`, so the window was briefly clamped against each panel's near-fullscreen placeholder height (`PANEL_HEIGHTS`) before its real height was measured, which could shove a dragged window toward the top of the screen; the previous panel's measured height is now kept as the transitional estimate instead.