@espenmn... funny you mention all of this.. I composed the response below about 2 hours ago but just got around to posting it. Your solution is intriguing, I'll have to look at that.
Regarding themesitesetup, I mentioned it because I'm assuming TTW all the way, but it means they would be on a installation with all those prerequisites.
Exactly, these hacks solve the problem but....
The problem we have is that #content, which is where everything gets rendered is wrapped in a .container. I've thought of using a Diazo rule to kill the wrapping .container but haven't gotten around to the experiment.
What I'd like to see:
It would be nice to make it possible for mosaic to use the .container and .container-fluid as they were designed.
So two options (both I have not explored):
Tweak barcelonta to ship with .container-fluid instead of .container by default.
Create Diazo rules that remove the .container dynamically when mosaic is enabled.
It would then mean that every mosaic row would be wrapped in a .container by default making each row fixed-width by default.
Then when a user selects fullwidth, it would switch to toggle .container to .container-fluid to make the row become fullwidth. I haven't dug deep enough to know what will happen with such an approach. Best case, the implementation will just work but I'm guessing that something will break with the current mosaic implementation if this is done.
That only works if you have a 1 column layout and no portlets left or right. For a 2 or 3 column layout you need the container class and then apply the grid.
It could be possible to fix this with CSS flex in the future (which would basically mean no grid at all).
That said: I can not see too many uses of full width with portlets.
The best solution to this could be to drop the portlets from the page and instead use a 'mosaic portlet container'
I could need some help with the diazo rule to get the css classes right (I need to adjust the ${central} value in default.xml rules
When I adjusted the rules to drop the portlets, I noticed that both left and right porlet managers use id="sidebar'.... this is probably not 'good' (`?)
My change to the rules is just:
(but would it be better to drop something 'earlier in the rules' `