在Linux中以编程方式隐藏/显示窗口

3
我一直在各个地方寻找解决方法。
如何显示/隐藏Linux窗口(如果你喜欢,也可以最小化/取消最小化)。
我对任何语言的解决方案都感兴趣。
我使用Debian、Gnome、Metacity和Compton合成管理器(如果相关的话)。
注意:我尝试使用wmctrl,但是wmctrl的toggle,hidden功能已经损坏了很长时间,并且已经两年没有更新了,所以不太可能很快就能起作用。网络上充满了关于此问题的错误报告。
3个回答

7

6
也许你可以尝试这样做。它使用了类似@sleske建议的xdotool工具。我使用xbinkeys将脚本绑定到鼠标按钮上。
#!/bin/bash

file=/tmp/last_active_window
if [[ -s $file ]] ; then
    xdotool windowmap `cat $file`
    cat /dev/null > $file
else 
    wid=`xdotool getactivewindow`      
    xdotool windowunmap $wid
    echo $wid > $file
fi

1
有一个打字错误:使用_xbinkeys_。 - Ikem Krueger
我一直在使用非常类似的脚本,其中“windowmap”行是“xdotool search --class terminator windowmap windowsize 1920 1080 windowmove 1920 0”。这个脚本很好用,但不知何故,只能用一会儿。大约1-2小时后,或者使用几十次后?我不知道?...它就停止工作了。窗口实际上无法再映射,我不知道该如何修复它。简而言之,对于终端,我建议使用Guake。 - phil294

5

您可以使用以下方法隐藏和取消隐藏窗口

xdotool windowunmap id
xdotool windowmap id

你可以通过

xdotool getactivewindow

获取当前活动窗口的id,如果想要通过应用程序名称或pid搜索id,则可以使用此方法。

xdotool search --onlyvisible --name nameofapp
xdotool search --pid pid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接