有没有办法在给定窗口ID的情况下从脚本切换单个窗口的X11窗口装饰?如果这个问题的答案是特定于窗口管理器的,我正在使用openbox。
我认为xdotool可以这样做:
xdotool ID alt+space d
或
xdotool ID alt+space; sleep 1; xdotool ID d
弹出窗口确实出现了,但是在我的shell中输入了一些内容,而不是弹出窗口。
答案 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不再做任何事情。此解决方案无法满足我的需求。