Add transientness support for InternalWindow and use it for KWin window menu

Qt knows the parent-child connection between different QWindows (menu->submenu), let's use that info to auto connect related InternalWindows in addition to manual setTransientFor()

This allows us to make the KWin window menu transient to underlying real window and the advanced submenu transient to the main window menu.


This is MR is a part of !8671


Basically it makes the KWin menu (and submenu) invisible for screencast if the Window below has excludeFromCapture set.

Also, this is very important for VR mode, where proper relationship between windows allows to properly position everything.

video demo:

hidden_window_menu.mp4

Visual illustration of transient windows:

transient_internal_windows_vr2.png

Edited by Stanislav Aleksandrov

Merge request reports

Loading