- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在 wayland-weston 桌面系统中安排两个应用程序的焦点。两个应用程序是:
我想让 App#1 始终位于顶部,而 App#2 始终位于底部,即使我杀死并重生其中任何一个。我也想在它们都是全屏应用程序时执行此操作。
我已经调查并发现了几种实现此目的的方法:
使用 wmctrl
在桌面系统中排列窗口:我已经试过了。但是,我得到 Cannot open display.
。后来我发现 wmctrl
不适用于 Weston/XWayland,仅适用于 X11。所以,我认为这不再是一个选项。
默认情况下,使 App#1 (Qt/QML) 始终位于最前面:为了解决这个问题,我尝试在 main.qml 中添加以下内容:
ApplicationWindow {
visible: true
visibility: "FullScreen"
width: 1920
height: 720
flags: Qt.WindowStaysOnTopHint|Qt.FramelessWindowHint
MainScreen{
anchors.fill: parent
}
}
使 App#2(Wayland 客户端 API/OpenGL)默认始终位于底部。老实说,我对 Wayland Client API 不是很熟悉,但如果可能的话,我可以在一些指导下探索它。
现在,我的重点是让 Qt 应用程序始终处于最前面。它适用于我的 PC,但不适用于目标平台。我的电脑是 Ubuntu 16.04,带有 Xorg。目标平台有 weston 合成器和 xwayland 后端。我不知道为什么它在目标中不起作用。它可能是桌面系统。任何指导和想法表示赞赏。谢谢
编辑: main.cpp
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
编辑 main.qml
import QtQuick 2.0
import QtQuick.Controls 2.0
import QtQuick.Window 2.2
import "app/main"
ApplicationWindow {
visible: true
visibility: "FullScreen"
maximumWidth: 1920
maximumHeight: 720
minimumWidth: 1920
minimumHeight: 720
width: 1920
height: 720
title: qsTr("App")
flags: Qt.FramelessWindowHint|Qt.WindowStaysOnTopHint
MainScreen{
anchors.fill: parent
}
}
编辑 Qt 版本PC端Qt 5.10.1,目标平台Qt 5.8.0
最佳答案
我已经打开了一个关于 Qt Bugs 的问题,并从 Qt 员工那里了解到,由于 Weston 合成器的限制,这是不可能的。因此,我要么创建自己的合成器,要么使用不同的合成器。
关于linux - Qt Make 应用程序在 Weston/Wayland 平台上始终处于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54474596/
我想网络上并没有“wayland 服务器编程初学者指南”,而 weston 的源代码看起来令人望而生畏。 是否有一个准系统 Wayland 服务器可以让我了解从哪里开始?我可以在 X 下运行我可以确认
显然这不是核心 Wayland 协议(protocol)的一部分,但我正在使用 Weston 并且 xdg-shell 扩展似乎有必要的方法: xdg_surface_set_window_geome
我正在做一个基于这个例子https://gitlab.gnome.org/-/snippets/39的项目。我更改了此函数:。对此:。根据XDG文档和对OBS Studio源代码的一些浏览,我现在应该
我有两个属于同一个 Wayland 显示的 EGL 窗口。 Windows 仅全屏显示。鼠标和键盘事件进入显示屏。如何判断事件属于哪个窗口? 在我看来,似乎是在 Wayland TOPLEVEL 窗口
有什么方法可以在 Wayland 中获取指针(鼠标)坐标,AFAIK Wayland 不允许在应用程序窗口外获取指针位置。 跟踪手势指针坐标的守护进程怎么样。 我有点想为 gnome Wayland
我使用 sway 合成器。 当我在控制台中更改用户时,我无法显示 wayland 图形界面(它适用于 X 应用程序) $ su - otherUser $ ./myApplicationWayland
我最近在我的开发笔记本电脑上安装了 Ubuntu 22.04 LTS。以前我运行的是 18.04,所以这是我第一次体验 Wayland。我在新光盘上进行了全新安装。我在重新安装 gitkraken 和
我见过这个问题:Can't a Wayland compositor do the window decorations like on X? ,但我想知道这个: 假设我使用纯 wayland 编写了
Wayland 中有剪贴板 API 之类的东西吗?或者我应该在哪里以编程方式将内容粘贴到剪贴板? 我在 Wayland 上运行 Fedora 24。 如果我觉得有一个剪贴板完全没问题,那么有代码示例(
当我尝试在线教程中的 wayland 代码时,它工作正常,并且在下面的代码中 *pixel++ = 0xffff; 行显示段错误, static void paint_pixels_A(void *t
如何使用新的默认显示服务器 Wayland 在 Ubuntu 17.10 上枚举桌面上的所有顶级窗口(并进一步获取其标题和其他属性)? 之前我们使用 X11/XLib 来实现这一点,但现在有了 Way
是否有将现有 WM 从 X11 移植到 Wayland 的示例?例如,将轻量级 WM(例如 dwm 、 wmii 、 awesome )移植到 Wayland。也许,移植 dwm到wayland 就是
我正在使用 Qt 并想检查是否有任何 Wayland session 正在运行。 现在我有这个只是用于测试代码,它按预期工作: QProcess process; process.setProgram
由于项目限制,我必须使用Wayland ver1.0.3。我将使用 Wayland 在嵌入式系统上开发应用程序。我不知道这个Wayland版本是否支持触摸操作,是否可以管理多窗口。desktop-sh
Wayland 服务器何时会 ping 客户端以检查它是否正在接收事件? 最佳答案 Wayland 服务器可以随时 ping,因此这取决于实现。它很可能会在它认为客户端应该确认事件的任何时候这样做。
所以我意识到这是一个似乎存在争议的问题。我听说人们对 Wayland 将有客户端窗口装饰感到不安,我恰好同意。这听起来根本不是个好主意。但是切换到 Wayland 的好处之一不是它更灵活吗?我不明白为
我想在我的系统中包含 Java GUI 支持,它只支持 Wayland 后端。我试图包含 OpenJDK-7-jre 包,但它似乎具有 X11 依赖性。我成功编译了“Openjre-8”包并包含在我的
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我从我的网络接收到 xy 数据,我想在 wayland 上使用 linux 控制鼠标位置。 我见过许多使用 X 库或 X 应用程序的源代码,但它无法在 Wayland 上运行。我也查看了 libinp
背景:我正在开发一款名为 ActivityWatch 的软件。记录您在计算机上所做的事情。基本上是尝试解决以下问题:RescueTime、selfspy、arbtt 等。 我们所做的核心工作之一是记录
我是一名优秀的程序员,十分优秀!