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 的位置如下

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

相关推荐
江屿风3 分钟前
【c++笔记】类和对象流食般投喂(上)
开发语言·c++·笔记
是个西兰花15 分钟前
单列模式和C++中的类型转换
c++·单例模式·设计模式·rtti
小短腿的代码世界25 分钟前
打印不止是QPrinter:深入Qt Print Support框架的内核设计与跨平台输出管道
开发语言·qt
诙_27 分钟前
C++代码实践应用
开发语言·c++
Little At Air44 分钟前
LinuxOS阻塞队列模型(单生产者单消费者)
linux·数据结构·c++
念恒123061 小时前
基础IO(一切皆文件)
linux·c语言·c++·算法
Irissgwe1 小时前
四、进程控制(进程创建与终止)
linux·c++·进程·系统编程·fork·进程创建·进程终止
代钦塔拉1 小时前
第一篇:工业级 C++/Qt 项目头文件包含原则:告别循环依赖与编译玄学
开发语言·c++·qt
习惯就好zz2 小时前
在 Qt Creator 19.0.0 中配置 GitHub Copilot 的完整记录
qt·github·copilot
ZPC82103 小时前
规划后的轨迹,如何发给 moveit_servo 执行
c++·人工智能·算法·3d