如何在我创建的 Qt Wayland 合成器中打开 firefox 等 gui 应用程序
How to open gui applications like firefox in the Qt Wayland compositor which I created
我创建了一个示例 Qt Wayland 合成器,QML 代码如下:
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.0
import QtWayland.Compositor 1.0
WaylandCompositor{
id:comp
WaylandOutput{
compositor:comp
sizeFollowsWindow:true
window:Window{
visible:true
width:700
height:700
Repeater{
model:shellSurfaces
ShellSurfaceItem{
shellSurface:modelData
onSurfaceDestroyed:shellSurfaces.remove(index)
}
}
}
}
ListModel{id:shellSurfaces}
WlShell{
onWlShellSurfaceCreated:{
shellSurfaces.append({shellSurface:shellSurface});
}
}
}
我知道我可以在命令后使用 --platform wayland
打开一个摇摆不定的 window。如何在 Wayland 合成器(例如 Firefox)中打开其他软件windows?
(我不知道显示服务器和 Wayland 合成器的基础知识。我认为我创建的合成器就像一个 window 管理器,我在其中打开的应用程序应该直接打开在合成器中,因为它在 window 管理器中打开)。
当您的合成器加载时,它会在您的计算机上创建一个套接字。在我的机器上,它位于 /run/user/1000
。它应该被命名为 0-wayland
.
为了启动应用程序,您需要通过环境变量将 wayland 显示传递给它。
示例:
启动火狐:WAYLAND_DISPLAY=wayland-0 XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE="wayland" firefox
启动 kcalc(KDE 的计算器):WAYLAND_DISPLAY=wayland-0 XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE="wayland" kcalc
我想你明白了。
我创建了一个示例 Qt Wayland 合成器,QML 代码如下:
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.0
import QtWayland.Compositor 1.0
WaylandCompositor{
id:comp
WaylandOutput{
compositor:comp
sizeFollowsWindow:true
window:Window{
visible:true
width:700
height:700
Repeater{
model:shellSurfaces
ShellSurfaceItem{
shellSurface:modelData
onSurfaceDestroyed:shellSurfaces.remove(index)
}
}
}
}
ListModel{id:shellSurfaces}
WlShell{
onWlShellSurfaceCreated:{
shellSurfaces.append({shellSurface:shellSurface});
}
}
}
我知道我可以在命令后使用 --platform wayland
打开一个摇摆不定的 window。如何在 Wayland 合成器(例如 Firefox)中打开其他软件windows?
(我不知道显示服务器和 Wayland 合成器的基础知识。我认为我创建的合成器就像一个 window 管理器,我在其中打开的应用程序应该直接打开在合成器中,因为它在 window 管理器中打开)。
当您的合成器加载时,它会在您的计算机上创建一个套接字。在我的机器上,它位于 /run/user/1000
。它应该被命名为 0-wayland
.
为了启动应用程序,您需要通过环境变量将 wayland 显示传递给它。
示例:
启动火狐:WAYLAND_DISPLAY=wayland-0 XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE="wayland" firefox
启动 kcalc(KDE 的计算器):WAYLAND_DISPLAY=wayland-0 XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE="wayland" kcalc
我想你明白了。