I took a stab at a rather old and popular request, with some positive results. Please see attached screenshot. Bug 39080 - Hide white space between pages in 'print layout' <https://bugs.documentfoundation.org/show_bug.cgi?id=39080> asks for a way to minimize vertical (between pages) whitespace. This is very similar to a feature originally found in MS Word. My implementation satisfies this request (patch attached, no UI or config changes though). There are two currently-open entries related to the above (and many more duplicates): Bug 37967 - VIEWING: Option like "MS WORD's normal view" needed <https://bugs.documentfoundation.org/show_bug.cgi?id=37967> and Bug 67698 - VIEWING: Implement 'Normal View' that includes the real page numbers in a 'Web Layout'-type view <https://bugs.documentfoundation.org/show_bug.cgi?id=67698> I think there is a lot of merit to these feature requests and would be good if we had a plan of how and what we'd like to add to Writer in both the short and long terms. To kick off the discussion, I have made an experimental and functional attempt the 'Hide Whitespace' feature, which I'm happy to report works (on my naive test cases). However, it's not clear if this should be a stand-alone feature, or (as some suggested) part of a new layout. There are three good possibilities that I can think of: 1) Make this feature independent of layout, and let the user enable/disable at will. 2) Add a new 'draft' layout that explicitly hides whitespace. 3) Hybrid: Hide whitespace is a rich feature that makes a new layout moot. 4) <Your Suggestion Here> *1::Hide Whitespace::* The feature (as I implemented and am suggesting,) when enabled, removes headers and footers, reduces the top and bottom margins to a bare minimum (could be configured) and removes the subsidiary lines (the corner lines of the page body). I also reduced the gap between pages to make the feature more effective (see attached screenshot if you haven't already). In practice, we probably would want to have an option to set the top/bottom margin sizes in this mode and can even have the page gap configurable. Page-break fly should be used to enable/disable the feature. *2::The Draft Layout::* Some have proposed (see entries above) to have a new "draft" layout (both as a product differentiator and because it's good for productivity). The idea is that in this mode no styles will be applied, just the text. Furthermore, it makes sense to have a continuous page (similar to the Hide Whitespace feature). However unlike the web layout, the page width will be used, probably without the side margins though. This doesn't sound trivial work at all. In fact, it might be rather complicated, considering that both rendering and layouting probably always take styles into account. So the changes can potentially be huge. But if this is a feature we want to pursue, it makes sense to plan according and forgo the Hide Whitesapce feature (although both could live together, which I actually like). *3::Hybrid::* The hybrid solution I'm proposing would be identical to the draft layout, except we will apply the styles as normal. There will be pagination, but pages will be free from margins (or have nominal ones). Pages would look continuous, with the page-break fly to mark boundaries of pages. This should be far easier than the draft layout (in fact, we might even make this a layout, rather than a feature). It will sacrifice only the request to suppress styles, which seems to be a less important request than reducing whitespace waste. ----- Who has strong opinions on this? Who does this affect the most? What do we want to see in Writer in 2016? Personally, I think adding the Hide Whitespace feature as I implemented with a config entry and UI would give us the biggest bang for the buck in the short term. We can later add either the hybrid suggestion or the draft layout separately at a later time. Disclaimer: I don't claim to have all the know-how to tackle this (though do have the skills). In fact, if it weren't for my experience in exploring unfamiliar code, this would have been virtually impossible to figure on my own (it took me a full day to create the patch below and two evening trying to figure out the UI changes to add a menu entry etc. and still need help with the UI). I still need help to implement any of the above in a production-ready way. Not to mention to decide what to implement! I also can't guarantee my time on a long-term project that this might turn into. However I took the first step and am willing to go much further. So let us hear your opinion! Thanks for reading, Ash
Attachment:
HideWhitespace.png
Description: PNG image
Attachment:
0001-tdf-39080-Hide-white-space-between-pages-in-print-la.patch
Description: Binary data
Attachment:
0002-tdf-39080-Hide-white-space-between-pages-in-print-la.patch
Description: Binary data