问题标签 [wayland]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 如何在韦斯顿合成器中定位应用程序?
我正在使用 weston compositor 来显示/运行我的 qml 应用程序。但是内部合成器应用程序在不可预测的区域开始,这就是为什么有时部分应用程序会被隐藏的原因。每次启动,都会在一个新区域启动应用程序。是否可以在韦斯顿合成器中为应用程序指定特定的起始区域?
android - 使用 SDL 将 fb1 的内容绘制到屏幕上
我正在开发一个 Android 应用程序兼容性项目,该项目涉及让两个合成器绘制到 2 个不同的帧缓冲区,主合成器(口红,一个 Wayland 合成器)绘制到 fb0。在与 /dev/graphics/fb0 指向 fb1 的 fb 交换后,Surfaceflinger 绘制到 fb1。我想创建一个应用程序来获取 fb1 的内容并将其绘制到屏幕上,可能使用 SDL。但我不知道如何做到这一点。
c++ - 静态尺寸标签
有没有办法强制标签在文本更改时从不尝试重新调整大小?
我要解决的问题是,在我的系统上重新调整大小和重新绘制应用程序中的 500 多个小部件大约需要 300-400 毫秒。所有的小部件都在顶层窗口下显示窗口的小部件层次结构中,不同的视图存储在 Gtk::Stack 中。我有几个数据读数需要更新大约 4Hz。
我的沮丧是标签的最小尺寸永远不会接近分配的尺寸。即便如此,最小尺寸变化会触发层次结构中每个小部件的重新计算。
根据 gnome 邮件列表上的讨论,我尝试从标签切换到文本视图,但没有成功。我已经举了一个例子,说明随着规模的移动,事情是如何变化的。有什么方法可以修复左侧小部件的大小,以防止总窗口在它改变大小时重绘?
c++ - 如何通过 EGL 创建 OpenGL 3.3 或 4.x 上下文
我有兴趣制作一个不依赖于 X11 的 OpenGL 应用程序。正如我所看到的,这应该可以通过 EGL 实现。网上甚至有例子。但是如何控制上下文版本?下面的示例代码使用 2.1 版本创建了一个 OpenGL 上下文(在 Wayland 上),但在我的计算机上它显示支持的最高 OpenGL 版本是 3.3(可以使用 X 服务器中的 GLX 和 xlib 使用 glXCreateContextAttribsARB 创建这样的上下文)。所以我的问题是:我可以通过 EGL 以某种方式创建具有更高版本的 OpenGL 上下文吗?如果可以,如何?
示例代码:
wayland - Weston:自定义合成以复制窗口显示
我希望能够在合成器/窗口管理器级别复制一个窗口。
也就是说,当用户打开 a 时weston-terminal
,我想将其显示为 2 个窗口,并能够对这些窗口应用移动/旋转。
强调一下,我不想weston-terminal
打开 2,我真的需要在屏幕上复制窗口的内容。
韦斯顿有可能吗?我应该在哪里查看代码?
我已经编译了它并学会了旋转/移动窗口,weston-shell.c
但不知道在哪里照顾。
wayland - 如何在 Wayland 中设置窗口的 x,y 坐标?
显然,这不是核心 Wayland 协议的一部分,但我使用的是 Weston,xdg-shell 扩展似乎有必要的方法:
xdg_surface_set_window_geometry
所以我跑去wayland-scanner
创建 xdg 代码和头文件:
wayland-scanner code < ./weston-1.6.0/protocol/xdg-shell.xml > xdg_shell.c
wayland-scanner client-header < ./weston-1.6.0/protocol/xdg-shell.xml > xdg_shell.h
我使用的代码大致如下:
代码运行没有错误,但什么也不做。我正在使用库存的 Wayland 和 Weston 软件包在 Debian Jessie 上运行。
如果有其他方法xdg_shell
可能会起作用,我会全力以赴。
wayland - 获取现有的 wl_surfaces ?
是否可以获取现有的 wl_surfaces ?
这个想法是能够从应用程序中获取 wl_surfaces 并能够访问其所有数据,例如它的 wl_buffer
c++ - 如何在 Weston 的 Gstreamer(waylandsink) 渲染小部件上显示 Qt 小部件?
我想在 Gstreamer 渲染小部件上显示一个 Qt 按钮小部件,这是我在 QWidget 上渲染 gstreamer waylandsink 的源代码,
那么,如何在渲染小部件上显示按钮?
qt5 - 使用 Qt 5 Wayland QPA 插件通过 wl_surface 设置窗口透明度
我有三个使用 TI SDK 映像上的 Qt 5 Wayland 插件在 BeagleBone X-15 上独立运行的 Qt 5 应用程序。
当我启动它们时,它们会填满整个屏幕,以便启动的第一个应用程序被第二个覆盖,第二个应用程序被第三个覆盖。
如何修改启动的第二个和第三个应用程序的透明度,以便我可以看到启动的第一个应用程序的一些视图?
我尝试使用 Qt 修改窗口不透明度setWindowOpacity
,但 Wayland 插件显示:“此插件不支持窗口不透明度。”</p>
Qt 5 由 Lighthouse(或 Qt 平台)抽象构成,它是窗口系统和设备无关的架构。这意味着 Qt 可以根据需要在运行时为不同的窗口系统加载不同的后端插件。例如,在 Qt 上开发的应用程序可以分别使用 XCB 或 Wayland 的“-platform xcb”和“-platform wayland”运行(或设置
QT_QPA_PLATFORM
环境变量),并且在两个系统上应该具有相似的行为,而无需重新编译.Qt 抽象向应用程序开发人员公开了 Wayland 的两种原生资源:
wl_display
和wl_surface
. 使用这些类型,可以通过接口访问 Wayland 内部以处理特殊情况:获取显示全局处理程序非常简单,如下例所示:
和
wl_surface
:
如果我得到这个句柄wl_surface
,我怎样才能直接改变透明度?
c - Wayland API 中串行参数的用途是什么?
我最近一直在使用 Wayland 协议,许多功能都包含一个unit32_t serial
参数。这是来自wayland-client-protocol.h的示例:
此参数的目的是让客户端响应pong
显示服务器,将 的值传递给它serial
。服务器会将serial
它通过 ping 接收到的数据pong
与serial
它通过 ping 发送的数据进行比较。
还有许多其他函数包含这样的serial
参数。此外,API 中其他函数的实现通常会在执行某些工作之前增加全局wl_display->serial
属性以获取新值。我的问题是,一般意义上serial
,这个serial
参数的基本原理是什么?它有名字吗?例如,这是 IPC 的事情,还是事件驱动/异步编程中的常见做法?是不是有点像用于异步方法调用的 XCB“cookie”概念?这种技术是否在其他程序中找到(请引用示例)?
另一个例子是 glut,glutTimerFunc
这里讨论的是“异步调用的常用习语”。我很想知道这个成语是否有名字,以及它在哪里(请引用好)被讨论为异步/偶数驱动编程中的最佳实践或技术,例如延续或“信号和槽”。或者,例如,共享资源计数如何只是整数,但我们认为它们是“信号量”。