图形环境X11外部隐藏窗口
一、查看窗口ID
xdotool search --pid 进程ID
或者代码:
xwininfo -tree -root
确认下窗口还在不在。如果窗口在,那可以再用
xwininfo -stats -id 窗口ID
来进一步确认Map State是不是IsUnMapped
可以从外部观察到隐藏事件的发生,但没法知道是什么发起了隐藏命令。如果你不想你的程序窗口被其他程序隐藏,可以尝试在窗口中监视hideEvent(https://doc.qt.io/qt-5/qwidget.html#hideEvent)或者更底层的 native event(https://doc.qt.io/qt-5/qwidget.html#nativeEvent 或者 https://doc.qt.io/qt-5/qcoreapplication … ventFilter),来阻止隐藏或在隐藏后立即恢复显示。
二、你可以用如下python程序来模拟外部程序隐藏,需要安装python-xlib或python3-xlib,看你用python2还是python3
代码:
import Xlib.display
d = Xlib.display.Display()
###取消隐藏
d.create_resource_object('window', 窗口ID).unmap()
d.sync()
###隐藏
d.create_resource_object('window', 窗口ID).unmap()
d.sync()


