FWIW: the AbstractStage.visibleRect (or just oskRect, for simplicity) approach would have that covered and at the same time improve modularity by avoiding DesktopStage fiddling with SurfaceManager.inputMethodSurface and UbuntuKeyboardInfo, which is really of interest only to InputMethod.qml.
As this bug shows, DesktopStage doesn't want to know about SurfaceManager.inputMethodSurface or UbuntuKeyboardInfo (handling those is the job of InputMethod), it wants to know about the InputMethod component state, which is what actually gets displayed in from of DesktopStage.
FWIW: the AbstractStage. visibleRect (or just oskRect, for simplicity) approach would have that covered and at the same time improve modularity by avoiding DesktopStage fiddling with SurfaceManager. inputMethodSurf ace and UbuntuKeyboardInfo, which is really of interest only to InputMethod.qml.
As this bug shows, DesktopStage doesn't want to know about SurfaceManager. inputMethodSurf ace or UbuntuKeyboardInfo (handling those is the job of InputMethod), it wants to know about the InputMethod component state, which is what actually gets displayed in from of DesktopStage.