in my application there is a ResponsiveMainScreen with responsive SideMenu and a TopMainScreen with top menu. By default, the ResponseMainScreen is set via the cuba.web.mainScreenId setting.
I would like a user to be able to choose which MainScreen to work with at runtime. Is this possible?
It is an application property and cannot be changed at runtime. However, you can try to move UI from main screens to fragments and show the corresponding fragment after custom conditions.