如何使 compiz 摇摆效果忽略单个窗口?

如何使 compiz 摇摆效果忽略单个窗口?

我有带有 Thunderbird/闪电日历的提醒/警报弹出窗口,我需要避免它被摇摆的 compiz 效果管理,因为我已经设置了另一条规则,使其在未最大化时具有最小尺寸(25x70),并且它似乎与摇摆相冲突;所以每次我点击时它都会摇摆不定,这很烦人......

但是我找不到任何办法将该窗口排除在摇晃之外...没有选择,而且整个互联网上似乎没有人问过这个问题:)

有小费吗?

谢谢!

答案1

我将尝试为您提供所有相关信息,但不提供屏幕截图,因为我使用了 ADD 助手,否则屏幕截图会变暗。转到 CCSM 中的 Wobbly 窗口插件,删除标签unknown,然后单击按钮+。将出现一个窗口,允许您将其添加到窗口列表中。打开您想要跳过的窗口后,单击按钮,Grab然后单击该窗口。然后单击复选框invert,然后OK。您就大功告成了,但请注意,据我所知,这不能从单个程序中选择单个窗口,只能选择选定的类型,因此将跳过所有此类型的窗口。不要担心,可能有一个解决方案适合您,第一个下拉框包含一个列表Types

Window class将会非常广泛:正常、对话框、模态对话框等。

Window Title是,您根据标题猜到了(如果我是 op,我可能会从这里开始)。

Window Name很可能是一个十六进制名称或 WM 赋予窗口的名称,并且可能会起作用,因为它可能不是针对一个窗口而言唯一的。

Window ID将是独一无二的,但可能会因会话而改变,我不确定我是否会尝试它。

Window Role是另一个通用标签:通知、面板、工具箱等。

Window Type很可能是另一个通用名称约定,并且可能不适合您。

注意:我可能对类型有误,但xprop在进行任何更改之前,我会先在窗口上尝试获取所有相关信息,以确保您选择了正确的类型。

xprop提供的信息超出了你的需要,请查找以下内容:

WM_NAME(STRING) = "Window Name"

WM_CLASS(STRING) = "windowclass", "Windowclass"

WM_TRANSIENT_FOR(WINDOW): window id # 0xc00003

WM_CLIENT_LEADER(WINDOW): window id # 0xc00001

注意:某些窗口(我认为是大多数)会给出如下输出:

_NET_WM_...

我相当肯定这些领域中的东西不是你想要的。

希望这可以帮助。

相关内容