linux - 使用 Qt(在 X11 上)检测窗口标题栏中的控制按钮位置

标签 linux qt x11 window-managers

某些 DE(在 Unity 或 OSX 上)将控制按钮(最小化、最大化、关闭)放置在标题栏的左侧。其他将它们放在右侧(例如在 Windows 上)。如何使用 Qt 检测当前环境使用的是哪一侧?如果没有“Qt 方式”来执行此操作,我该如何执行此平台特定方式(对于 linux)?

最佳答案

恐怕 Qt 对它运行的窗口管理器一无所知。它只向 WM 提供窗口内容

您可能想看看这个:Qt - how to detect whether the application is running on GNOME or KDE?

基本上它们会检测 WM 的 pid 是否按名称存在,但如果 WM 进程名称在某个时候被重命名,您的代码将会中断。

除此之外(这是特定于 Linux 的),Qt 确实可以告诉您它正在运行的平台 ( see documentation ),因此您可以推断出窗口控件的位移

关于linux - 使用 Qt(在 X11 上)检测窗口标题栏中的控制按钮位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42703420/

相关文章:

linux - 如何在 Linux 中提取/解压缩这个由多个部分组成的 zip 文件?

c++ - 如何创建一个一次只接受一个连接的 TCP 服务器?

linux - 在 Sles 12 SP2 上安装 puppet 大师

c - 如何使用xcb监视事件窗口的变化?

linux - lttng 中的错误时间戳

c++ - Linux fork/exec 到同一目录中的应用程序

c++ - 使用UDP协议(protocol)发送数据包

c++ - 我的 QSqlQueryModel 不在 ListView 中显示数据

linux - 如何增加 xdiskusage 中的字体大小?

清除带有桌面背景像素的 X11 窗口,并在其上放置带有透明像素的 XImage?