Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.