Unfortunately, the documentation on the porting from KDecoration2 to KDecoration3 is very deficient.
In particular I find myself with the lack of windowId() in KDecoration3::DecoratedWindow which was previously present in KDecoration2::DecoratedClient.
I’m trying to mantain the material decoration with Locally Integrated Menu. It needs the windowsId. How can I exted DecoratedWindow to reimplement windowId?
Mmmh but DecoratedWindow has not a method for the Pid. Also the same Pid can have more than one window.
I’m trying to understand how kdecoration2 windowId() did work but I’m failing miserably.
Thanks but isn’t there a more immediate method? I’m just maintaining this decoration for X11 while waiting for someone to implement LIM in KDecoration so any decoration can use it. My idea was to extend KDecoration3:DecoratedWindow to restore windowId, but I don’t quite understand where KDecoration2 gets windowId from.
Before that I would like to have a suggestion on how to get around the problem. For example if there is a way to go back to the DecoratedWindow’s QWindow from there I would get the winId.
Before that I would like to have a suggestion on how to get around the problem
You use those new properties instead of looking them up yourself using the win id. You will need to adjust the app menu model, but it should a very trivial change
For example if there is a way to go back to the DecoratedWindow’s QWindow from there I would get the winId.
QWindow and GdkWindow are client side objects. KWin has no access to them because of address space isolation.