< >
    首页

    图形环境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()
    
    有收获请打赏作者:
    备案号:苏ICP备19034936号/ 苏ICP备19034936号-1    站长邮箱:fuhuizn@163.com   版权所有

    苏公网安备 32050702010684号

    Powered by MarkdownWeb