如何在现有窗口上设置覆盖重定向标志?

如何在现有窗口上设置覆盖重定向标志?

我想让一个窗口停留在所有其他窗口的顶部(即使另一个窗口是全屏的、具有焦点并且属于另一个父窗口)。在我的用例中,这些窗口是全屏演示和网络摄像头窗口(将录制在截屏视频中)。我认为最好的选择是使其成为一个覆盖重定向窗口,以强制窗口管理器不理会它。

但是,我不想更改创建窗口的程序的源代码,而是使用一些命令行工具来xprop执行此操作。我怎么做?

我尝试了以下类似的方法但无济于事。

# xprop -id 0x5c00001 -set override-redirect 1
xprop: error: unsupported conversion for override-redirect

答案1

您可以使用 xdotool 首先设置 override_redirect 标志

xdotool set_window --overrideredirect 1 0x5c00001

然后取消映射并映射窗口,以便窗口管理器注意到。

xdotool windowunmap 0x5c00001
xdotool windowmap 0x5c00001

窗口可能无法抓取键盘输入,只能抓取鼠标。要将其设置回窗口管理器的控制:

xdotool set_window --overrideredirect 0 0x5c00001
xdotool windowunmap 0x5c00001
xdotool windowmap 0x5c00001

相关内容