请帮助我理解在 Linux 上的 Openbox 中使用热键组合调用的 Bash 脚本中尝试使窗口失去焦点时遇到的一个小问题的根源。
我的脚本中有几行:
wmctrl -F -r "${TERMINAL_TITLE}" -b add,shaded,below
xdotool key alt+Tab
第一行遮蔽了相关窗口,并将其“放置”在所有其他窗口下方,但它仍然保持焦点。理论上,第二行应该将焦点移动到堆栈中的下一个窗口......
...确实如此!但前提是脚本使用 gmrun 运行,或者在终端本身中运行(因为我试图隐藏和散焦的窗口是终端模拟器)。
但是,如果使用 Openbox 热键(这正是我需要的)调用脚本,或者在邻居终端中运行(仅用于测试),则它无法按预期工作。
无论如何,我都不是一个熟练的 bash 用户。我通常可以在这里或那里拼凑一个简单的脚本来满足我卑微的需求,但在这里我只是迷失了。将不胜感激的建议。
好吧,这可能是一个 XY 问题,至少在某种程度上是这样。目前无法使用 wmctrl 控制焦点。然而,如果我停止尝试这样做,而不是遮蔽窗口,只是将其最小化 - 我实际上实现了我需要做的事情。虽然这也不能用 wmctrl 完成,必须使用 xdotool:
xdotool windowminimize $( xdotool search --name "${TERMINAL_TITLE}" )
焦点开关。完成!