Skip to content

v1.0.19

Choose a tag to compare

@github-actions github-actions released this 23 Oct 17:02
· 3 commits to main since this release

本版更新

这一版把次级分区浮层的定位彻底修好了——根因不在距离算法,而在浮层窗口的定位时机;另外补上了两项次级分区的设置。

修复

  • 次级分区浮层越开越远(真正的根因):浮层窗口是按打开动画的缩放锚点定位的。带着上一次打开留下的锚点开层,窗口就落在「目标位置 − 锚点」,而两个宿主窗口随后写回的偏移量与上次相同(同一个次级分区反复点开),属性值没变 → WPF 不重新定位,偏差就固定留着:偏移量 = 图标中心到浮层左上角的距离。右展时约 28px(一直没被察觉),默认改成左展后放大到 176px,于是变成「不管什么情况都离图标老远」。现在每次开层前把锚点清零,浮层精确贴着图标展开,连点十次也不漂移。
  • 锚点改为图标本身:不再用图标格 / 列表行的容器当锚点(容器宽度会被当成图标宽度,格子越大离图标越远);列表视图的右键「打开」与悬停自动展开也一并走这条路径。
  • 工作区取浮层所在显示器:多屏下不再拿主屏工作区判方位,副屏上的浮层不会误判成「放不下」。

新增

  • 默认展开位置(设置 → 次级分区):左上 / 左下 / 右上 / 右下,默认左下。该方位放不下时先左右翻、再上下翻、最后斜对角,浮层不会甩到很远的地方。
  • 正方形次级分区:开启后展开的次级分区不显示名称与设置按钮,只保留正方形的图标网格(154×186 → 154×154)。

What's New

This release fixes the sub-zone flyout placement for good — the root cause was not the distance math but when the popup window gets positioned — and adds two sub-zone settings.

Fixed

  • Sub-zone flyout drifting farther on every open (real root cause): the popup window is positioned using the open animation's scale anchor. Opening with the anchor left over from the previous open puts the window at "target − anchor", and because the hosts write back an offset identical to the previous one (the same sub-zone opened repeatedly), the dependency property never changes and WPF never repositions — so the error stays. The error equals the distance from the icon centre to the flyout's top-left corner: about 28 px when opening to the right (long unnoticed), 176 px once the default became "left", which is why it suddenly looked "far away in every case". The anchor is now cleared before every open, so the flyout opens exactly attached to the icon — ten opens in a row no longer drift.
  • The anchor is the icon itself: no longer the icon cell or the list row container (whose width was being used as the icon width, pushing the flyout further away as cells grow). The list-view context-menu "Open" and hover auto-expand now use the same path.
  • Work area comes from the flyout's own monitor: multi-monitor setups no longer judge the placement against the primary monitor only.

Added

  • Default expand position (Settings → Sub-Zones): top left / bottom left / top right / bottom right, default bottom left. When that corner has no room the flyout flips horizontally first, then vertically, then diagonally, so it never jumps far away.
  • Square sub-zone: hides the name and settings button of an expanded sub-zone, leaving only the square icon grid (154×186 → 154×154).