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

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

相关推荐
mit6.8241 小时前
[Meetily后端框架] Whisper转录服务器 | 后端服务管理脚本
c++·人工智能·后端·python
L_autinue_Star3 小时前
手写vector容器:C++模板实战指南(从0到1掌握泛型编程)
java·c语言·开发语言·c++·学习·stl
无小道5 小时前
c++--typedef和#define的用法及区别
c语言·开发语言·汇编·c++
mit6.8246 小时前
[Vroom] 位置与矩阵 | 路由集成 | 抽象,解耦与通信
c++·人工智能·算法
ChuHsiang6 小时前
【C++】模板(二)
c++
沙振宇6 小时前
【Qt 学习之路】Qt Android开发环境搭建:Ubuntu的Vmware虚拟机中的踩坑实录
android·qt·学习
鸥梨菌Honevid6 小时前
QT解析文本框数据——概述
数据库·qt·mysql
给自己记录用7 小时前
qt笔记(1)——Qtablewidget使用
笔记·qt
小林C语言8 小时前
11.9 C++对象指针
c++
oioihoii8 小时前
C++11中的std::minmax与std::minmax_element:原理解析与实战
java·开发语言·c++