X11

如何在現有視窗上設置覆蓋重定向標誌?

  • December 9, 2021

我想讓一個視窗保持在所有其他視窗的頂部(即使該其他視窗是全屏的,具有焦點並且屬於另一個父視窗)。在我的案例中,這些視窗是全屏展示和網路攝像頭視窗(將在截屏影片中錄製)。我認為最好的選擇是使其成為覆蓋重定向視窗,以強制視窗管理器不理會它。

但是,我不想更改創建視窗的程序的原始碼,而是使用一些命令行工具xprop來這樣做。我怎麼做?

我嘗試了以下方法無濟於事。

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

您可以使用 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

引用自:https://unix.stackexchange.com/questions/669224