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),来阻止隐藏或在隐藏后立即恢复显示。
代码:
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()