问题标签 [compiz]

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.

0 投票
1 回答
235 浏览

keyboard-shortcuts - 我可以为 Compiz 的“窗口概览”效果分配键盘快捷键吗

我最近在我的 CentOS 中启用了 Compiz 3D 效果。当我将鼠标移动到屏幕的右上角时,我得到了这种很棒的“窗口概览”效果。只是想知道我是否可以使用键盘快捷键来实现相同的效果。

我不想将鼠标移动到右上角,而是想要一个键盘快捷键,它可以给我“窗口概览”效果[显示所有打开/最大化的窗口]。

提前致谢。

0 投票
1 回答
1472 浏览

x11 - x11 - 如何将窗口保持在固定位置

我为 Compiz(窗口管理器)开发了一个插件。xfce 在我的测试机器上运行一个窗口管理器。我有两个垂直设置的显示器(顶部 1920x1080+0+0,底部 1920x1080+0+1080)。底部监视器设置为主监视器。此选项(主监视器)在例如 nvidia-settings 中可用。在我的代码中,我可以使用 xlib 函数XConfigureWindow当我想在 [0,0] 位置设置游戏窗口的左上角时。这很好用,但是当窗口处于全屏模式(覆盖两个显示器)并获得焦点时,它有时会改变位置。然后左上角的新位置从0、1080开始,我只能看到一半的窗口。也许这种行为与主屏幕选项有关。x11 窗口系统的主屏幕是什么意思?我不允许更改该选项。如何将窗口保持在固定位置?有没有我可以使用的 xlib 函数或标志?

0 投票
2 回答
656 浏览

opengl - 抓取指针时使用 XSendEvent 发送事件

我为compiz窗口管理器开发了一个插件。我想绘制一个转换后的窗口纹理并向该窗口发送一个事件。当转换的窗口是渲染器时,我抓取指针以控制所有 xevents,抓取指针的 compiz 函数的主要部分如下所示:

当一个指针被抓住时,我重新计算按钮按下坐标,并使用XSendEvent将事件发送到目标窗口。它适用于 google chrome 窗口或像这样的简单 xwindow 应用程序:link不幸的是,对于执行 OpenGL 渲染的窗口,它不能正常工作——我已经测试了 SDL 和 GLFW。这样的窗口接收点击事件,但参数(xbutton.x_root、xbutton.y_root、xbutton.x、xbutton.y)与我在 XSendEvent 中指定的不同。每次我发送事件时,这些参数都包含相同的值,这些值似乎是调用 xgrabpointer 之前的鼠标位置。当指针未被抓取时,事件(来自 XSendEvent)被正确接收。xsendevent、xgrabpointer 和执行 OpenGL 渲染的窗口之间必须存在某种特定关系。此外,客户端(Windows)实现可能会有所不同,因为我的代码仅适用于该特定窗口,或者我做错了什么?

编辑1

让我们考虑下面的例子:我有一个全屏窗口,然后我可以使用一个插件来绘制变换的窗口纹理(例如缩放变换 (0.5, 0.5, 1.0)),但是 X11 仍然看到一个全屏窗口,所以当我点击转换纹理事件之外的区域转到窗口。当我在插件中抓取指针时,我是所有事件的唯一接收者,然后我可以根据我的窗口变换重新计算坐标并将它们发送到窗口。

Edit2 当我使用 Freeglut 时,所有事件都会在指针被抓取时正确发送到目标窗口。库实现之间必须存在一些差异。

0 投票
1 回答
367 浏览

opengl - 分析窗口管理器 - glXSwapBuffers 性能

我在使用 expo 插件绘制桌面时检查了 Compiz 的性能。Compiz 和 nvidia-settings 中的 VSync 已启用。我这样测量时间:

当绘制命令需要 8 毫秒时,同步/交换时间大约等于 7 毫秒,因为当 vsync 开启时,在 glXSwapBuffers 之后使用 glFinish 应该会阻塞。当我在 expo 模式下运行更多 opengl 窗口时,paint 命令需要 18 毫秒,同步/交换时间约为 13 毫秒。怎么解释?为什么 glXSwapBuffers 这么慢?

此外,当我在 nvidia-settings 和 Compiz 中关闭 vsync 并生成需要 28 毫秒的绘图命令时,同步/交换时间约为 14 毫秒。

0 投票
1 回答
379 浏览

linux - Unable to install Compiz on linux

I am following the installation guide given in https://forums.kali.org/showthread.php?18570-how-to-install-compiz-on-Kali-1-0-4-No-sid-repo!..while I am trying to get through,I stuck at step 11.I am getting this error

Please give me a solution so that I can get through....

0 投票
1 回答
2106 浏览

linux - 如何使用 wmctrl 将窗口移出屏幕

我正在尝试以编程方式移动一个窗口,使其部分显示在屏幕上。例如,单击 VLC 标题栏并拖动它以便只有一半的窗口可见就可以了。

当我输出这个结果时wmctrl -lG效果很好:

但是,当我将其移回屏幕并尝试复制其位置时,它不起作用并将窗口剪辑到远端:

我已经在几个窗口管理器上进行了测试,它似乎在 xfwm 上运行良好,但在 compiz 上却不行。我可以设置一个标志或类似的东西来启用屏幕外的移动窗口吗?

0 投票
1 回答
348 浏览

python - 分配快捷键以启动python

我是一个 ubuntu 用户。如您所知,python promt 是一个非常有用的工具。我想用它替换我的计算器应用程序。我想要的是一个运行 python shell 的新终端,当我按下组合键时会显示出来。我可以使用 compiz-config 设置管理器将脚本分配给快捷键,但我无法得到我想要的结果。'gnome 终端;python3;' 启动一个没有在其上运行 python 的新终端。看起来它在 tty7 的后台启动 python。那么我怎样才能得到我想要的结果。

0 投票
1 回答
111 浏览

ubuntu - ubuntu中对话框周围的颗粒状显示

我在 Dell Inspiron 15 上运行 Ubuntu 16.04 LTS。它工作正常,显示器或笔记本电脑没有问题。但是今天早上,当我从睡眠模式打开笔记本电脑时,它开始在对话框周围显示白色颗粒背景,并且看不到角落按钮(关闭、最小化和最大化按钮)。当我将鼠标放在按钮上时,我可以看到按钮位置的纹理图案发生了某种变化。按钮虽然工作。

这是一个屏幕截图,

问题截图

如您所见,它周围的显示器很好。

更新:

在同一台笔记本电脑的 Ubuntu 18.04 中发现了类似的问题。在锁定屏幕上显示的时间附近可以看到相同的颗粒状细节。但这没什么大不了的,因为它只是在一秒钟左右就消失了。

0 投票
2 回答
1598 浏览

linux - Ubuntu 上的应用切换器中缺少 VSCode 图标

在我使用 Ubuntu Mate 20.04(使用 compiz)上的“Snap Store”安装 VSCode 之后。当我使用ALT+TABVSCode 图标的图标进行应用程序切换时丢失。

图标的原始路径位于/snap/code/43/meta/gui/com.visualstudio.code.png在此处输入图像描述

我只在 VSCode 的应用切换器中遇到了这个问题。

其他快照应用程序可以正常工作。 在此处输入图像描述

的内容/var/lib/snapd/desktop/applications/code_code.desktop