【问题标题】:Toggle decorations for a window from the shell?从外壳切换窗户的装饰?
【发布时间】:2017-08-17 00:21:43
【问题描述】:

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

我认为 xdotool 可以这样做:

xdotool ID alt+space d

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

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

【问题讨论】:

    标签: shell x11


    【解决方案1】:

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

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

    ..在几乎任何应用程序中通过按 CTRL-SHIFT-d 来切换装饰。

    双击标题栏时,我通过将&lt;action name="ToggleDecorations"/&gt; 添加到&lt;context name="Titlebar"&gt; 部分的&lt;mousebind button="Left" action="DoubleClick"&gt; 部分,使它们由最大化/阴影功能自动切换,如下所示:

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

    所以窗户只按照我的需要装饰。希望即使问题已经存在多年也能有所帮助......

    问候

    【讨论】:

      【解决方案2】:

      终于得到了接近我想要的东西。示例:

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

      End 将光标移动到弹出菜单中的最后一项。 在“取消/装饰”项目所在的弹出菜单中,向上将光标向上移动一个条目。 Return 模拟按 Enter 键。

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

      如果我试试这个:

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

      垃圾不断地“输入”到正在取消/装饰的窗口中,并隐藏我的鼠标光标,直到我按几次 Control+c。

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

      跟进: 有时 xdotool 和 wmctrl 停止做任何事情。这个解决方案不能满足我的需求。

      【讨论】:

        猜你喜欢
        • 2013-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-05
        相关资源
        最近更新 更多