deepin学习-设置自己窗口为最高层级

deepin-设置自己窗口为最高层级

  • 一、概述
    • [1. kwin 中的窗口层级定义](#1. kwin 中的窗口层级定义)
    • [2. dde-session-ui 中的消息弹窗](#2. dde-session-ui 中的消息弹窗)
    • [3. k-win的调试器](#3. k-win的调试器)

一、概述

窗口协议:wayland

在wayland的窗口下,有时候使用qt开发接口并不能满足我们的要求,就需要看窗管的写法。

cpp 复制代码
setWindowFlags(Qt::WindowStaysOnTopHint | Qt::Tool | Qt::X11BypassWindowManagerHint | Qt::WindowDoesNotAcceptFocus);

1. kwin 中的窗口层级定义

https://github.com/add-uos/deepin-kwin/blob/d16bcb0729550d94fece60637a5358b60f25eae9/src/utils/common.h#L49

值越大这个层级越高

2. dde-session-ui 中的消息弹窗

设置位置

https://github.com/linuxdeepin/dde-session-ui/blob/release/5.4.4/dde-osd/notification/bubble.cpp#L215

bash 复制代码
windowHandle()->setProperty("_d_dwayland_window-type", "override");

其实只需要设置上面那部分就行了

3. k-win的调试器

使用 d-feet 的位置如下

在 窗口调试器中就能查看窗口的层级了

相关推荐
我材不敲代码15 分钟前
Python 正则表达式进阶实战:从文本清洗到复杂信息提取
c++·python·正则表达式
我命由我1234519 分钟前
Android Framework P3 - MediaServer 进程、认识 ServiceManager 进程
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
计算机安禾22 分钟前
【c++面向对象编程】第48篇:Lambda表达式与std::function:OOP中的函数式编程
java·c++·算法
chxin1401634 分钟前
CMake 笔记
c++
C+-C资深大佬2 小时前
在C++中,const和#define有什么区别?
开发语言·c++
qq_401700413 小时前
Qt 多线程编程
开发语言·qt
春蕾夏荷_7282977253 小时前
MFC 简易成绩管理界面
c++·mfc·成绩
weixin_421725263 小时前
C语言、C++与C#深度研究报告:从底层控制到现代企业级开发的演进
c语言·c++·c·内存管理·编译模型
basketball6163 小时前
C++ 多态完全指南:同一个接口,千变万化的行为
java·开发语言·c++
NiceCloud喜云4 小时前
AutoClaw 接入自定义 Anthropic 端点:让 Kanban 工作流跑在自己的模型路由上
java·开发语言·c++·人工智能·python·eclipse·batch