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

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

相关推荐
liulilittle7 小时前
FileStream C++
开发语言·c++·cocoa
Gomiko7 小时前
C/C++基础(五):分支
c语言·c++
点PY7 小时前
C++ 中 std::async 和 std::future 的并发性
java·开发语言·c++
不会代码的小猴7 小时前
C++的第九天笔记
开发语言·c++·笔记
fqbqrr8 小时前
2512C++,clangd支持模块
开发语言·c++
老王熬夜敲代码9 小时前
C++中的thread
c++·笔记·面试
qq_4798754310 小时前
C++ 鸭子类型” (Duck Typing)
开发语言·c++
崇山峻岭之间10 小时前
C++ Prime Plus 学习笔记033
c++·笔记·学习
暗然而日章10 小时前
C++基础:Stanford CS106L学习笔记 7 类
c++·笔记·学习
im_AMBER11 小时前
Leetcode 72 数组列表中的最大距离
c++·笔记·学习·算法·leetcode