fix(launcher): remove Qt.Tool flag to fix window stacking#780
Conversation
Remove Qt.Tool from window flags to prevent QPA from setting root window as transient parent, which causes stacking order conflicts with dock popup. 移除 Qt.Tool 标志,避免与 dock popup 窗口排序冲突。 Log: 移除Qt.Tool标志修复窗口排序问题 PMS: BUG-364071 Influence: 移除后launcher窗口不再与dock popup属于同一group,排序恢复正常。
Reviewer's guide (collapsed on small PRs)Reviewer's GuideAdjusts the launcher applet window flags to remove Qt.Tool, preventing QPA from treating it as a transient tool window and resolving stacking order conflicts with the dock popup. Sequence diagram for launcher window flags affecting dock popup stackingsequenceDiagram
participant LauncherItem
participant QPA
participant DockPopup
alt [before: Qt.Tool included]
LauncherItem->>QPA: setWindowFlags(Qt.FramelessWindowHint | Qt.Tool)
QPA->>LauncherItem: setTransientParent(DockPopup)
LauncherItem->>DockPopup: [shares stacking group]
else [after: Qt.Tool removed]
LauncherItem->>QPA: setWindowFlags(Qt.FramelessWindowHint)
QPA-->>LauncherItem: [no transient parent set]
LauncherItem-->>DockPopup: [separate stacking group]
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
deepin pr auto review★ 总体评分:65分■ 【总体评价】
■ 【详细分析】
■ 【改进建议代码示例】 flags: {
if (DebugHelper.useRegularWindow) return Qt.Window
// 保持 Qt.Tool 标志以确保窗口作为工具窗口运行,
// 避免在任务栏显示并正确处理焦点丢失事件
return (Qt.FramelessWindowHint | Qt.Tool)
}
DWindow.enabled: !DebugHelper.useRegularWindow |
|
@justforlxz: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
BLumia
left a comment
There was a problem hiding this comment.
窗管:若产生启动器实际不会被置顶的关联影响,则窗管配合做调整
|
该函数会在计算同组的 transient parent时,将launchpad提升到同组最高 |
移除 Qt::Tool 有两个原因:
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: BLumia, justforlxz, zccrs The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Remove Qt.Tool from window flags to prevent QPA from setting
root window as transient parent, which causes stacking order
conflicts with dock popup.
移除 Qt.Tool 标志,避免与 dock popup 窗口排序冲突。
Log: 移除Qt.Tool标志修复窗口排序问题
PMS: BUG-364071
Influence: 移除后launcher窗口不再与dock popup属于同一group,排序恢复正常。
Summary by Sourcery
Bug Fixes: