从外壳切换窗口的装饰?

时间:2014-02-01 21:03:57

标签: shell x11

有没有办法在给定窗口ID的情况下从脚本切换单个窗口的X11窗口装饰?如果这个问题的答案是特定于窗口管理器的,我正在使用openbox。

我认为xdotool可以这样做:

xdotool ID alt+space d

xdotool ID alt+space; sleep 1; xdotool ID d

弹出窗口确实出现了,但是在我的shell中输入了一些内容,而不是弹出窗口。

2 个答案:

答案 0 :(得分:2)

您可以在<keyboard>部分的openbox config~ / .config / openbox / $ {config} .xml中设置按键,如下所示:

 <keybind key="C-S-d">
   <action name="ToggleDecorations"/>
 </keybind>

..几乎在任何应用程序中按CTRL-SHIFT-d都可以切换装饰。

通过将<action name="ToggleDecorations"/>添加到<mousebind button="Left" action="DoubleClick"> <context name="Titlebar">部分,双击标题栏,我自动切换了最大化/阴影功能这样的部分:

<mousebind button="Left" action="DoubleClick">
  <action name="ToggleDecorations"></action>
  <action name="ToggleMaximize"/>
</mousebind>

所以窗户只是按照我的需要而装饰。希望它有所帮助,即使这个问题已经存在多年......

问候

答案 1 :(得分:1)

终于得到了我想要的东西。例如:

xdotool key -windowid 0x1200016 alt+space; sleep 1; xdotool key -windowid 0x1200016 End Up Return

结束将光标移动到弹出菜单中的最后一项。 Up将光标向上移动弹出菜单中的一个条目,其中“Un / Decorate”项目存在。 Return返回模拟按Enter键。

但是,我仍然会在未装饰/装饰的窗口中输入内容。

如果我试试这个:

xdotool key -windowid 0x1200016 alt+space End Up Return

垃圾被持续“打字”到未装饰/装饰的窗口中并隐藏我的鼠标光标,直到我按Control + c几次。

此外,openbox在几秒钟之后无法确认键盘按下和鼠标点击。

跟进: 有时xdotool和wmctrl不再做任何事情。此解决方案无法满足我的需求。