如何编程切换到Compiz中的特定窗口?
-
18-09-2019 - |
题
是否有命令告诉Compiz,我们要将前面放在特定窗口上并将重点设置为特定窗口?我们应该如何标识该命令中的窗口?
这 原因 这个问题的背后是以下用例:
假设我们有一个Wiki可以记下我们发现的任何有趣的东西。拥有一个键盘快捷键以将浏览器窗口带到前面的浏览器窗口,然后立即开始键入浏览器窗口,然后再使用另一个键组合切换到我们之前正在工作的应用程序
我知道 alt + 标签 在最后两个使用的窗口之间进行切换,但不能支持应用程序的更复杂的组合。例如浏览器+ Eclipse+ Wiki
如果有这样的命令,则很容易从KDE或GNOME接口向其添加快捷方式
解决方案
您正在寻找的是 wmctrl。例如,添加键盘快捷键以调用类似的命令
wmctrl -Fa 'Wiki - Google Chrome'
用该标题提高和激活窗口。
有不同的方法可以按标题,ID等选择窗口。请参阅 男人WMCTRL。可以获得运行的窗口列表
$ wmctrl -l
我没有尝试过Compiz,但是 wmctrl 应适用于任何符合EWMH的窗口管理器。
其他提示
这对我有用:Compiz:
xdotool windowactivate `xdotool search --onlyvisible --class firefox`
您将要发送 _NET_ACTIVE_WINDOW
客户端消息到根窗口。这将提醒您要求使活动活动成为特定窗口的任何合规窗口管理器(包括Compiz)。
看到 EWMH规格, ,特别是 部分 _NET_ACTIVE_WINDOW
.
请注意,根据窗口管理器的配置,它可能会拒绝尊重您的请求,或者给用户忽略它。
我发现 这个网页 您可以编译一个示例源程序,将X窗口带到前面。
关键是x11函数 XRaiseWindow
.
我想编写一个小程序并编写包装器脚本或使程序本身强大,然后将其设置为将其附加到全局键盘快捷键,这将非常容易。
小部件插件可以执行您描述的事情。
- 配置小部件插件以将所需的窗口标记为小部件(例如,在窗口标题或角色上匹配)。
- 配置窗口规则插件以使所有工作区(粘性)上存在窗口小部件窗口并跳过任务栏。
不隶属于 StackOverflow