searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

uos 窗口关系获取

2024-05-21 02:27:56
1
0

一、窗口调试工具

xwininfo、xdotool、xprop

  • 其源码如下,可根据使用的命令,找到对应的源码,提取出来使用
    image.png

二、查看所有打开的窗口

打开kwin调试终端,可以查看所有窗口

  • qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole
  • 查看所有窗口的状态,包括管理窗口和非管理窗口 (tool窗口)

三、如何判断是否为tool窗口

  • xwininfo的源码实现如下
if (attributes.c_class == InputOutput
  && attributes.map_state == IsViewable
  && attributes.override_redirect) {
  ...
  }

四、xwininfo 的其他使用

  • xwininfo 回车
    • 点击任意窗口,可以看到窗口的信息
  • xwininfo -id $winId
    • 可以查看对应id 的窗口信息

五、获取窗口层叠堆栈

  • 从右到左,窗口从顶部到底部
    xprop -root _NET_CLIENT_LIST_STACKING
    图1 目标窗口的层叠关系

image.png

图2 窗口层叠关系获取流程
image.png

0条评论
作者已关闭评论
w****0
1文章数
0粉丝数
w****0
1 文章 | 0 粉丝
w****0
1文章数
0粉丝数
w****0
1 文章 | 0 粉丝
原创

uos 窗口关系获取

2024-05-21 02:27:56
1
0

一、窗口调试工具

xwininfo、xdotool、xprop

  • 其源码如下,可根据使用的命令,找到对应的源码,提取出来使用
    image.png

二、查看所有打开的窗口

打开kwin调试终端,可以查看所有窗口

  • qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole
  • 查看所有窗口的状态,包括管理窗口和非管理窗口 (tool窗口)

三、如何判断是否为tool窗口

  • xwininfo的源码实现如下
if (attributes.c_class == InputOutput
  && attributes.map_state == IsViewable
  && attributes.override_redirect) {
  ...
  }

四、xwininfo 的其他使用

  • xwininfo 回车
    • 点击任意窗口,可以看到窗口的信息
  • xwininfo -id $winId
    • 可以查看对应id 的窗口信息

五、获取窗口层叠堆栈

  • 从右到左,窗口从顶部到底部
    xprop -root _NET_CLIENT_LIST_STACKING
    图1 目标窗口的层叠关系

image.png

图2 窗口层叠关系获取流程
image.png

文章来自个人专栏
UOS窗口管理
1 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0