23

是否有命令告诉 compiz 我们要放在前面并将焦点设置到特定窗口?我们应该如何识别该命令中的窗口?

这个问题背后的原因是以下用例

假设我们有一个 wiki 来记录我们发现的任何有趣的东西。使用键盘快捷键将带有我们的 Wiki 页面的浏览器窗口放在前面并立即开始输入然后用另一个组合键切换到我们之前工作的应用程序会非常方便

我知道ALT+TAB在最后两个使用的窗口之间切换,但不能支持更复杂的应用程序组合。例如浏览器+Eclipse+ Wiki

如果有类似描述的命令,很容易从 KDE 或 GNOME 界面为其添加快捷方式

4

5 回答 5

25

您正在寻找的是wmctrl。例如,添加一个键盘快捷键来调用类似的命令

wmctrl -Fa 'Wiki - Google Chrome'

以提升并激活具有该标题的窗口。

按标题、id 等选择窗口有多种方法。请参阅man wmctrl。运行可以获取窗口列表

$ wmctrl -l

我没有用 compiz 尝试过,但wmctrl应该适用于任何符合 EWMH 的窗口管理器。

于 2010-01-05T22:16:31.167 回答
4

这对 Compiz 有用:

xdotool windowactivate `xdotool search --onlyvisible --class firefox`
于 2011-01-06T10:49:24.777 回答
2

您需要将_NET_ACTIVE_WINDOW客户端消息发送到根窗口。这将提醒您请求激活特定窗口的任何兼容窗口管理器(包括 Compiz)。

请参阅EWMH 规范,特别是关于_NET_ACTIVE_WINDOW.

请注意,根据窗口管理器的配置,它可能会拒绝接受您的请求,或者让用户有机会忽略它。

于 2010-01-05T16:41:43.670 回答
1

我发现这个网页有一个你可以编译的示例源程序,它将把一个 X 窗口带到前面。

关键是X11功能XRaiseWindow

我想编写一个小程序并编写一个包装脚本或只是使程序本身健壮,然后将 Compiz 设置为将其附加到全局键盘快捷键会很容易。

于 2010-01-05T16:21:38.600 回答
0

小部件插件可以做你描述的事情。

  • 配置小部件插件以将所需的窗口标记为小部件(例如,通过匹配窗口标题或角色)。
  • 配置窗口规则插件以使小部件窗口出现在所有工作区(粘性)并跳过任务栏。

请参阅http://wiki.compiz.org/Plugins/Widget

于 2015-07-14T11:33:18.237 回答