Repository navigation
Fix tray popup placement / 修复 Windows 托盘弹窗越界 - #18
Merged
Merged
Conversation
This was referenced Sep 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
English · 简体中文
English
Keep the existing tray panel visible and reachable when the tray is at the bottom or edge of a Windows monitor. This is a placement fix, not a tray redesign.
Problem and cause
With a bottom Windows taskbar, clicking the tray icon can show only the top of the popup: the existing code places its top at
tray_y + 4, so most of the window extends below the screen. That assumes a top menu bar. Horizontally, clamping only tox >= 0also ignores the right edge and monitors whose origin is negative.Focused changes
tray-popup. Remove the redundant JShide()call because the existing native “show main window” command already hides it. No wildcard-window or filesystem permission is added.The diff is 7 files, one commit. Account switching and quota calculations are unchanged. It does not include the separate UNKNOWN-quota/error-display changes from the earlier combined patch, clipboard work, other desktop actions, or Korean localization.
Verification and remaining manual check
Local Windows validation at head
c1368f1passed:That is 2 capability/scroll contract tests and 5 geometry tests covering taskbar edges, negative monitor coordinates, multiple scale factors, small work areas, and invalid metadata.
These tests verify layout rules and permissions in source; they do not prove every native multi-monitor/WebView2 interaction. The remaining desktop check is to click the tray at a bottom/right edge and on a secondary monitor with a different scale, then confirm that the panel and its actions stay accessible.
Independent review: one commit directly on upstream
main(f64a44a), with no dependency on the other split PRs.简体中文
修复 Windows 托盘位于屏幕底部或边缘时弹窗显示不全的问题,保留现有面板,不重新设计托盘 UI。
问题与原因
Windows 使用底部任务栏时,点击托盘图标可能只看到弹窗顶部。现有代码把窗口顶部放在
tray_y + 4,相当于按“顶部菜单栏下方弹出”的方式定位,窗口的大部分因此落到屏幕外。水平方向也只限制x >= 0,没有考虑右边界和坐标原点为负数的副显示器。本次修改范围
tray-popup增加事件订阅/取消订阅权限。现有“打开主窗口”原生命令已经会隐藏弹窗,因此移除重复的 JShide()调用,不为此扩大窗口或文件系统权限。**7 个文件、1 个提交。**不修改账号切换或额度计算;不包含此前综合补丁中的 UNKNOWN 状态、错误展示调整,也不混入剪贴板、其他桌面操作或韩语本地化。
验证依据与待实机确认项
在 Windows 上针对当前提交
c1368f1完成本地验证:2 个权限/滚动约束测试、5 个位置计算测试通过,覆盖任务栏边缘、负坐标显示器、多种缩放比例、小工作区和无效参数。
这些测试验证计算规则及源码中的权限约束,不代表已覆盖所有原生多显示器/WebView2 交互。仍需实机确认的重点是:在底部或右侧边缘点击托盘,以及在不同缩放比例的副显示器上点击,检查整个面板和底部按钮是否可访问。
**可独立审阅和合并:**直接基于 upstream
main(f64a44a)的单个提交,不依赖其余拆分 PR。